[pulseaudio-discuss] system wide daemon (war: Re: using pulseaudio with simultaneous playback from mutiple X sessions)
Martin Steigerwald
Martin at lichtvoll.de
Thu Nov 10 05:14:54 PST 2011
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.
From my point of view this already looks overengineerd without adding
support for simultaneous playback in several sessions.
For me this doesn´t feel quite right and I think it would be a rather good
idea, when members of the Linux audio stack community - yes I know, other
operating systems are involved, too - meet together, define clear layers
and then mixing is there, managing audio for applications is there, codecs
are there and thats it.
> So I say this: If you want system-wide PA, use system-wide PA. We do
> not recommend it, but it doesn't mean we'll sneak into your house at
> night and kill your kittens. You have extra overhead which may affect
> latency in games or voip and you have to make sure your users are in
> the pulse-access group. You might have to tweak certain files to get
> bluetooth working, you may not be able to use certain funky features
> such as network support etc. (tho' it should still be possible to
> teach SSH how to deal with PA natively - either per-user or
> system-wide, just like it does with X11 but sadly I just don't see it
> happening anytime soon).
Well I now have a somewhat working setup again. It is - except sound
quality, where it exceeds - not up to par with the previous out of box
configuration that for some reason now even without pulseaudio did not work
anymore.
Thanks,
--
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7
More information about the pulseaudio-discuss
mailing list