1 <?xml version="1.0"?><!--*-nxml-*-->
2 <!DOCTYPE manpage SYSTEM "xmltoman.dtd">
3 <?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?>
6 This file is part of PulseAudio.
8 PulseAudio is free software; you can redistribute it and/or modify it
9 under the terms of the GNU Lesser General Public License as
10 published by the Free Software Foundation; either version 2.1 of the
11 License, or (at your option) any later version.
13 PulseAudio is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
16 Public License for more details.
18 You should have received a copy of the GNU Lesser General Public
19 License along with PulseAudio; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
24 <manpage name="pulse-daemon.conf" section="5" desc="PulseAudio daemon configuration file">
27 <p><file>~/.pulse/daemon.conf</file></p>
29 <p><file>@pulseconfdir@/daemon.conf</file></p>
33 <p>The PulseAudio sound server reads configuration directives from
34 a file <file>~/.pulse/daemon.conf</file> on startup, and when that
35 file doesn't exist from
36 <file>@pulseconfdir@/daemon.conf</file>. Please note that the
37 server also reads a configuration script on startup
38 <file>default.pa</file> which also contains runtime configuration
41 <p>The configuration file is a simple collection of variable
42 declarations. If the configuration file parser encounters either ;
43 or # for it ignores the rest of the line until its end.</p>
45 <p>For the settings that take a boolean argument, the values
46 <opt>true</opt>, <opt>yes</opt>, <opt>on</opt> and <opt>1</opt>
47 are equivalent, resp. <opt>false</opt>, <opt>no</opt>,
48 <opt>off</opt>, <opt>0</opt>.</p>
52 <section name="General Directives">
55 <p><opt>daemonize= </opt> Daemonize after startup. Takes a
56 boolean value, defaults to "no". The <opt>--daemonize</opt>
57 command line option takes precedence.</p>
61 <p><opt>fail=</opt> Fail to start up if any of the directives
62 in the configuration script <file>default.pa</file>
63 fail. Takes a boolean argument, defaults to "yes". The <opt>--fail</opt> command line
64 option takes precedence.</p>
68 <p><opt>disallow-module-loading=</opt> Disallow module loading
69 after startup. This is a security feature that makes sure that
70 no further modules may be loaded into the PulseAudio server
71 after startup completed. It is recommended to enable this when
72 <opt>system-instance</opt> is enabled. Please note that certain
73 features like automatic hot-plug support will not work if this
74 option is enabled. Takes a boolean argument, defaults to
75 <opt>no</opt>. The <opt>--disallow-module-loading</opt> command line
76 option takes precedence.</p>
80 <p><opt>resample-method=</opt> The resampling algorithm to
81 use. Use one of <opt>src-sinc-best-quality</opt>,
82 <opt>src-sinc-medium-quality</opt>, <opt>src-sinc-fastest</opt>,
83 <opt>src-zero-order-hold</opt>, <opt>src-linear</opt>,
84 <opt>trivial</opt>, <opt>speex-float-N</opt>,
85 <opt>speex-fixed-N</opt>, <opt>ffmpeg</opt>. See the
86 documentation of libsamplerate for an explanation for the
87 different src- methods. The method <opt>trivial</opt> is the most basic
88 algorithm implemented. If you're tight on CPU consider using
89 this. On the other hand it has the worst quality of them
90 all. The Speex resamplers take an integer quality setting in the
91 range 0..9 (bad...good). They exist in two flavours: <opt>fixed</opt> and
92 <opt>float</opt>. The former uses fixed point numbers, the latter relies on
93 floating point numbers. On most desktop CPUs the float point
94 resmampler is a lot faster, and it also offers slightly better
95 quality. See the output of <opt>dump-resample-methods</opt> for
96 a complete list of all available resamplers. Defaults to
97 <opt>speex-float-3</opt>. The <opt>--resample-method</opt>
98 command line option takes precedence. Note that some modules
99 overwrite or allow overwriting of the resampler to use.</p>
103 <p><opt>disable-remixing=</opt> Never upmix or downmix channels
104 to different channel maps. Instead, do a simple name-based
109 <p><opt>use-pid-file=</opt> Create a PID file in
110 <file>/tmp/pulse-$USER/pid</file>. Of this is enabled you may
111 use commands like <opt>--kill</opt> or <opt>--check</opt>. If
112 you are planning to start more than one PulseAudio process per
113 user, you better disable this option since it effectively
114 disables multiple instances. Takes a boolean argument, defaults
115 to <opt>yes</opt>. The <opt>--no-cpu-limit</opt> command line
116 option takes precedence.</p>
120 <p><opt>no-cpu-limit=</opt> Do not install the CPU load limiter,
121 even on platforms where it is supported. This option is useful
122 when debugging/profiling PulseAudio to disable disturbing
123 SIGXCPU signals. Takes a boolean argument, defaults to <opt>no</opt>. The
124 <opt>--no-cpu-limit</opt> command line argument takes
130 <p><opt>system-instance=</opt> Run the daemon as system-wide
131 instance, requires root priviliges. Takes a boolean argument,
132 defaults to <opt>no</opt>. The <opt>--system</opt> command line
133 argument takes precedence.</p>
138 <p><opt>disable-shm=</opt> Disable data transfer via POSIX
139 shared memory. Takes a boolean argument, defaults to
140 <opt>no</opt>. The <opt>--disable-shm</opt> command line
141 argument takes precedence.</p>
146 <section name="Scheduling">
149 <p><opt>high-priority=</opt> Renice the daemon after startup to
150 become a high-priority process. This a good idea if you
151 experience drop-outs during playback. However, this is a certain
152 security issue, since it works when called SUID root only, or
153 RLIMIT_NICE is used. root is dropped immediately after gaining
154 the nice level on startup, thus it is presumably safe. See
155 <manref section="1" name="pulseaudio"/> for more
156 information. Takes a boolean argument, defaults to "yes". The <opt>--high-priority</opt>
157 command line option takes precedence.</p>
161 <p><opt>realtime-scheduling=</opt> Try to acquire SCHED_FIFO
162 scheduling for the IO threads. The same security concerns as
163 mentioned above apply. However, if PA enters an endless loop,
164 realtime scheduling causes a system lockup. Thus, realtime
165 scheduling should only be enabled on trusted machines for
166 now. Please not that only the IO threads of PulseAudio are made
167 real-time. The controlling thread is left a normally scheduled
168 thread. Thus enabling the high-priority option is orthogonal.
169 See <manref section="1" name="pulseaudio"/> for more
170 information. Takes a boolean argument, defaults to "no". The
171 <opt>--realtime</opt> command line option takes precedence.</p>
175 <p><opt>realtime-priority=</opt> The realtime priority to
176 acquire, if <opt>realtime-scheduling</opt> is enabled. Note: JACK uses 10
177 by default, 9 for clients. Thus it is recommended to choose the
178 PulseAudio real-time priorities lower. Some PulseAudio threads
179 might choose a priority a little lower or higher than the
180 specified value. Defaults to "5".</p>
184 <p><opt>nice-level=</opt> The nice level to acquire for the
185 daemon, if <opt>high-priority</opt> is enabled. Note: on some
186 distributions X11 uses -10 by default. Defaults to -11.</p>
191 <section name="Idle Times">
194 <p><opt>exit-idle-time=</opt> Terminate the daemon after the
195 last client quit and this time in seconds passed. Use a negative value to
196 disable this feature. Defaults to -1. The
197 <opt>--exit-idle-time</opt> command line option takes
202 <p><opt>module-idle-time=</opt> Unload autoloaded modules after
203 being idle for this time in seconds. Defaults to 20. The
204 <opt>--module-idle-time</opt> command line option takes
209 <p><opt>scache-idle-time=</opt> Unload autoloaded sample cache
210 entries after being idle for this time in seconds. Defaults to
211 20. The <opt>--scache-idle-time</opt> command line option takes
217 <section name="Paths">
220 <p><opt>dl-search-path=</opt> The path were to look for dynamic
221 shared objects (DSOs/plugins). You may specify more than one
222 path seperated by colons. The default path depends on compile
223 time settings. The <opt>--dl-search-path</opt> command line
224 option takes precedence. </p>
228 <p><opt>default-script-file=</opt> The default configuration
229 script file to load. Specify an empty string for not loading a
230 default script file. The default behaviour is to load
231 <file>~/.pulse/default.pa</file>, and if that file does not
232 exist fall back to the system wide installed version
233 <file>@pulseconfdir@/default.pa</file>. If <opt>-n</opt> is
234 passed on the command line the default configuration script is
240 <section name="Logging">
243 <p><opt>log-target=</opt> The default log target. Use either
244 <opt>stderr</opt>, <opt>syslog</opt> or <opt>auto</opt>. The
245 latter is equivalent to <opt>sylog</opt> in case
246 <opt>daemonize</opt> is enabled, otherwise to
247 <opt>stderr</opt>. Defaults to <opt>auto</opt>. The
248 <opt>--log-target</opt> command line option takes
253 <p><opt>log-level=</opt> Log level, one of <opt>debug</opt>,
254 <opt>info</opt>, <opt>notice</opt>, <opt>warning</opt>,
255 <opt>error</opt>. Log messages with a lower log level than
256 specified here are not logged. Defaults to
257 <opt>notice</opt>. The <opt>--log-level</opt> command line
258 option takes precedence. The <opt>-v</opt> command line option
259 might alter this setting.</p>
264 <section name="Resource Limits">
266 <p>See <manref name="getrlimit" section="2"/> for
267 more information. Set to -1 if PulseAudio shall not touch the resource
268 limit. Not all resource limits are available on all operating
272 <p><opt>rlimit-as</opt> Defaults to -1.</p>
275 <p><opt>rlimit-core</opt> Defaults to -1.</p>
278 <p><opt>rlimit-data</opt> Defaults to -1.</p>
281 <p><opt>rlimit-fsize</opt> Defaults to -1.</p>
284 <p><opt>rlimit-nofile</opt> Defaults to 256.</p>
287 <p><opt>rlimit-stack</opt> Defaults to -1.</p>
290 <p><opt>rlimit-nproc</opt> Defaults to -1.</p>
293 <p><opt>rlimit-memlock</opt> Defaults to 16 KiB. Please note
294 that the JACK client libraries may require more locked
298 <p><opt>rlimit-nice</opt> Defaults to 31. Please make sure that
299 the default nice level as configured with <opt>nice-level</opt>
300 fits in this resource limit, if <opt>high-priority</opt> is
304 <p><opt>rlimit-rtprio</opt> Defaults to 9. Please make sure that
305 the default real-time priority level as configured with
306 <opt>realtime-priority=</opt> fits in this resource limit, if
307 <opt>realtime-scheduling</opt> is enabled. The JACK client
308 libraries require a real-time prority of 9 by default. </p>
313 <section name="Default Device Settings">
315 <p>Most drivers try to open the audio device with these settings
316 and then fall back to lower settings. The default settings are CD
317 quality: 16bit native endian, 2 channels, 44100 Hz sampling.</p>
320 <p><opt>default-sample-format=</opt> The default sampling
321 format. Specify one of <opt>u8</opt>, <opt>s16le</opt>,
322 <opt>s16be</opt>, <opt>float32le</opt>, <opt>float32be</opt>,
323 <opt>ulaw</opt>, <opt>alaw</opt>. Depending on the endianess of
324 the CPU the formats <opt>s16ne</opt>, <opt>s16re</opt>,
325 <opt>float32ne</opt>, <opt>float32re</opt> (for native,
326 resp. reverse endian) are available as aliases.</p>
330 <p><opt>default-sample-rate=</opt> The default sample frequency.</p>
334 <p><opt>default-sample-channels</opt> The default number of channels.</p>
339 <section name="Default Fragment Settings">
341 <p>Some hardware drivers require the hardware playback buffer to
342 be subdivided into several fragments. It is possible to change
343 these buffer metrics for machines with high scheduling
344 latencies. Not all possible values that may be configured here are
345 available in all hardware. The driver will to find the nearest
346 setting supported.</p>
349 <p><opt>default-fragments=</opt> The default number of
350 fragments. Defaults to 4.</p>
353 <p><opt>default-fragment-size-msec=</opt>The duration of a
354 single fragment. Defaults to 25ms (i.e. the total buffer is thus
360 <section name="Authors">
361 <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p>
364 <section name="See also">
366 <manref name="pulse-client.conf" section="5"/>, <manref name="default.pa" section="5"/>, <manref name="pulseaudio" section="1"/>, <manref name="pacmd" section="1"/>