From f44ba092651aa75055e109e04b4164ea92ae7fdc Mon Sep 17 00:00:00 2001
From: Lennart Poettering
I often hear noises when playing back with Polypaudio, what can I do?
-There are to possible solutions: run polypaudio with argument +
There are to possible solutions: run pulseaudio with argument --high-priority=1 and make yourself member of the group realtime, or increase the fragment sizes of the audio drivers. The former will allow Polypaudio to activate SCHED_FIFO high priority scheduling (root rights are dropped immediately after this). Keep in mind that this is a potential security hole!
The polypaudio executable is installed SUID root by default. Why this? Isn't this a potential security hole?
+The pulseaudio executable is installed SUID root by default. Why this? Isn't this a potential security hole?
Polypaudio activates SCHED_FIFO scheduling if the user passes --high-priority=1. This will only succeed when executed as root, therefore the binary is marked SUID root by -default. Yes, this is a potential security hole. However, polypaudio +default. Yes, this is a potential security hole. However, pulseaudio tries its best to minimize the security threat: immediately after -startup polypaudio drops all capabilities except +startup pulseaudio drops all capabilities except CAP_SYS_NICE (At least on systems that support it, like Linux; see man 7 capabilities for more information). If the calling user is not a member of the group realtime (which is required to have a GID < 1000), root rights are dropped immediately. This means, you can -install polypaudio SUID root, but only a subset of your users (the +install pulseaudio SUID root, but only a subset of your users (the members of the group realtime) may make use of realtime scheduling. Keep in mind that these users might load their own binary -modules into the polypaudio daemon which may freeze the machine. The +modules into the pulseaudio daemon which may freeze the machine. The daemon has a minimal protection against CPU hogging (the daemon is killed after hogging more than 70% CPU for 5 seconds), but this may be circumvented easily by evildoers.
I want to run polypaudio only when it is needed, how do I do this?
+I want to run pulseaudio only when it is needed, how do I do this?
Set autospawn = yes in client.conf. That -configuration file may be found either in /etc/polypaudio/ or -in ~/.polypaudio/.
How do I list all polypaudio modules installed?
+How do I list all pulseaudio modules installed?
-polypaudio --dump-modules
+pulseaudio --dump-modules
Add -v for terse usage instructions.
-How do I use polypaudio over the network?
+How do I use pulseaudio over the network?
-Just set $POLYP_SERVER to the host name of the polypaudio +
Just set $POLYP_SERVER to the host name of the pulseaudio server. For authentication you need the same auth cookies on all sides. For -that copy ~./polypaudio-cookie to all clients that shall +that copy ~./pulseaudio-cookie to all clients that shall be allowed to connect.
Alternatively the authorization cookies can be stored in the X11 server.
Is polypaudio capable of providing synchronized audio playback over the network for movie players like mplayer?
+Is pulseaudio capable of providing synchronized audio playback over the network for movie players like mplayer?
Yes! Unless your network is congested in some way (i.e. transfer latencies vary strongly) it works perfectly. Drop me an email for experimental patches for MPlayer.
-What environment variables does polypaudio care about?
+What environment variables does pulseaudio care about?
The client honors: POLYP_SINK (default sink to connect to), POLYP_SOURCE (default source to connect to), POLYP_SERVER (default server to connect to, like ESPEAKER), POLYP_BINARY (the binary to start when autospawning a daemon), POLYP_CLIENTCONFIG (path to the client configuration file).
@@ -126,31 +126,31 @@ be allowed to connect.A brilliant guy named Lennart Poettering once wrote a nifty tool for that purpose: bidilink. To -connect to a running polypaudio daemon try using the following commands:
+connect to a running pulseaudio daemon try using the following commands: -killall -USR2 polypaudio -bidilink unix-client:/tmp/polypaudio/cli+
killall -USR2 pulseaudio +bidilink unix-client:/tmp/pulseaudio/cli
BTW: Someone should package this great tool for Debian!
New: There's now a tool pacmd that automates sending SIGUSR2 to the daemon and running a bidilink like tool for you.
How do the polypaudio libraries decide where to connect to?
+How do the pulseaudio libraries decide where to connect to?
The following rule applies:
Why the heck does libpolyp link against libX11?
+Why the heck does libpulse link against libX11?
The Polypaudio client libraries look for some X11 root window properties for the credentials of the Polypaudio server to access. You may compile Polypaudio without X11 for disabling this feature.