system wide daemon (war: Re: using pulseaudio with simultaneous playback from mutiple X sessions)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Colin, hi everyone else,

Colin, thank you very much for your detailed answers.

Am Mittwoch, 9. November 2011 schrieb Colin Guthrie:
> You have to run a system-wide daemon. It's not something we actively
> support because this use case is very much in the minority and it
> causes a lot of headaches and unnecessary overhead - one of the
> primary disadvantages is the inability to support ho tplugging
> properly (because any kind of system-wide process will totally ignore
> the users carefully configured seat configurations etc), causes
> obvious security problems relating to eavesdropping and also cannot
> use SHM memory and thus causes a lot more overhead when dealing with
> client-server communications - i.e. you need to copy the audio data
> over the wire.

Now I had it that without Pulseaudio and thus using dmix, I could indeed 
hear sound in both sessions simultaneously, but Amarok after each song 
Amarok goes on playing and I do not hear anything anymore. Then I have to 
switch sessions, press pause, press play again to hear something for the 
duration of another song. This has been no matter whether I use GStreamer, 
Xine or VLC as phonon backend. Maybe its some remmant of Pulseaudio 
configuration in Phonon that I would have to remove manually? This used to 
work, but I do not really want to dig into it as also the audio quality is 
hearable lower than with Pulseaudio. Audio quality is some thing that 
Pulseaudio seems to get right.

After quite some consideration I am now trying this system-wide approach 
as I thought it would be the easiest to setup, cause I really want to call 
it a day for now. It was more painful as I thought it would be.

With Debian Sid and pulseaudio 1.1-1 package I now have:

merkaba:/etc/default> grep "[A-Z]=" pulseaudio
PULSEAUDIO_SYSTEM_START=1
DISALLOW_MODULE_LOADING=0

The second one seems to be necessary in order to get the usb sound card to 
work. I do not understand why tough. Cause even when its necessary to load 
a module, its still a system event, I do not see how a user is involved 
here despite me plugging in the card - but the system would not be able to 
map this to a concrete Linux user account anyway. Anyway without it, the 
usb sound card did not appear in pavucontrol.

merkaba:/etc> getent group | grep pulse       
audio:x:29:pulse
pulse:x:116:
pulse-access:x:117:martin,ms

I think the last time I tried system mode I accidentally used pulse as 
group to add my users to. That may well explain why it didn?t work back 
then.

And then since I saw a user wide pulseaudio spawned nonetheless sometimes:

merkaba:/etc> grep autospawn pulse/client.conf 
autospawn = no

Surprisingly when I do this, a user wide daemon is *always* autospawned. 
This does not match the option name. I will try this once again after 
sending out this mail, but I tried two times already. 

I also have no user client.conf:

merkaba:~> LANG=C ls -l /home/{martin,ms}/pulse/client.conf
ls: cannot access /home/martin/pulse/client.conf: No such file or directory
ls: cannot access /home/ms/pulse/client.conf: No such file or directory

Whats going on?

And then Pulseaudio almost mutes audio playback when starting the second 
session, KMix shows a low initial volume. But when I put the volume back 
up its not as load as before. That was with the USB soundcard. alsamixer 
-c1 still showed a volume of 50, although I dragged it up to 80/90 in KMix 
which pavucontrol reflected in its display.

So this still is far from what I had without any configuration before, 
except for the audio quality, which is better. But at least I can hear 
sound in both sessions now and Amarok keeps playing loudly after a song 
switch.

> So while conceptually it's easy to say "you should support it, it's
> easy" you end up having to build a whole security manager into PA
> itself rather than rely on underlying systems. If we were to ever do
> that we'd get an equally vocal group of people saying "why the hell
> are you building security policy into PA, that's totally not it's job
> you idiots".

Well for software to be used by users, I tend to believe that the use 
cases define the job of the software. And it seems that even here is some 
support for this use case.

If the underlying mechanisms do not have any means for (part-wise) session 
sharing, I think they do not cover at least some use cases. So I think 
this might be something to fix in the underlying mechanisms.

Like dmix, if its has inferior sound quality, IMHO should be fixed up in 
ALSA instead of replicating it in Pulseaudio.

For now I see several heavy duplications of functionality

- pulseaudio replaces parts of ALSA
- pulseaudio replaces parts of Phonon or the other way around as you may 
see it

and then there is gstreamer, vlc, xine.


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux