[pulseaudio-discuss] pulseaudio on maemo/n800

Jim Carter jimc at math.ucla.edu
Tue Apr 29 11:59:32 PDT 2008

On Tue, 29 Apr 2008, Colin Guthrie wrote:
> Kwan Hong Lee wrote:
> > I have been able to build pulseaudio on maemo 4.0 by getting the lates
> > libltdl.
> > 
> > I have added the pulse user, pulse group, pulse-access group and and
> > added pulse to the audio group.  I added normal user to pulse-access.
> I'm not really sure how this applies in the context of a Maemo, but
> certainly on desktop targets it's generally not advised any more to run
> a single pulseaudio daemon, but rather run one pa daemon per user
> accessing sound. 

Maemo normally uses a system-wide instance of ESD running as root. 
Maemo is intended for a PDA-like context where the person in physical 
possession is the authorized console user, and they tend to commingle 
system-level and userspace functions.  It's a very different world from the 
usual desktop or server system, and IMHO there are advantages to the
desktop way of doing things.

One of the Nokia developers is working on getting PA and Bluez (A2DP) 
working, though I don't think he has officially stated for which OS he's 
doing this project.  Apparently the differences between the ARM and Intel 
instruction sets make it hard to meet the desired CPU load goals due to 
optimization issues.  Maybe he'll have comments.

> > user$ pulseaudio
> > W: core-util.c: setpriority(): Permission denied
> > E: main.c: Failed to create '/tmp/pulse-user': Permission denied
> Can you create the folder /tmp/pulse-user yourself? Can you chown and
> chmod OK on the filesystem? Perhaps it is a FAT filesystem and pulse is
> failing because the chown/chmod is not working? (not looked at the code
> for a while so not 100% sure on that one).

The filesystem for /tmp is tmpfs, and for the main flash disc is jffs2.  
But the expansion flash "discs" are typically vfat, hiss, boo.  

If /tmp/pulse-user had already been created as root, probably mode 700, 
that would explain the second "permission denied".  Pick one style, remove 
the directory, and likely everything will be fine.  

> > If I run as root
> > 
> >  pulseaudio --system
> > W: core-util.c: setpriority(): Permission denied
> > E: main.c: Failed to create '/var/run/pulse': Permission denied

/var/run is a symlink to /tmp/.run, root:root 755.  If PA is configured to 
drop privileges, i.e. change to user "pulse", and this happens before the 
PID file is created, that would explain this error.  Then again, it could 
also be a pre-existing PID file created as root.  

Have you added "user" to group pulse-rt in /etc/group?  Although modern PA 
goes through PolicyKit to get realtime priority, I imagine it can fall back 
to the group method when PolicyKit is not available, as in Maemo-4.0.  

James F. Carter          Voice 310 825 2897    FAX 310 206 6673
UCLA-Mathnet;  6115 MSA; 405 Hilgard Ave.; Los Angeles, CA, USA 90095-1555
Email: jimc at math.ucla.edu  http://www.math.ucla.edu/~jimc (q.v. for PGP key)

More information about the pulseaudio-discuss mailing list