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 # 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 <opt>no</opt>. 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 <opt>yes</opt>. The <opt>--fail</opt> command line
64 option takes precedence.</p>
68 <p><opt>allow-module-loading=</opt> Allow/disallow module
69 loading after startup. This is a security feature that if
70 dsabled makes sure that no further modules may be loaded into
71 the PulseAudio server after startup completed. It is recommended
72 to disable this when <opt>system-instance</opt> is
73 enabled. Please note that certain features like automatic
74 hot-plug support will not work if this option is enabled. Takes
75 a boolean argument, defaults to <opt>yes</opt>. The
76 <opt>--disallow-module-loading</opt> command line option takes
81 <p><opt>allow-exit=</opt> Allow/disallow exit on user
82 request. Defaults to <opt>yes</opt>.</p>
86 <p><opt>resample-method=</opt> The resampling algorithm to
87 use. Use one of <opt>src-sinc-best-quality</opt>,
88 <opt>src-sinc-medium-quality</opt>, <opt>src-sinc-fastest</opt>,
89 <opt>src-zero-order-hold</opt>, <opt>src-linear</opt>,
90 <opt>trivial</opt>, <opt>speex-float-N</opt>,
91 <opt>speex-fixed-N</opt>, <opt>ffmpeg</opt>. See the
92 documentation of libsamplerate and speex for explanations of the
93 different src- and speex- methods, respectively. The method
94 <opt>trivial</opt> is the most basic algorithm implemented. If
95 you're tight on CPU consider using this. On the other hand it has
96 the worst quality of them all. The Speex resamplers take an
97 integer quality setting in the range 0..10 (bad...good). They
98 exist in two flavours: <opt>fixed</opt> and <opt>float</opt>. The former uses fixed point
99 numbers, the latter relies on floating point numbers. On most
100 desktop CPUs the float point resampler is a lot faster, and it
101 also offers slightly better quality. See the output of
102 <opt>dump-resample-methods</opt> for a complete list of all
103 available resamplers. Defaults to <opt>speex-float-3</opt>. The
104 <opt>--resample-method</opt> command line option takes precedence.
105 Note that some modules overwrite or allow overwriting of the
106 resampler to use.</p>
110 <p><opt>enable-remixing=</opt> If disabled never upmix or
111 downmix channels to different channel maps. Instead, do a simple
112 name-based matching only. Defaults to <opt>yes.</opt></p>
116 <p><opt>enable-lfe-remixing=</opt> if disabeld when upmixing or
117 downmixing ignore LFE channels. When this option is dsabled the
118 output LFE channel will only get a signal when an input LFE
119 channel is available as well. If no input LFE channel is
120 available the output LFE channel will always be 0. If no output
121 LFE channel is available the signal on the input LFE channel
122 will be ignored. Defaults to <opt>no</opt>.</p>
126 <p><opt>use-pid-file=</opt> Create a PID file in the runtime directory
127 (<file>$HOME/.pulse/*-runtime/pid</file>). If this is enabled you may
128 use commands like <opt>--kill</opt> or <opt>--check</opt>. If
129 you are planning to start more than one PulseAudio process per
130 user, you better disable this option since it effectively
131 disables multiple instances. Takes a boolean argument, defaults
132 to <opt>yes</opt>. The <opt>--use-pid-file</opt> command line
133 option takes precedence.</p>
137 <p><opt>cpu-limit=</opt> If disabled do not install the CPU load
138 limiter, even on platforms where it is supported. This option is
139 useful when debugging/profiling PulseAudio to disable disturbing
140 SIGXCPU signals. Takes a boolean argument, defaults to
141 <opt>no</opt>. The <opt>--no-cpu-limit</opt> command line
142 argument takes precedence.</p>
146 <p><opt>system-instance=</opt> Run the daemon as system-wide
147 instance, requires root priviliges. Takes a boolean argument,
148 defaults to <opt>no</opt>. The <opt>--system</opt> command line
149 argument takes precedence.</p>
153 <p><opt>enable-shm=</opt> Enable data transfer via POSIX
154 shared memory. Takes a boolean argument, defaults to
155 <opt>yes</opt>. The <opt>--disable-shm</opt> command line
156 argument takes precedence.</p>
160 <p><opt>shm-size-bytes=</opt> Sets the shared memory segment
161 size for the daemon, in bytes. If left unspecified or is set to 0
162 it will default to some system-specific default, usually 64
163 MiB. Please note that usually there is no need to change this
164 value, unless you are running an OS kernel that does not do
165 memory overcommit.</p>
169 <p><opt>lock-memory=</opt> Locks the entire PulseAudio process
170 into memory. While this might increase drop-out safety when used
171 in conjunction with real-time scheduling this takes away a lot
172 of memory from other processes and might hence considerably slow
173 down your system. Defaults to <opt>no</opt>.</p>
177 <p><opt>flat-volumes=</opt> Enable 'flat' volumes, i.e. where
178 possible let the sink volume equal the maximum of the volumes of
179 the inputs connected to it. Takes a boolean argument, defaults
180 to <opt>yes</opt>.</p>
185 <section name="Scheduling">
188 <p><opt>high-priority=</opt> Renice the daemon after startup to
189 become a high-priority process. This a good idea if you
190 experience drop-outs during playback. However, this is a certain
191 security issue, since it works when called SUID root only, or
192 RLIMIT_NICE is used. root is dropped immediately after gaining
193 the nice level on startup, thus it is presumably safe. See
194 <manref section="1" name="pulseaudio"/> for more
195 information. Takes a boolean argument, defaults to <opt>yes</opt>. The <opt>--high-priority</opt>
196 command line option takes precedence.</p>
200 <p><opt>realtime-scheduling=</opt> Try to acquire SCHED_FIFO
201 scheduling for the IO threads. The same security concerns as
202 mentioned above apply. However, if PA enters an endless loop,
203 realtime scheduling causes a system lockup. Thus, realtime
204 scheduling should only be enabled on trusted machines for
205 now. Please not that only the IO threads of PulseAudio are made
206 real-time. The controlling thread is left a normally scheduled
207 thread. Thus enabling the high-priority option is orthogonal.
208 See <manref section="1" name="pulseaudio"/> for more
209 information. Takes a boolean argument, defaults to <opt>yes</opt>. The
210 <opt>--realtime</opt> command line option takes precedence.</p>
214 <p><opt>realtime-priority=</opt> The realtime priority to
215 acquire, if <opt>realtime-scheduling</opt> is enabled. Note: JACK uses 10
216 by default, 9 for clients. Thus it is recommended to choose the
217 PulseAudio real-time priorities lower. Some PulseAudio threads
218 might choose a priority a little lower or higher than the
219 specified value. Defaults to <opt>5</opt>.</p>
223 <p><opt>nice-level=</opt> The nice level to acquire for the
224 daemon, if <opt>high-priority</opt> is enabled. Note: on some
225 distributions X11 uses -10 by default. Defaults to -11.</p>
230 <section name="Idle Times">
233 <p><opt>exit-idle-time=</opt> Terminate the daemon after the
234 last client quit and this time in seconds passed. Use a negative value to
235 disable this feature. Defaults to 20. The
236 <opt>--exit-idle-time</opt> command line option takes
241 <p><opt>scache-idle-time=</opt> Unload autoloaded sample cache
242 entries after being idle for this time in seconds. Defaults to
243 20. The <opt>--scache-idle-time</opt> command line option takes
249 <section name="Paths">
252 <p><opt>dl-search-path=</opt> The path were to look for dynamic
253 shared objects (DSOs/plugins). You may specify more than one
254 path seperated by colons. The default path depends on compile
255 time settings. The <opt>--dl-search-path</opt> command line
256 option takes precedence. </p>
260 <p><opt>default-script-file=</opt> The default configuration
261 script file to load. Specify an empty string for not loading a
262 default script file. The default behaviour is to load
263 <file>~/.pulse/default.pa</file>, and if that file does not
264 exist fall back to the system wide installed version
265 <file>@pulseconfdir@/default.pa</file>. If run in system-wide
266 mode the file <file>@pulseconfdir@/system.pa</file> is used
267 instead. If <opt>-n</opt> is passed on the command line
268 or <opt>default-script-file=</opt> is disabled the default
269 configuration script is ignored.</p>
273 <p><opt>load-default-script-file=</opt> Load the default
274 configuration script file as specified
275 in <opt>default-script-file=</opt>. Defaults to <opt>yes</opt>.</p>
280 <section name="Logging">
283 <p><opt>log-target=</opt> The default log target. Use either
284 <opt>stderr</opt>, <opt>syslog</opt> or <opt>auto</opt>. The
285 latter is equivalent to <opt>sylog</opt> in case
286 <opt>daemonize</opt> is enabled, otherwise to
287 <opt>stderr</opt>. Defaults to <opt>auto</opt>. The
288 <opt>--log-target</opt> command line option takes
293 <p><opt>log-level=</opt> Log level, one of <opt>debug</opt>,
294 <opt>info</opt>, <opt>notice</opt>, <opt>warning</opt>,
295 <opt>error</opt>. Log messages with a lower log level than
296 specified here are not logged. Defaults to
297 <opt>notice</opt>. The <opt>--log-level</opt> command line
298 option takes precedence. The <opt>-v</opt> command line option
299 might alter this setting.</p>
303 <p><opt>log-meta=</opt> With each logged message log the code
304 location the message was generated from. Defaults to
309 <p><opt>log-time=</opt> With each logged messages log the
310 relative time since startup. Defaults to <opt>no</opt>.</p>
314 <p><opt>log-backtrace=</opt> When greater than 0, with each
315 logged message log a code stack trace up the the specified
316 number of stack frames. Defaults to <opt>0</opt>.</p>
321 <section name="Resource Limits">
323 <p>See <manref name="getrlimit" section="2"/> for
324 more information. Set to -1 if PulseAudio shall not touch the resource
325 limit. Not all resource limits are available on all operating
329 <p><opt>rlimit-as</opt> Defaults to -1.</p>
332 <p><opt>rlimit-rss</opt> Defaults to -1.</p>
335 <p><opt>rlimit-core</opt> Defaults to -1.</p>
338 <p><opt>rlimit-data</opt> Defaults to -1.</p>
341 <p><opt>rlimit-fsize</opt> Defaults to -1.</p>
344 <p><opt>rlimit-nofile</opt> Defaults to 256.</p>
347 <p><opt>rlimit-stack</opt> Defaults to -1.</p>
350 <p><opt>rlimit-nproc</opt> Defaults to -1.</p>
353 <p><opt>rlimit-locks</opt> Defaults to -1.</p>
356 <p><opt>rlimit-sigpending</opt> Defaults to -1.</p>
359 <p><opt>rlimit-msgqueue</opt> Defaults to -1.</p>
362 <p><opt>rlimit-memlock</opt> Defaults to 16 KiB. Please note
363 that the JACK client libraries may require more locked
367 <p><opt>rlimit-nice</opt> Defaults to 31. Please make sure that
368 the default nice level as configured with <opt>nice-level</opt>
369 fits in this resource limit, if <opt>high-priority</opt> is
373 <p><opt>rlimit-rtprio</opt> Defaults to 9. Please make sure that
374 the default real-time priority level as configured with
375 <opt>realtime-priority=</opt> fits in this resource limit, if
376 <opt>realtime-scheduling</opt> is enabled. The JACK client
377 libraries require a real-time prority of 9 by default. </p>
380 <p><opt>rlimit-rttime</opt> Defaults to 1000000.</p>
385 <section name="Default Device Settings">
387 <p>Most drivers try to open the audio device with these settings
388 and then fall back to lower settings. The default settings are CD
389 quality: 16bit native endian, 2 channels, 44100 Hz sampling.</p>
392 <p><opt>default-sample-format=</opt> The default sampling
393 format. Specify one of <opt>u8</opt>, <opt>s16le</opt>,
394 <opt>s16be</opt>, <opt>s24le</opt>, <opt>s24be</opt>,
395 <opt>s24-32le</opt>, <opt>s24-32be</opt>, <opt>s32le</opt>,
396 <opt>s32be</opt> <opt>float32le</opt>, <opt>float32be</opt>,
397 <opt>ulaw</opt>, <opt>alaw</opt>. Depending on the endianess of
398 the CPU the formats <opt>s16ne</opt>, <opt>s16re</opt>,
399 <opt>s24ne</opt>, <opt>s24re</opt>, <opt>s24-32ne</opt>,
400 <opt>s24-32re</opt>, <opt>s32ne</opt>, <opt>s32re</opt>,
401 <opt>float32ne</opt>, <opt>float32re</opt> (for native,
402 resp. reverse endian) are available as aliases.</p>
406 <p><opt>default-sample-rate=</opt> The default sample frequency.</p>
410 <p><opt>default-sample-channels</opt> The default number of channels.</p>
414 <p><opt>default-channel-map</opt> The default channel map.</p>
419 <section name="Default Fragment Settings">
421 <p>Some hardware drivers require the hardware playback buffer to
422 be subdivided into several fragments. It is possible to change
423 these buffer metrics for machines with high scheduling
424 latencies. Not all possible values that may be configured here are
425 available in all hardware. The driver will to find the nearest
426 setting supported. Modern drivers that support timer-based
427 scheduling ignore these options.</p>
430 <p><opt>default-fragments=</opt> The default number of
431 fragments. Defaults to 4.</p>
434 <p><opt>default-fragment-size-msec=</opt>The duration of a
435 single fragment. Defaults to 25ms (i.e. the total buffer is thus
441 <section name="Default Sync Volume Settings">
443 <p>With the flat volume feature enabled, the sink HW volume is set
444 to the same level as the highest volume input stream. Any other streams
445 (with lower volumes) have the appropriate adjustment applied in SW to
446 bring them to the correct overall level. Sadly hadware mixer changes
447 cannot be timed accurately and thus this change of volumes can somtimes
448 cause the resulting output sound to be momentarily too loud or too soft.
449 So to ensure SW and HW volumes are applied concurrently without any
450 glitches, their application needs to be synchronized. The sink
451 implementation needs to support synchronized volumes. The following
452 parameters can be used to refine the process.</p>
455 <p><opt>enable-sync-volume=</opt> Enable sync volume for the sinks that
456 support it. This feature is enabled by default.</p>
459 <p><opt>sync-volume-safety-margin-usec=</opt> The amount of time (in
460 usec) by which the HW volume increases are delayed and HW volume
461 decreases are advanced. Defaults to 8000 usec.</p>
464 <p><opt>sync-volume-extra-delay-usec=</opt> The amount of time (in usec)
465 by which HW volume changes are delayed. Negative values are also allowed.
471 <section name="Authors">
472 <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p>
475 <section name="See also">
477 <manref name="pulse-client.conf" section="5"/>, <manref name="default.pa" section="5"/>, <manref name="pulseaudio" section="1"/>, <manref name="pacmd" section="1"/>