support it. By default, PulseAudio will terminate itself when it
notices that it takes up too much CPU time. This is useful as a
protection against system lockups when real-time scheduling is
support it. By default, PulseAudio will terminate itself when it
notices that it takes up too much CPU time. This is useful as a
protection against system lockups when real-time scheduling is
debugging PulseAudio with tools like <manref name="valgrind"
section="1"/> which slow down execution.</p></optdesc>
</option>
debugging PulseAudio with tools like <manref name="valgrind"
section="1"/> which slow down execution.</p></optdesc>
</option>
<p>User <arg>pulse</arg>, group <arg>pulse</arg>: if PulseAudio is running as a system
daemon (see <opt>--system</opt> above) and is started as root the
<p>User <arg>pulse</arg>, group <arg>pulse</arg>: if PulseAudio is running as a system
daemon (see <opt>--system</opt> above) and is started as root the
this user and group. If PulseAudio is running as a user daemon
this user and group has no meaning.</p>
</section>
this user and group. If PulseAudio is running as a user daemon
this user and group has no meaning.</p>
</section>
when it needs it to refill the hardware playback
buffers. Unfortunately this is a security risk on most systems,
since PulseAudio runs as user process, and giving realtime
when it needs it to refill the hardware playback
buffers. Unfortunately this is a security risk on most systems,
since PulseAudio runs as user process, and giving realtime
that the user misuses it to lock up the system -- which is
possible since making a process real-time effectively disables
preemption.</p>
that the user misuses it to lock up the system -- which is
possible since making a process real-time effectively disables
preemption.</p>
on trusted systems. To do that start PulseAudio with
<opt>--realtime</opt> (see above) or enabled the appropriate option in
<file>daemon.conf</file>. Since acquiring realtime scheduling is a
on trusted systems. To do that start PulseAudio with
<opt>--realtime</opt> (see above) or enabled the appropriate option in
<file>daemon.conf</file>. Since acquiring realtime scheduling is a
system configuration need to be made to allow them to the calling
user. Two options are available:</p>
system configuration need to be made to allow them to the calling
user. Two options are available:</p>
<file>/etc/security/limits.conf</file>, a resource limit of 9 is recommended.</p>
<p>Alternatively, the SUID root bit can be set for the PulseAudio
<file>/etc/security/limits.conf</file>, a resource limit of 9 is recommended.</p>
<p>Alternatively, the SUID root bit can be set for the PulseAudio
startup, however retain the CAP_NICE capability (on systems that
support it), but only if the calling user is a member of the
<arg>pulse-rt</arg> group (see above). For all other users all
startup, however retain the CAP_NICE capability (on systems that
support it), but only if the calling user is a member of the
<arg>pulse-rt</arg> group (see above). For all other users all
- capababilities are dropped immediately. The advantage of this
- solution is that the real-time priviliges are only granted to the
+ capabilities are dropped immediately. The advantage of this
+ solution is that the real-time privileges are only granted to the
PulseAudio daemon -- not to all the user's processes.</p>
<p>Alternatively, if the risk of locking up the machine is
PulseAudio daemon -- not to all the user's processes.</p>
<p>Alternatively, if the risk of locking up the machine is
scheduling can be enabled instead (i.e. negative nice level). This
can be enabled by passing <opt>--high-priority</opt> (see above)
when starting PulseAudio and may also be enabled with the
scheduling can be enabled instead (i.e. negative nice level). This
can be enabled by passing <opt>--high-priority</opt> (see above)
when starting PulseAudio and may also be enabled with the
levels can only be enabled when the appropriate resource limit
RLIMIT_NICE is set (see <manref name="setrlimit" section="2"/> for
more information), possibly configured in
levels can only be enabled when the appropriate resource limit
RLIMIT_NICE is set (see <manref name="setrlimit" section="2"/> for
more information), possibly configured in
following environment variables and change their local configuration accordingly:</p>
<p><arg>$PULSE_SERVER</arg>: the server string specifying the server to connect to when a client asks for a sound server connection and doesn't explicitly ask for a specific server.</p>
following environment variables and change their local configuration accordingly:</p>
<p><arg>$PULSE_SERVER</arg>: the server string specifying the server to connect to when a client asks for a sound server connection and doesn't explicitly ask for a specific server.</p>