All of lore.kernel.org
 help / color / mirror / Atom feed
* PulseAudio in Sato
@ 2015-04-21 15:49 Tanu Kaskinen
  2015-04-22 14:48 ` Iorga, Cristian
  2015-04-23  8:04 ` Burton, Ross
  0 siblings, 2 replies; 3+ messages in thread
From: Tanu Kaskinen @ 2015-04-21 15:49 UTC (permalink / raw)
  To: openembedded-core

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: PulseAudio in Sato
  2015-04-21 15:49 PulseAudio in Sato Tanu Kaskinen
@ 2015-04-22 14:48 ` Iorga, Cristian
  2015-04-23  8:04 ` Burton, Ross
  1 sibling, 0 replies; 3+ messages in thread
From: Iorga, Cristian @ 2015-04-22 14:48 UTC (permalink / raw)
  To: Tanu Kaskinen, openembedded-core

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-bounces@lists.openembedded.org [mailto:openembedded-core-bounces@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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: PulseAudio in Sato
  2015-04-21 15:49 PulseAudio in Sato Tanu Kaskinen
  2015-04-22 14:48 ` Iorga, Cristian
@ 2015-04-23  8:04 ` Burton, Ross
  1 sibling, 0 replies; 3+ messages in thread
From: Burton, Ross @ 2015-04-23  8:04 UTC (permalink / raw)
  To: Tanu Kaskinen; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 783 bytes --]

On 21 April 2015 at 18:49, Tanu Kaskinen <tanu.kaskinen@linux.intel.com>
wrote:

> 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.


Yes, this seems reasonable.

Ross

[-- Attachment #2: Type: text/html, Size: 1146 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-04-23  8:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-21 15:49 PulseAudio in Sato Tanu Kaskinen
2015-04-22 14:48 ` Iorga, Cristian
2015-04-23  8:04 ` Burton, Ross

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.