I guess that pulseaudio-client-conf-sato could be added to 
packagegroup-core-x11-sato or packagegroup-core-x11-sato-extended, so that the 
pulseaudio-client-conf-sato will get selected only for sato images.

-----Original Message-----
From: openembedded-core-boun...@lists.openembedded.org 
[mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf Of Tanu 
Kaskinen
Sent: Tuesday, April 21, 2015 6:49 PM
To: openembedded-core@lists.openembedded.org
Subject: [OE-core] PulseAudio in Sato

Hi,

I started the work to enable PulseAudio in Sato images 
(https://bugzilla.yoctoproject.org/show_bug.cgi?id=7517). The first problem I 
faced is that PulseAudio isn't starting automatically. When using PulseAudio in 
a graphical session, the normal way to start the server is to rely on 
autospawning, which means that when the first client tries to use PulseAudio, 
the server gets automatically started by libpulse. That's not working in Sato, 
because the graphical session runs as root in Sato, and autospawning is 
disabled when running as root. Why? 
Well, at least one reason for the disabling is that if the user runs some 
random stuff with sudo, starting another PulseAudio server in the background 
for root will likely mess up the audio in the user's main session when the two 
servers are trying to access the same hardware.

My first thought was that Sato should work more like a normal system, and not 
run the graphical session as root, but then I thought that there probably are 
embedded systems with graphics where it makes sense to run everything as root, 
so that's a valid use case to support. Therefore, it would make sense to modify 
PulseAudio so that it would allow autospawning for root. That should be 
configurable, however, and root autospawning should be enabled only on these 
everything-running-as-root systems.

I'm planning to add a new option to /etc/pulse/client.conf: 
"allow-autospawn-for-root". I'm not sure how to meet the goal of disabling that 
option by default, and enabling it in Sato. I think it could be done so that 
the default version of client.conf would be packaged in the main pulseaudio 
recipe, and then there would be a separate recipe, 
"pulseaudio-client-conf-sato", which would replace the default 
pulseaudio-client-conf package. (Currently client.conf is in the libpulse 
package, so it would have to be split off into its own package
first.) I don't know if this is the best way to do it, feedback would be very 
welcome.

--
Tanu
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to