Subject: Bug#845090: [Pkg-alsa-devel] Bug#845090: /usr/bin/alsamixer: alsamixer -c0 starts pulseaudio

From: Juha Jäykkä <[email-masked]>
Date: Sat, 26 Nov 2016 19:09:17 +0000

> What do you want to tell me here? It seems your pulseaudio
> installation is a bit buggy. I can't reproduce.

Apart from the bit about /usr/bin/pulseaudio being a script which simply 
records that pulseaudio has been started and then execs /usr/bin/
pulseaudio.real, pulseaudio and alsamixer are pristine jessie. The 
asound.conf, which does not refer to pulseaudio at all, is modified; 
default.pa is also modified, but it should not even be read in this case.

I'm sorry I forgot to remove that debugging script at /usr/bin/pulseaudio but 
the result is the same with that removed.

> default.pa comes from pulseaudio or xrdp package. There is no
> instruction to start pulse in any alsa package.

You are quite correct. The culprit is /usr/share/alsa/alsa.conf.d/pulse.conf 
placed there by the package pulseaudio. If you install pulseaudio and that 
file then exists, can you then reproduce? (Please see my very last paragraph, 
too!)

Is this now a bug in pulseaudio? And what severity? I'd say this breaks 
unrelated software!

> It seems that pulse is fired up by mpd?

I think pulseaudio gets started by libasound.so.2 when it parses alsa.conf.d 
because pulseaudio has placed the above file there.

Interestingly enough, said file starts with a comment:

# PulseAudio alsa plugin configuration file to set the pulseaudio plugin as
# default output for applications using alsa when pulseaudio is running.

I would agree that this is probably the most commonly desired behaviour *when* 
pulseaudio is running. However, I would not expect this to start a fresh 
pulseaudio daemon when one is *not* running yet!

One further bit of information which I just realised might be relevant: there 
is a pulseaudio server running on the machine, but it belongs to another user. 
Could it be pulseaudio/alsa just naively think "pulseaudio running, let's use 
it" without considering whether they actually *can* use it or not? And when it 
cannot be used, a new daemon is fired up? Just guessing.

Cheers,
Juha