[pulseaudio-discuss] systemd socket activation support

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Sun Oct 19 10:10:03 PDT 2014


On Sat, 2014-10-18 at 20:43 +0200, Colin Guthrie wrote:
> Hi,
> 
> So while at linux plumbers attending the systemd hackfest, I thought a good
> use of the hacking time I had available would be to allow PulseAudio to be
> activated via systemd's socket activation system.

Great, thanks for the patches!

> The changes needed are actually quite minimal, and by doing this we can
> disable quite a lot of code in PulseAudio related to autospawning (which
> does still seem to cause some problems for some users) and we also get a few
> handy side effects too.
> 
> It becomes much easier, as a developer, to stop the system PulseAudio and run
> your own test instance i.e. you do not have to disable autospawning before
> killing the system PA - you just run:
> 
> systemctl --user stop pulseaudio.socket pulseaudio.service
> 
> and then run your test version.
> 
> A second advantage is that there is a relatively simple and documented way to
> run e.g. mpd as a normal user before you login via the systemd user lingering
> feature.
> 
> I've written a few docs about all this here:
> http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Software/PulseAudio/Documentation/User/Running/

It seems to be buried rather deep in the hierarchy ;) (I know, it's
impossible to use the web UI to create pages where you want. I've
learned to use git directly when I need to create a new wiki page.)

We support non-systemd systems too, so I think the page should be named
something else than just general "Running", given that the contents are
only about systemd. Or alternatively add similar documentation for
non-systemd systems too. Also, I don't think "the preferred method of
launching and running PulseAudio is via systemd" is an accurate
statement. I'm sure it's your preferred method, but you can't generalize
that to everyone :)

Patch 6 is missing. Any idea where it went?

I didn't really review the code, but I was very interested in how you
solved the problem of figuring out how to map the socket activation fd
to a given module-protocol-native-unix instance, so I took a quick look
on that. Looks like a very nice solution.

-- 
Tanu



More information about the pulseaudio-discuss mailing list