1pulse-daemon.conf(5)          File Formats Manual         pulse-daemon.conf(5)
2
3
4

NAME

6       pulse-daemon.conf - PulseAudio daemon configuration file
7

SYNOPSIS

9       ~/.config/pulse/daemon.conf
10
11       ~/.config/pulse/daemon.conf.d/*.conf
12
13       /etc/pulse/daemon.conf
14
15       /etc/pulse/daemon.conf.d/*.conf
16

DESCRIPTION

18       The  PulseAudio sound server reads configuration directives from a con‐
19       figuration file on startup. If the per-user  file  ~/.config/pulse/dae‐
20       mon.conf  exists,  it  is used, otherwise the system configuration file
21       /etc/pulse/daemon.conf is used. In addition to those main  files,  con‐
22       figuration  directives  can  also  be  put  in  files under directories
23       ~/.config/pulse/daemon.conf.d/  and  /etc/pulse/daemon.conf.d/.   Those
24       files  have  to  have  the .conf file name extension, but otherwise the
25       file names can be chosen freely. The files under daemon.conf.d are pro‐
26       cessed  in alphabetical order. In case the same option is set in multi‐
27       ple files, the last file to set an option overrides earlier files.  The
28       main daemon.conf file is processed first, so options set in files under
29       daemon.conf.d override the main file.
30
31       Please note that the  server  also  reads  a  configuration  script  on
32       startup. See default.pa(5).
33
34       The configuration file is a simple collection of variable declarations.
35       If the configuration file parser encounters either ; or  #  it  ignores
36       the rest of the line until its end.
37
38       For  the settings that take a boolean argument the values true, yes, on
39       and 1 are equivalent, resp. false, no, off, 0.
40

GENERAL DIRECTIVES

42       daemonize=  Daemonize after startup. Takes a boolean value, defaults to
43       no. The --daemonize command line option takes precedence.
44
45       fail=  Fail  to  start up if any of the directives in the configuration
46       script default.pa fail. Takes a boolean argument, defaults to yes.  The
47       --fail command line option takes precedence.
48
49       allow-module-loading= Allow/disallow module loading after startup. This
50       is a security feature that if disabled makes sure that no further  mod‐
51       ules  may be loaded into the PulseAudio server after startup completed.
52       It is recommended to disable  this  when  system-instance  is  enabled.
53       Please  note that certain features like automatic hot-plug support will
54       not work if this option is enabled. Takes a boolean argument,  defaults
55       to  yes. The --disallow-module-loading command line option takes prece‐
56       dence.
57
58       allow-exit= Allow/disallow exit on user request. Defaults to yes.
59
60       resample-method= The resampling algorithm to use. Use one of  src-sinc-
61       best-quality,   src-sinc-medium-quality,   src-sinc-fastest,  src-zero-
62       order-hold, src-linear, trivial, speex-float-N, speex-fixed-N,  ffmpeg,
63       soxr-mq,  soxr-hq, soxr-vhq. See the documentation of libsamplerate and
64       speex for explanations  of  the  different  src-  and  speex-  methods,
65       respectively.  The  method  trivial  is the most basic algorithm imple‐
66       mented. If you're tight on CPU consider using this. On the  other  hand
67       it  has  the  worst  quality  of them all. The Speex resamplers take an
68       integer quality setting in the range 0..10 (bad...good). They exist  in
69       two flavours: fixed and float. The former uses fixed point numbers, the
70       latter relies on floating point numbers. On most desktop CPUs the float
71       point  resampler  is  a  lot faster, and it also offers slightly better
72       quality. The soxr-family methods are  based  on  libsoxr,  a  resampler
73       library  from  the SoX sound processing utility. The mq variant has the
74       best performance of the three. The hq is more expensive and,  according
75       to  SoX developers, is considered the best choice for audio of up to 16
76       bits per sample. The vhq variant has more precision than hq and is more
77       suitable for larger samples. The Soxr resamplers generally offer better
78       quality at less CPU compared to other resamplers, such  as  speex.  The
79       downside  is  that they can add a significant delay to the output (usu‐
80       ally up to around 20 ms, in rare cases more). See the output  of  dump-
81       resample-methods  for  a  complete  list  of  all available resamplers.
82       Defaults to speex-float-1. The --resample-method  command  line  option
83       takes precedence. Note that some modules overwrite or allow overwriting
84       of the resampler to use.
85
86       avoid-resampling= If set, try to configure the device to  avoid  resam‐
87       pling.  This  only  works  on devices which support reconfiguring their
88       rate, and when no other streams are already playing or capturing audio.
89       The  device will also not be configured to a rate less than the default
90       and alternate sample rates.
91
92       enable-remixing= If disabled never upmix or downmix channels to differ‐
93       ent  channel  maps.  Instead,  do  a  simple  name-based matching only.
94       Defaults to yes.
95
96       remixing-use-all-sink-channels= If enabled, use all sink channels  when
97       remixing.  Otherwise,  remix to the minimal set of sink channels needed
98       to reproduce all of the source channels. (This has  no  effect  on  LFE
99       remixing.) Defaults to yes.
100
101       enable-lfe-remixing=  This  is  a  way  to set remixing-produce-lfe and
102       remixing-consume-lfe to the same value at once. This option only exists
103       for  backward  compatibility  and may be removed in a future version of
104       PulseAudio.
105
106       remixing-produce-lfe= If enabled, and the sink input does not have  the
107       LFE  channel, synthesize the output LFE channel as a (lowpass-filtered,
108       if lfe-crossover-freq is not 0) average of all  input  channels.  Also,
109       when lfe-crossover-freq is not 0, filter out low frequencies from other
110       channels while producing a synthetic LFE output. If disabled, the  out‐
111       put  LFE  channel  will  only get a signal when an input LFE channel is
112       available as well. Defaults to no.
113
114       remixing-consume-lfe= If enabled, and the sink does  not  have  an  LFE
115       channel,  redirect the input LFE channel (if any) to other channels. If
116       disabled, the input LFE channel will remain unused unless the sink  has
117       the LFE channel as well. Defaults to no.
118
119       lfe-crossover-freq= The crossover frequency (in Hz) for the LFE filter.
120       Set it to 0 to disable the LFE filter. Defaults to 0.
121
122       use-pid-file= Create a PID file in  the  runtime  directory  ($XDG_RUN‐
123       TIME_DIR/pulse/pid).  If  this  is  enabled  you  may use commands like
124       --kill or --check. If you are planning to start more than one  PulseAu‐
125       dio  process  per  user, you better disable this option since it effec‐
126       tively disables multiple instances. Takes a boolean argument,  defaults
127       to yes. The --use-pid-file command line option takes precedence.
128
129       cpu-limit=  If  disabled  do  not install the CPU load limiter, even on
130       platforms where it is supported. This  option  is  useful  when  debug‐
131       ging/profiling  PulseAudio to disable disturbing SIGXCPU signals. Takes
132       a boolean argument, defaults to no.  The  --no-cpu-limit  command  line
133       argument takes precedence.
134
135       system-instance=  Run the daemon as system-wide instance, requires root
136       privileges. Takes a boolean argument, defaults to no. The --system com‐
137       mand line argument takes precedence.
138
139       local-server-type=  Please  don't use this option if you don't have to!
140       This option is currently only useful when you want D-Bus clients to use
141       a  remote server. This option may be removed in future versions. If you
142       only want to run PulseAudio in the system mode, use the system-instance
143       option.  This option takes one of user, system or none as the argument.
144       This is essentially a duplicate for  the  system-instance  option.  The
145       difference  is  the none option, which is useful when you want to use a
146       remote server with D-Bus clients. If both this and system-instance  are
147       defined, this option takes precedence. Defaults to whatever the system-
148       instance is set.
149
150       enable-shm= Enable data transfer via  POSIX  or  memfd  shared  memory.
151       Takes  a  boolean  argument, defaults to yes. The --disable-shm command
152       line argument takes precedence.
153
154       enable-memfd=. Enable memfd shared memory. Takes  a  boolean  argument,
155       defaults to yes.
156
157       shm-size-bytes=  Sets the shared memory segment size for the daemon, in
158       bytes. If left unspecified or is set to 0 it will default to some  sys‐
159       tem-specific default, usually 64 MiB. Please note that usually there is
160       no need to change this value, unless you are running an OS kernel  that
161       does not do memory overcommit.
162
163       lock-memory=  Locks  the  entire  PulseAudio process into memory. While
164       this might increase drop-out safety when used in conjunction with real-
165       time  scheduling  this  takes away a lot of memory from other processes
166       and might hence considerably slow down your system. Defaults to no.
167
168       flat-volumes= Enable 'flat' volumes, i.e. where possible let  the  sink
169       volume  equal the maximum of the volumes of the inputs connected to it.
170       Takes a boolean argument, defaults to no.
171
172       rescue-streams= Enable rescuing of streams if the used sink  or  source
173       becomes  unavailable. Takes a boolean argument. If set to yes, pulseau‐
174       dio will try to move the streams from a sink  or  source  that  becomes
175       unavailable  to  the default sink or source. If set to no, streams will
176       be killed if the corresponding sink or source disappears.  Defaults  to
177       yes.
178

SCHEDULING

180       high-priority=  Renice the daemon after startup to become a high-prior‐
181       ity process. This a good idea if you experience drop-outs during  play‐
182       back.  However,  this  is a certain security issue, since it works when
183       called SUID root only, or RLIMIT_NICE is used. root is dropped  immedi‐
184       ately  after  gaining  the nice level on startup, thus it is presumably
185       safe. See pulseaudio(1) for more information. Takes a boolean argument,
186       defaults  to  yes. The --high-priority command line option takes prece‐
187       dence.
188
189       realtime-scheduling= Try to acquire SCHED_FIFO scheduling  for  the  IO
190       threads.  The same security concerns as mentioned above apply. However,
191       if PA enters an endless  loop,  realtime  scheduling  causes  a  system
192       lockup.  Thus,  realtime  scheduling  should only be enabled on trusted
193       machines for now. Please note that only the IO  threads  of  PulseAudio
194       are made real-time. The controlling thread is left a normally scheduled
195       thread. Thus enabling  the  high-priority  option  is  orthogonal.  See
196       pulseaudio(1)  for more information. Takes a boolean argument, defaults
197       to yes. The --realtime command line option takes precedence.
198
199       realtime-priority= The realtime priority to acquire, if realtime-sched‐
200       uling is enabled. Note: JACK uses 10 by default, 9 for clients. Thus it
201       is recommended to choose the  PulseAudio  real-time  priorities  lower.
202       Some  PulseAudio  threads  might  choose  a  priority a little lower or
203       higher than the specified value. Defaults to 5.
204
205       nice-level= The nice level to acquire for the daemon, if  high-priority
206       is  enabled.  Note:  on  some  distributions  X11  uses -10 by default.
207       Defaults to -11.
208

IDLE TIMES

210       exit-idle-time= Terminate the daemon after the  last  client  quit  and
211       this  time in seconds passed. Use a negative value to disable this fea‐
212       ture. Defaults to 20. The --exit-idle-time command  line  option  takes
213       precedence.
214
215              When  PulseAudio  runs  in the per-user mode and detects a login
216              session, then any positive value will be  reset  to  0  so  that
217              PulseAudio  will  terminate  immediately  on  logout. A positive
218              value therefore has effect only in environments where there's no
219              support  for  login session tracking. A negative value can still
220              be used to disable any automatic exit.
221
222              When PulseAudio runs in  the  system  mode,  automatic  exit  is
223              always disabled, so this option does nothing.
224
225       scache-idle-time=  Unload  autoloaded  sample cache entries after being
226       idle for this time in seconds. Defaults to 20.  The  --scache-idle-time
227       command line option takes precedence.
228

PATHS

230       dl-search-path=  The  path  where  to  look  for dynamic shared objects
231       (DSOs/plugins). You may specify more than one path separated by colons.
232       The default path depends on compile time settings. The --dl-search-path
233       command line option takes precedence.
234
235       default-script-file= The default configuration  script  file  to  load.
236       Specify  an  empty  string  for  not loading a default script file. The
237       default behaviour is to load ~/.config/pulse/default.pa,  and  if  that
238       file  does  not  exist  fall  back to the system wide installed version
239       /etc/pulse/default.pa.  If   run   in   system-wide   mode   the   file
240       /etc/pulse/system.pa  is  used  instead. If -n is passed on the command
241       line or default-script-file=  is  disabled  the  default  configuration
242       script is ignored.
243
244       load-default-script-file= Load the default configuration script file as
245       specified in default-script-file=. Defaults to yes.
246

LOGGING

248       log-target= The default log target. Use either stderr, syslog,  journal
249       (optional),  auto,  file:PATH  or  newfile:PATH. On traditional systems
250       auto is equivalent to  syslog.  On  systemd-enabled  systems,  auto  is
251       equivalent to journal, in case daemonize is enabled, and to stderr oth‐
252       erwise. If set to file:PATH, logging is directed to the file  indicated
253       by  PATH. newfile:PATH is otherwise the same as file:PATH, but existing
254       files are never overwritten. If the specified file  already  exists,  a
255       suffix  is  added  to  the  file name to avoid overwriting. Defaults to
256       auto. The --log-target command line option takes precedence.
257
258       log-level= Log level, one of debug, info, notice, warning,  error.  Log
259       messages  with  a  lower  log level than specified here are not logged.
260       Defaults to notice. The --log-level command line  option  takes  prece‐
261       dence. The -v command line option might alter this setting.
262
263       log-meta=  With  each  logged message log the code location the message
264       was generated from. Defaults to no.
265
266       log-time= With each logged message log the relative time since startup.
267       Defaults to no.
268
269       log-backtrace= When greater than 0, with each logged message log a code
270       stack trace up the specified number of stack frames. Defaults to 0.
271

RESOURCE LIMITS

273       See getrlimit(2) for more information. Set to -1  if  PulseAudio  shall
274       not  touch the resource limit. Not all resource limits are available on
275       all operating systems.
276
277       rlimit-as Defaults to -1.
278
279       rlimit-rss Defaults to -1.
280
281       rlimit-core Defaults to -1.
282
283       rlimit-data Defaults to -1.
284
285       rlimit-fsize Defaults to -1.
286
287       rlimit-nofile Defaults to 256.
288
289       rlimit-stack Defaults to -1.
290
291       rlimit-nproc Defaults to -1.
292
293       rlimit-locks Defaults to -1.
294
295       rlimit-sigpending Defaults to -1.
296
297       rlimit-msgqueue Defaults to -1.
298
299       rlimit-memlock Defaults to 16 KiB. Please note  that  the  JACK  client
300       libraries may require more locked memory.
301
302       rlimit-nice  Defaults  to  31.  Please  make sure that the default nice
303       level as configured with nice-level fits in  this  resource  limit,  if
304       high-priority is enabled.
305
306       rlimit-rtprio  Defaults  to  9. Please make sure that the default real-
307       time priority level as configured with realtime-priority= fits in  this
308       resource  limit,  if  realtime-scheduling  is  enabled. The JACK client
309       libraries require a real-time priority of 9 by default.
310
311       rlimit-rttime Defaults to 1000000.
312

DEFAULT DEVICE SETTINGS

314       Most drivers try to open the audio device with these settings and  then
315       fall back to lower settings. The default settings are CD quality: 16bit
316       native endian, 2 channels, 44100 Hz sampling.
317
318       default-sample-format= The default sampling format. Specify one of  u8,
319       s16le, s16be, s24le, s24be, s24-32le, s24-32be, s32le, s32be float32le,
320       float32be, ulaw, alaw. Depending on the endianness of the CPU the  for‐
321       mats  s16ne,  s16re,  s24ne,  s24re,  s24-32ne, s24-32re, s32ne, s32re,
322       float32ne, float32re (for native, resp. reverse endian)  are  available
323       as aliases.
324
325       default-sample-rate= The default sample frequency.
326
327       default-sample-channels The default number of channels.
328
329       default-channel-map The default channel map.
330
331       alternate-sample-rate The alternate sample frequency. Sinks and sources
332       will use either the default-sample-rate value or this alternate  value,
333       typically 44.1 or 48kHz. Switching between default and alternate values
334       is enabled only when the sinks/sources are suspended.  This  option  is
335       ignored  in passthrough mode where the stream rate will be used. If set
336       to the same value as the default sample rate, this feature is disabled.
337

DEFAULT FRAGMENT SETTINGS

339       Some hardware drivers require the hardware playback buffer to be subdi‐
340       vided  into  several  fragments.  It is possible to change these buffer
341       metrics for machines with high scheduling latencies. Not  all  possible
342       values  that  may be configured here are available in all hardware. The
343       driver will find the nearest setting  supported.  Modern  drivers  that
344       support timer-based scheduling ignore these options.
345
346       default-fragments= The default number of fragments. Defaults to 4.
347
348       default-fragment-size-msec=The  duration of a single fragment. Defaults
349       to 25ms (i.e. the total buffer is thus 100ms long).
350

DEFAULT DEFERRED VOLUME SETTINGS

352       With the flat volume feature enabled, the sink HW volume is set to  the
353       same  level as the highest volume input stream. Any other streams (with
354       lower volumes) have the appropriate adjustment applied in SW  to  bring
355       them  to the correct overall level. Sadly hardware mixer changes cannot
356       be timed accurately and thus this change of volumes can sometimes cause
357       the  resulting  output sound to be momentarily too loud or too soft. So
358       to ensure SW and  HW  volumes  are  applied  concurrently  without  any
359       glitches,  their  application needs to be synchronized. The sink imple‐
360       mentation needs to support deferred volumes. The  following  parameters
361       can be used to refine the process.
362
363       enable-deferred-volume=  Enable deferred volume for the sinks that sup‐
364       port it. This feature is enabled by default.
365
366       deferred-volume-safety-margin-usec= The amount of  time  (in  usec)  by
367       which  the  HW volume increases are delayed and HW volume decreases are
368       advanced. Defaults to 8000 usec.
369
370       deferred-volume-extra-delay-usec= The amount of time (in usec) by which
371       HW  volume  changes  are  delayed.  Negative  values  are also allowed.
372       Defaults to 0.
373

AUTHORS

375       The  PulseAudio  Developers  <pulseaudio-discuss   (at)   lists   (dot)
376       freedesktop  (dot)  org>;  PulseAudio is available from http://pulseau
377       dio.org/
378

SEE ALSO

380       pulse-client.conf(5), default.pa(5), pulseaudio(1), pacmd(1)
381
382
383
384Manuals                              User                 pulse-daemon.conf(5)
Impressum