| <?xml version="1.0"?><!--*-nxml-*--> |
| <!DOCTYPE manpage SYSTEM "xmltoman.dtd"> |
| <?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?> |
| |
| <!-- |
| This file is part of PulseAudio. |
| |
| PulseAudio is free software; you can redistribute it and/or modify it |
| under the terms of the GNU Lesser General Public License as |
| published by the Free Software Foundation; either version 2.1 of the |
| License, or (at your option) any later version. |
| |
| PulseAudio is distributed in the hope that it will be useful, but WITHOUT |
| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
| or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General |
| Public License for more details. |
| |
| You should have received a copy of the GNU Lesser General Public |
| License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. |
| --> |
| |
| <manpage name="pulse-daemon.conf" section="5" desc="PulseAudio daemon configuration file"> |
| |
| <synopsis> |
| <p><file>~/.config/pulse/daemon.conf</file></p> |
| <p><file>~/.config/pulse/daemon.conf.d/*.conf</file></p> |
| <p><file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf</file></p> |
| <p><file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf.d/*.conf</file></p> |
| </synopsis> |
| |
| <description> |
| <p>The PulseAudio sound server reads configuration directives from |
| a configuration file on startup. If the per-user file |
| <file>~/.config/pulse/daemon.conf</file> exists, it is used, otherwise the |
| system configuration file <file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf</file> |
| is used. In addition to those main files, configuration directives can also |
| be put in files under directories |
| <file>~/.config/pulse/daemon.conf.d/</file> and |
| <file>@PA_DEFAULT_CONFIG_DIR@/daemon.conf.d/</file>. Those files have to |
| have the .conf file name extension, but otherwise the file names can be |
| chosen freely. The files under daemon.conf.d are processed in alphabetical |
| order. In case the same option is set in multiple files, the last file to |
| set an option overrides earlier files. The main daemon.conf file is |
| processed first, so options set in files under daemon.conf.d override the |
| main file.</p> |
| |
| <p>Please note that the server also reads a configuration script on |
| startup. See <manref name="default.pa" section="5"/>.</p> |
| |
| <p>The configuration file is a simple collection of variable |
| declarations. If the configuration file parser encounters either ; |
| or # it ignores the rest of the line until its end.</p> |
| |
| <p>For the settings that take a boolean argument the values |
| <opt>true</opt>, <opt>yes</opt>, <opt>on</opt> and <opt>1</opt> |
| are equivalent, resp. <opt>false</opt>, <opt>no</opt>, |
| <opt>off</opt>, <opt>0</opt>.</p> |
| |
| </description> |
| |
| <section name="General Directives"> |
| |
| <option> |
| <p><opt>daemonize= </opt> Daemonize after startup. Takes a |
| boolean value, defaults to <opt>no</opt>. The <opt>--daemonize</opt> |
| command line option takes precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>fail=</opt> Fail to start up if any of the directives |
| in the configuration script <file>default.pa</file> |
| fail. Takes a boolean argument, defaults to <opt>yes</opt>. The <opt>--fail</opt> command line |
| option takes precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>allow-module-loading=</opt> Allow/disallow module |
| loading after startup. This is a security feature that if |
| disabled makes sure that no further modules may be loaded into |
| the PulseAudio server after startup completed. It is recommended |
| to disable this when <opt>system-instance</opt> is |
| enabled. Please note that certain features like automatic |
| hot-plug support will not work if this option is enabled. Takes |
| a boolean argument, defaults to <opt>yes</opt>. The |
| <opt>--disallow-module-loading</opt> command line option takes |
| precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>allow-exit=</opt> Allow/disallow exit on user |
| request. Defaults to <opt>yes</opt>.</p> |
| </option> |
| |
| <option> |
| <p><opt>resample-method=</opt> The resampling algorithm to |
| use. Use one of <opt>src-sinc-best-quality</opt>, |
| <opt>src-sinc-medium-quality</opt>, <opt>src-sinc-fastest</opt>, |
| <opt>src-zero-order-hold</opt>, <opt>src-linear</opt>, |
| <opt>trivial</opt>, <opt>speex-float-N</opt>, |
| <opt>speex-fixed-N</opt>, <opt>ffmpeg</opt>, <opt>soxr-mq</opt>, |
| <opt>soxr-hq</opt>, <opt>soxr-vhq</opt>. See the |
| documentation of libsamplerate and speex for explanations of the |
| different src- and speex- methods, respectively. The method |
| <opt>trivial</opt> is the most basic algorithm implemented. If |
| you're tight on CPU consider using this. On the other hand it has |
| the worst quality of them all. The Speex resamplers take an |
| integer quality setting in the range 0..10 (bad...good). They |
| exist in two flavours: <opt>fixed</opt> and <opt>float</opt>. The former uses fixed point |
| numbers, the latter relies on floating point numbers. On most |
| desktop CPUs the float point resampler is a lot faster, and it |
| also offers slightly better quality. The soxr-family methods |
| are based on libsoxr, a resampler library from the SoX sound processing utility. |
| The mq variant has the best performance of the three. The hq is more expensive |
| and, according to SoX developers, is considered the best choice for audio of up to 16 bits per sample. |
| The vhq variant has more precision than hq and is more suitable for larger samples. The Soxr resamplers |
| generally offer better quality at less CPU compared to other resamplers, such as speex. |
| The downside is that they can add a significant delay to the output |
| (usually up to around 20 ms, in rare cases more). |
| See the output of <opt>dump-resample-methods</opt> for a complete list of all |
| available resamplers. Defaults to <opt>speex-float-1</opt>. The |
| <opt>--resample-method</opt> command line option takes precedence. |
| Note that some modules overwrite or allow overwriting of the |
| resampler to use.</p> |
| </option> |
| |
| <option> |
| <p><opt>avoid-resampling=</opt> If set, try to configure the |
| device to avoid resampling. This only works on devices which |
| support reconfiguring their rate, and when no other streams are |
| already playing or capturing audio. The device will also not be |
| configured to a rate less than the default and alternate sample |
| rates.</p> |
| </option> |
| |
| <option> |
| <p><opt>enable-remixing=</opt> If disabled never upmix or |
| downmix channels to different channel maps. Instead, do a simple |
| name-based matching only. Defaults to <opt>yes.</opt></p> |
| </option> |
| |
| <option> |
| <p><opt>remixing-use-all-sink-channels=</opt> If enabled, use |
| all sink channels when remixing. Otherwise, remix to the minimal |
| set of sink channels needed to reproduce all of the source |
| channels. (This has no effect on LFE remixing.) Defaults to |
| <opt>yes</opt>.</p> |
| </option> |
| |
| <option> |
| <p><opt>enable-lfe-remixing=</opt> If disabled when upmixing or |
| downmixing ignore LFE channels. When this option is disabled the |
| output LFE channel will only get a signal when an input LFE |
| channel is available as well. If no input LFE channel is |
| available the output LFE channel will always be 0. If no output |
| LFE channel is available the signal on the input LFE channel |
| will be ignored. Defaults to <opt>no</opt>.</p> |
| </option> |
| |
| <option> |
| <p><opt>lfe-crossover-freq=</opt> The crossover frequency (in Hz) for the |
| LFE filter. Set it to 0 to disable the LFE filter. Defaults to 0.</p> |
| </option> |
| |
| <option> |
| <p><opt>use-pid-file=</opt> Create a PID file in the runtime directory |
| (<file>$XDG_RUNTIME_DIR/pulse/pid</file>). If this is enabled you may |
| use commands like <opt>--kill</opt> or <opt>--check</opt>. If |
| you are planning to start more than one PulseAudio process per |
| user, you better disable this option since it effectively |
| disables multiple instances. Takes a boolean argument, defaults |
| to <opt>yes</opt>. The <opt>--use-pid-file</opt> command line |
| option takes precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>cpu-limit=</opt> If disabled do not install the CPU load |
| limiter, even on platforms where it is supported. This option is |
| useful when debugging/profiling PulseAudio to disable disturbing |
| SIGXCPU signals. Takes a boolean argument, defaults to |
| <opt>no</opt>. The <opt>--no-cpu-limit</opt> command line |
| argument takes precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>system-instance=</opt> Run the daemon as system-wide |
| instance, requires root privileges. Takes a boolean argument, |
| defaults to <opt>no</opt>. The <opt>--system</opt> command line |
| argument takes precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>local-server-type=</opt> Please don't use this option if |
| you don't have to! This option is currently only useful when you |
| want D-Bus clients to use a remote server. This option may be |
| removed in future versions. If you only want to run PulseAudio |
| in the system mode, use the <opt>system-instance</opt> option. |
| This option takes one of <opt>user</opt>, <opt>system</opt> or |
| <opt>none</opt> as the argument. This is essentially a duplicate |
| for the <opt>system-instance</opt> option. The difference is the |
| <opt>none</opt> option, which is useful when you want to use a |
| remote server with D-Bus clients. If both this and |
| <opt>system-instance</opt> are defined, this option takes |
| precedence. Defaults to whatever the <opt>system-instance</opt> |
| is set.</p> |
| </option> |
| |
| <option> |
| <p><opt>enable-shm=</opt> Enable data transfer via POSIX |
| or memfd shared memory. Takes a boolean argument, defaults to |
| <opt>yes</opt>. The <opt>--disable-shm</opt> command line |
| argument takes precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>enable-memfd=</opt>. Enable memfd shared memory. Takes |
| a boolean argument, defaults to <opt>yes</opt>.</p> |
| </option> |
| |
| <option> |
| <p><opt>shm-size-bytes=</opt> Sets the shared memory segment |
| size for the daemon, in bytes. If left unspecified or is set to 0 |
| it will default to some system-specific default, usually 64 |
| MiB. Please note that usually there is no need to change this |
| value, unless you are running an OS kernel that does not do |
| memory overcommit.</p> |
| </option> |
| |
| <option> |
| <p><opt>lock-memory=</opt> Locks the entire PulseAudio process |
| into memory. While this might increase drop-out safety when used |
| in conjunction with real-time scheduling this takes away a lot |
| of memory from other processes and might hence considerably slow |
| down your system. Defaults to <opt>no</opt>.</p> |
| </option> |
| |
| <option> |
| <p><opt>flat-volumes=</opt> Enable 'flat' volumes, i.e. where |
| possible let the sink volume equal the maximum of the volumes of |
| the inputs connected to it. Takes a boolean argument, defaults |
| to <opt>yes</opt>.</p> |
| </option> |
| |
| </section> |
| |
| <section name="Scheduling"> |
| |
| <option> |
| <p><opt>high-priority=</opt> Renice the daemon after startup to |
| become a high-priority process. This a good idea if you |
| experience drop-outs during playback. However, this is a certain |
| security issue, since it works when called SUID root only, or |
| RLIMIT_NICE is used. root is dropped immediately after gaining |
| the nice level on startup, thus it is presumably safe. See |
| <manref section="1" name="pulseaudio"/> for more |
| information. Takes a boolean argument, defaults to <opt>yes</opt>. The <opt>--high-priority</opt> |
| command line option takes precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>realtime-scheduling=</opt> Try to acquire SCHED_FIFO |
| scheduling for the IO threads. The same security concerns as |
| mentioned above apply. However, if PA enters an endless loop, |
| realtime scheduling causes a system lockup. Thus, realtime |
| scheduling should only be enabled on trusted machines for |
| now. Please note that only the IO threads of PulseAudio are made |
| real-time. The controlling thread is left a normally scheduled |
| thread. Thus enabling the high-priority option is orthogonal. |
| See <manref section="1" name="pulseaudio"/> for more |
| information. Takes a boolean argument, defaults to <opt>yes</opt>. The |
| <opt>--realtime</opt> command line option takes precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>realtime-priority=</opt> The realtime priority to |
| acquire, if <opt>realtime-scheduling</opt> is enabled. Note: JACK uses 10 |
| by default, 9 for clients. Thus it is recommended to choose the |
| PulseAudio real-time priorities lower. Some PulseAudio threads |
| might choose a priority a little lower or higher than the |
| specified value. Defaults to <opt>5</opt>.</p> |
| </option> |
| |
| <option> |
| <p><opt>nice-level=</opt> The nice level to acquire for the |
| daemon, if <opt>high-priority</opt> is enabled. Note: on some |
| distributions X11 uses -10 by default. Defaults to -11.</p> |
| </option> |
| |
| </section> |
| |
| <section name="Idle Times"> |
| |
| <option> |
| <p><opt>exit-idle-time=</opt> Terminate the daemon after the |
| last client quit and this time in seconds passed. Use a negative value to |
| disable this feature. Defaults to 20. The <opt>--exit-idle-time</opt> |
| command line option takes precedence.</p> |
| |
| <p>When PulseAudio runs in the per-user mode and detects a login |
| session, then any positive value will be reset to 0 so that PulseAudio |
| will terminate immediately on logout. A positive value therefore has |
| effect only in environments where there's no support for login session |
| tracking. A negative value can still be used to disable any automatic |
| exit.</p> |
| |
| <p>When PulseAudio runs in the system mode, automatic exit is always |
| disabled, so this option does nothing.</p> |
| </option> |
| |
| <option> |
| <p><opt>scache-idle-time=</opt> Unload autoloaded sample cache |
| entries after being idle for this time in seconds. Defaults to |
| 20. The <opt>--scache-idle-time</opt> command line option takes |
| precedence.</p> |
| </option> |
| |
| </section> |
| |
| <section name="Paths"> |
| |
| <option> |
| <p><opt>dl-search-path=</opt> The path where to look for dynamic |
| shared objects (DSOs/plugins). You may specify more than one |
| path separated by colons. The default path depends on compile |
| time settings. The <opt>--dl-search-path</opt> command line |
| option takes precedence. </p> |
| </option> |
| |
| <option> |
| <p><opt>default-script-file=</opt> The default configuration |
| script file to load. Specify an empty string for not loading a |
| default script file. The default behaviour is to load |
| <file>~/.config/pulse/default.pa</file>, and if that file does not |
| exist fall back to the system wide installed version |
| <file>@PA_DEFAULT_CONFIG_DIR@/default.pa</file>. If run in system-wide |
| mode the file <file>@PA_DEFAULT_CONFIG_DIR@/system.pa</file> is used |
| instead. If <opt>-n</opt> is passed on the command line |
| or <opt>default-script-file=</opt> is disabled the default |
| configuration script is ignored.</p> |
| </option> |
| |
| <option> |
| <p><opt>load-default-script-file=</opt> Load the default |
| configuration script file as specified |
| in <opt>default-script-file=</opt>. Defaults to <opt>yes</opt>.</p> |
| </option> |
| |
| </section> |
| |
| <section name="Logging"> |
| |
| <option> |
| <p><opt>log-target=</opt> The default log target. Use either |
| <opt>stderr</opt>, <opt>syslog</opt>, <opt>journal</opt> (optional), |
| <opt>auto</opt>, <opt>file:PATH</opt> or <opt>newfile:PATH</opt>. On traditional |
| systems <opt>auto</opt> is equivalent to <opt>syslog</opt>. On systemd-enabled |
| systems, auto is equivalent to <opt>journal</opt>, in case <opt>daemonize</opt> |
| is enabled, and to <opt>stderr</opt> otherwise. If set to <opt>file:PATH</opt>, |
| logging is directed to the file indicated by PATH. <opt>newfile:PATH</opt> is |
| otherwise the same as <opt>file:PATH</opt>, but existing files are never |
| overwritten. If the specified file already exists, a suffix is added to |
| the file name to avoid overwriting. Defaults to <opt>auto</opt>. The |
| <opt>--log-target</opt> command line option takes precedence.</p> |
| </option> |
| |
| <option> |
| <p><opt>log-level=</opt> Log level, one of <opt>debug</opt>, |
| <opt>info</opt>, <opt>notice</opt>, <opt>warning</opt>, |
| <opt>error</opt>. Log messages with a lower log level than |
| specified here are not logged. Defaults to |
| <opt>notice</opt>. The <opt>--log-level</opt> command line |
| option takes precedence. The <opt>-v</opt> command line option |
| might alter this setting.</p> |
| </option> |
| |
| <option> |
| <p><opt>log-meta=</opt> With each logged message log the code |
| location the message was generated from. Defaults to |
| <opt>no</opt>.</p> |
| </option> |
| |
| <option> |
| <p><opt>log-time=</opt> With each logged message log the |
| relative time since startup. Defaults to <opt>no</opt>.</p> |
| </option> |
| |
| <option> |
| <p><opt>log-backtrace=</opt> When greater than 0, with each |
| logged message log a code stack trace up the specified |
| number of stack frames. Defaults to <opt>0</opt>.</p> |
| </option> |
| |
| </section> |
| |
| <section name="Resource Limits"> |
| |
| <p>See <manref name="getrlimit" section="2"/> for |
| more information. Set to -1 if PulseAudio shall not touch the resource |
| limit. Not all resource limits are available on all operating |
| systems.</p> |
| |
| <option> |
| <p><opt>rlimit-as</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-rss</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-core</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-data</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-fsize</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-nofile</opt> Defaults to 256.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-stack</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-nproc</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-locks</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-sigpending</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-msgqueue</opt> Defaults to -1.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-memlock</opt> Defaults to 16 KiB. Please note |
| that the JACK client libraries may require more locked |
| memory.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-nice</opt> Defaults to 31. Please make sure that |
| the default nice level as configured with <opt>nice-level</opt> |
| fits in this resource limit, if <opt>high-priority</opt> is |
| enabled.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-rtprio</opt> Defaults to 9. Please make sure that |
| the default real-time priority level as configured with |
| <opt>realtime-priority=</opt> fits in this resource limit, if |
| <opt>realtime-scheduling</opt> is enabled. The JACK client |
| libraries require a real-time priority of 9 by default.</p> |
| </option> |
| <option> |
| <p><opt>rlimit-rttime</opt> Defaults to 1000000.</p> |
| </option> |
| |
| </section> |
| |
| <section name="Default Device Settings"> |
| |
| <p>Most drivers try to open the audio device with these settings |
| and then fall back to lower settings. The default settings are CD |
| quality: 16bit native endian, 2 channels, 44100 Hz sampling.</p> |
| |
| <option> |
| <p><opt>default-sample-format=</opt> The default sampling |
| format. Specify one of <opt>u8</opt>, <opt>s16le</opt>, |
| <opt>s16be</opt>, <opt>s24le</opt>, <opt>s24be</opt>, |
| <opt>s24-32le</opt>, <opt>s24-32be</opt>, <opt>s32le</opt>, |
| <opt>s32be</opt> <opt>float32le</opt>, <opt>float32be</opt>, |
| <opt>ulaw</opt>, <opt>alaw</opt>. Depending on the endianness of |
| the CPU the formats <opt>s16ne</opt>, <opt>s16re</opt>, |
| <opt>s24ne</opt>, <opt>s24re</opt>, <opt>s24-32ne</opt>, |
| <opt>s24-32re</opt>, <opt>s32ne</opt>, <opt>s32re</opt>, |
| <opt>float32ne</opt>, <opt>float32re</opt> (for native, |
| resp. reverse endian) are available as aliases.</p> |
| </option> |
| |
| <option> |
| <p><opt>default-sample-rate=</opt> The default sample frequency.</p> |
| </option> |
| |
| <option> |
| <p><opt>default-sample-channels</opt> The default number of channels.</p> |
| </option> |
| |
| <option> |
| <p><opt>default-channel-map</opt> The default channel map.</p> |
| </option> |
| |
| <option> |
| <p><opt>alternate-sample-rate</opt> The alternate sample |
| frequency. Sinks and sources will use either the |
| default-sample-rate value or this alternate value, typically 44.1 |
| or 48kHz. Switching between default and alternate values is |
| enabled only when the sinks/sources are suspended. This option |
| is ignored in passthrough mode where the stream rate will be used. |
| If set to the same value as the default sample rate, this feature is |
| disabled.</p> |
| </option> |
| |
| </section> |
| |
| <section name="Default Fragment Settings"> |
| |
| <p>Some hardware drivers require the hardware playback buffer to |
| be subdivided into several fragments. It is possible to change |
| these buffer metrics for machines with high scheduling |
| latencies. Not all possible values that may be configured here are |
| available in all hardware. The driver will find the nearest |
| setting supported. Modern drivers that support timer-based |
| scheduling ignore these options.</p> |
| |
| <option> |
| <p><opt>default-fragments=</opt> The default number of |
| fragments. Defaults to 4.</p> |
| </option> |
| <option> |
| <p><opt>default-fragment-size-msec=</opt>The duration of a |
| single fragment. Defaults to 25ms (i.e. the total buffer is thus |
| 100ms long).</p> |
| </option> |
| |
| </section> |
| |
| <section name="Default Deferred Volume Settings"> |
| |
| <p>With the flat volume feature enabled, the sink HW volume is set |
| to the same level as the highest volume input stream. Any other streams |
| (with lower volumes) have the appropriate adjustment applied in SW to |
| bring them to the correct overall level. Sadly hardware mixer changes |
| cannot be timed accurately and thus this change of volumes can sometimes |
| cause the resulting output sound to be momentarily too loud or too soft. |
| So to ensure SW and HW volumes are applied concurrently without any |
| glitches, their application needs to be synchronized. The sink |
| implementation needs to support deferred volumes. The following |
| parameters can be used to refine the process.</p> |
| |
| <option> |
| <p><opt>enable-deferred-volume=</opt> Enable deferred volume for the sinks that |
| support it. This feature is enabled by default.</p> |
| </option> |
| <option> |
| <p><opt>deferred-volume-safety-margin-usec=</opt> The amount of time (in |
| usec) by which the HW volume increases are delayed and HW volume |
| decreases are advanced. Defaults to 8000 usec.</p> |
| </option> |
| <option> |
| <p><opt>deferred-volume-extra-delay-usec=</opt> The amount of time (in usec) |
| by which HW volume changes are delayed. Negative values are also allowed. |
| Defaults to 0.</p> |
| </option> |
| |
| </section> |
| |
| <section name="Authors"> |
| <p>The PulseAudio Developers <@PACKAGE_BUGREPORT@>; PulseAudio is available from <url href="@PACKAGE_URL@"/></p> |
| </section> |
| |
| <section name="See also"> |
| <p> |
| <manref name="pulse-client.conf" section="5"/>, <manref name="default.pa" section="5"/>, <manref name="pulseaudio" section="1"/>, <manref name="pacmd" section="1"/> |
| </p> |
| </section> |
| |
| </manpage> |