You are not logged in.

#1 2017-12-18 11:20:10

brynildsen
Member
Registered: 2017-12-18
Posts: 14

[SOLVED] Starting Guitarix invokes pulseaudio

I do a lot of music recording with jack running. While I use jack, I always kill pulseaudio, because I don't need it to run in these moments, and to save a bit of ram.

I have a weird problem that I can't seem to figure out. When I start up guitarix, it somehow loads up pulseaudio and I can not stop or kill pulseaudio, it just constantly respawns until I exit guitarix. When guitarix is exited I can kill pulseaudio in a normal way and it stays dead.

My /etc/pulse/client.conf has the autospawn = no uncommented. I have no browsers, flashplayer, mediaplayers, pavucontrol, volumeapplets or anything else running that would make the call for pulseaudio. My window manager is i3-wm with "gaps", I not using any DE or loginmanager, so there shouldn't be any autostart stuff. I tried installing XFCE to test, it kept pulseaudio from respawning when starting guitarix, until first reboot, where the problem returned.

None of my other music software starts up pulseaudio in that way, and I'm trying to figure out why this happens (mostly because I am curious), and how to avoid it. The team from Guitarix tells me that it shouldn't have anything to do with pulseaudio and it isn't a dependency either.

I use:
extra/qjackctl 0.4.4-1
community/jack2 1.9.10-6
community/guitarix2 0.35.6-2

Why is this happening and where and how do I start debugging?

Last edited by brynildsen (2017-12-18 17:32:00)

Offline

#2 2017-12-18 12:04:02

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,668

Re: [SOLVED] Starting Guitarix invokes pulseaudio

Is your ALSA conf defaulting to the pulse backend and maybe that way pulse gets invoked? FWIW on Arch autospawn = no in client.conf is a noop, pulseaudio is invoked via systemd sockets so you will want to look into (and mask to prevent the autostart), the pulseaudio services

systemctl --user start/stop pulseaudio.service
systemctl --user mask/unmask pulseaudio.socket #This is a static socket that invokes pulseaudio as soon as it is called by something, since it's static, disabling won't do much so you'll have to mask it

further info on systemd user services: https://wiki.archlinux.org/index.php/Systemd/User

If that doesn't help, you might want to check what guitarix is calling by starting it with

strace guitarix

Last edited by V1del (2017-12-18 12:05:51)

Offline

#3 2017-12-18 12:04:24

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,523
Website

Re: [SOLVED] Starting Guitarix invokes pulseaudio

brynildsen wrote:

I always kill pulseaudio... I have no browsers, flashplayer, mediaplayers, pavucontrol, volumeapplets or anything else running that would make the call for pulseaudio. My window manager is i3-wm.

So why do you have pulse installaed?  If you have nothing that uses it and you work so hard to prevent it from starting, just uninstall it.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#4 2017-12-18 12:08:53

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,668

Re: [SOLVED] Starting Guitarix invokes pulseaudio

I'm reading that as in that he actively uses pulseaudio for everyday tasks unless he is doing music production.

Offline

#5 2017-12-18 12:17:51

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,523
Website

Re: [SOLVED] Starting Guitarix invokes pulseaudio

Ah, could be.  It still might be worth considering whether it is needed for those tasks.  If it's a nuisance at those times, it had better provide some benefit at others to balance that out.  And usually when I hear people talk about the benefits of pulse, it would be for music production, not everyday use.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#6 2017-12-18 17:18:40

brynildsen
Member
Registered: 2017-12-18
Posts: 14

Re: [SOLVED] Starting Guitarix invokes pulseaudio

V1del wrote:

I'm reading that as in that he actively uses pulseaudio for everyday tasks unless he is doing music production.

Exactly.. I used to avoid installing pulseaudio a couple of years ago, but now I actually don't mind it, since many other applications prefer it being present. On my high spec desktop I don't feel it, but on my slower laptop having pulseaudio running also, gives me xruns in jack and I cant get my desired latency settings.

V1del wrote:

systemctl --user start/stop pulseaudio.service
systemctl --user mask/unmask pulseaudio.socket #This is a static socket that invokes pulseaudio as soon as it is called by something, since it's static, disabling won't do much so you'll have to mask it.

This worked perfectly. I seem to have forgotten the --user , I would have expected them to show up just with the

systemctl list-units --all

option I used earlier when trying to figure out on my own, but they don't.

I am still curious about what makes pulseaudio start. I grepped the lines containing "pulse" from strace guitarix if anyone could point me in the right direction.

openat(AT_FDCWD, "/usr/lib/libcanberra-0.30/libcanberra-pulse.la", O_RDONLY) = 15
read(15, "# libcanberra-pulse.la - a libto"..., 4096) = 1040
openat(AT_FDCWD, "/usr/lib/libcanberra-0.30/libcanberra-pulse.so", O_RDONLY|O_CLOEXEC) = 15
openat(AT_FDCWD, "/usr/lib/libpulse.so.0", O_RDONLY|O_CLOEXEC) = 15
openat(AT_FDCWD, "/usr/lib/pulseaudio/tls/x86_64/x86_64/libpulsecommon-11.1.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/pulseaudio/tls/x86_64/x86_64", 0x7fffed5e30e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/pulseaudio/tls/x86_64/libpulsecommon-11.1.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/pulseaudio/tls/x86_64", 0x7fffed5e30e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/pulseaudio/tls/x86_64/libpulsecommon-11.1.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/pulseaudio/tls/x86_64", 0x7fffed5e30e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/pulseaudio/tls/libpulsecommon-11.1.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/pulseaudio/tls", 0x7fffed5e30e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/pulseaudio/x86_64/x86_64/libpulsecommon-11.1.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/pulseaudio/x86_64/x86_64", 0x7fffed5e30e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/pulseaudio/x86_64/libpulsecommon-11.1.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/pulseaudio/x86_64", 0x7fffed5e30e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/pulseaudio/x86_64/libpulsecommon-11.1.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib/pulseaudio/x86_64", 0x7fffed5e30e0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/pulseaudio/libpulsecommon-11.1.so", O_RDONLY|O_CLOEXEC) = 15
openat(AT_FDCWD, "/usr/lib/pulseaudio/libasyncns.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/pikatu/.pulse/client.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/pikatu/.config/pulse/client.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/pulse/client.conf", O_RDONLY|O_CLOEXEC) = 18
open("/etc/pulse/client.conf.d", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
memfd_create("pulseaudio", MFD_ALLOW_SEALING) = 18
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/pulseaudio.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/pulseaudio.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/pulseaudio.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/pulseaudio.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/pulseaudio.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/pulseaudio.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
mkdir("/run/user/1000/pulse", 0700)     = -1 EEXIST (File exists)
openat(AT_FDCWD, "/run/user/1000/pulse", O_RDONLY|O_NOCTTY|O_NOFOLLOW|O_CLOEXEC) = 19
lstat("/run/user/1000/pulse", {st_mode=S_IFDIR|0700, st_size=80, ...}) = 0
connect(19, {sa_family=AF_UNIX, sun_path="/run/user/1000/pulse/native"}, 110) = 0
 

Last edited by brynildsen (2017-12-18 17:29:16)

Offline

#7 2017-12-18 17:26:12

2ManyDogs
Forum Fellow
Registered: 2012-01-15
Posts: 4,645

Re: [SOLVED] Starting Guitarix invokes pulseaudio

Please use [ code ] tags instead of [ quote ] tags for things like strace output.

https://bbs.archlinux.org/help.php#bbcode

Last edited by 2ManyDogs (2017-12-18 17:26:45)

Offline

#8 2017-12-18 17:27:48

progandy
Member
Registered: 2012-05-17
Posts: 5,190

Re: [SOLVED] Starting Guitarix invokes pulseaudio

libcanberra is a gtk plugin for sound themes. It is loaded for all gtk applications if it is installed. This in turn loads pulseaudio to play these sound effects.

If you uninstall libcanberra or switch it to gstreamer and configure gstreamer to use jack by default, it should work.

Last edited by progandy (2017-12-18 17:30:14)


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#9 2017-12-18 17:30:10

brynildsen
Member
Registered: 2017-12-18
Posts: 14

Re: [SOLVED] Starting Guitarix invokes pulseaudio

2ManyDogs wrote:

Please use [ code ] tags instead of [ quote ] tags for things like strace output.

https://bbs.archlinux.org/help.php#bbcode

Fixed big_smile  Thx.

Offline

#10 2017-12-18 17:33:14

brynildsen
Member
Registered: 2017-12-18
Posts: 14

Re: [SOLVED] Starting Guitarix invokes pulseaudio

progandy wrote:

libcanberra is a gtk plugin for sound themes. It is loaded for all gtk applications if it is installed. This in turn loads pulseaudio to play these sound effects.

If you uninstall libcanberra or switch it to gstreamer and configure gstreamer to use jack by default, it should work.

Thx for the help smile

Problem SOLVED

Offline

#11 2017-12-18 17:33:24

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,668

Re: [SOLVED] Starting Guitarix invokes pulseaudio

Please use [ code ] tags not quote tags for pasting output

educated guess, the gtkmm dependency loads libcanberra for some notification/accessibility mumbo jumbo which in turn is configured to use pulse (and afaik doesn't have jack support) and invokes pulseaudio.

They don't show up with your command because that refers to the system instance and not the user instance of systemd, a distinct difference for all relevant commands wink

If this is [SOLVED] please edit the title of your first post.

Edit: Oh snaked left and right

Last edited by V1del (2017-12-18 17:34:17)

Offline

Board footer

Powered by FluxBB