Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
pulse-daemon.conf(5)	      File Formats Manual	  pulse-daemon.conf(5)

       pulse-daemon.conf - PulseAudio daemon configuration file





       The  PulseAudio sound server reads configuration	directives from	a con-
       figuration file on startup. If the per-user  file  ~/.config/pulse/dae-
       mon.conf	 exists,  it  is used, otherwise the system configuration file
       /usr/local/etc/pulse/daemon.conf	is used. In  addition  to  those  main
       files, configuration directives can also	be put in files	under directo-
       ries   ~/.config/pulse/daemon.conf.d/   and   /usr/local/etc/pulse/dae-
       mon.conf.d/.  Those  files  have	to have	the .conf file name extension,
       but otherwise the file names can	be chosen freely. The files under dae-
       mon.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 ear-
       lier  files.  The  main daemon.conf file	is processed first, so options
       set in files under daemon.conf.d	override the main file.

       Please note that	the  server  also  reads  a  configuration  script  on
       startup.	See

       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.

       For  the	settings that take a boolean argument the values true, yes, on
       and 1 are equivalent, resp. false, no, off, 0.

       daemonize=  Daemonize after startup. Takes a boolean value, defaults to
       no. The --daemonize command line	option takes precedence.

       fail=  Fail  to	start up if any	of the directives in the configuration
       script fail. Takes a boolean argument, defaults to yes.  The
       --fail command line option takes	precedence.

       allow-module-loading= Allow/disallow module loading after startup. This
       is a security feature that if disabled makes sure that no further  mod-
       ules  may be loaded into	the PulseAudio server after startup completed.
       It is recommended to disable  this  when	 system-instance  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  yes.	The --disallow-module-loading command line option takes	prece-

       allow-exit= Allow/disallow exit on user request.	Defaults to yes.

       resample-method=	The resampling algorithm to use. Use one of  src-sinc-
       best-quality,  src-sinc-medium-quality,	src-sinc-fastest, src-zero-or-
       der-hold, src-linear, trivial,  speex-float-N,  speex-fixed-N,  ffmpeg,
       soxr-mq,	 soxr-hq, soxr-vhq. See	the documentation of libsamplerate and
       speex for explanations of the different src- and	 speex-	 methods,  re-
       spectively. The method trivial 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:  fixed	 and  float.  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  li-
       brary  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 (usu-
       ally up to around 20 ms,	in rare	cases more). See the output  of	 dump-
       resample-methods	 for  a	complete list of all available resamplers. De-
       faults to speex-float-1.	 The  --resample-method	 command  line	option
       takes precedence. Note that some	modules	overwrite or allow overwriting
       of the resampler	to use.

       avoid-resampling= If set, try to	configure the device to	 avoid	resam-
       pling.  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.

       enable-remixing=	If disabled never upmix	or downmix channels to differ-
       ent  channel  maps.  Instead, do	a simple name-based matching only. De-
       faults to yes.

       remixing-use-all-sink-channels= 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 yes.

       enable-lfe-remixing= 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 in-
       put 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 chan-
       nel will	be ignored. Defaults to	no.

       lfe-crossover-freq= The crossover frequency (in Hz) for the LFE filter.
       Set it to 0 to disable the LFE filter. Defaults to 0.

       use-pid-file=  Create  a	 PID  file in the runtime directory ($XDG_RUN-
       TIME_DIR/pulse/pid). If this is	enabled	 you  may  use	commands  like
       --kill  or --check. If you are planning to start	more than one PulseAu-
       dio process per user, you better	disable	this option  since  it	effec-
       tively  disables	multiple instances. Takes a boolean argument, defaults
       to yes. The --use-pid-file command line option takes precedence.

       cpu-limit= If disabled do not install the CPU  load  limiter,  even  on
       platforms  where	 it  is	 supported.  This option is useful when	debug-
       ging/profiling PulseAudio to disable disturbing SIGXCPU signals.	 Takes
       a boolean argument, defaults to no. The --no-cpu-limit command line ar-
       gument takes precedence.

       system-instance=	Run the	daemon as system-wide instance,	requires  root
       privileges. Takes a boolean argument, defaults to no. The --system com-
       mand line argument takes	precedence.

       local-server-type= 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 system-instance
       option. This option takes one of	user, system or	none as	the  argument.
       This  is	 essentially  a	 duplicate for the system-instance option. The
       difference is the none option, which is useful when you want to	use  a
       remote  server with D-Bus clients. If both this and system-instance are
       defined,	this option takes precedence. Defaults to whatever the system-
       instance	is set.

       enable-shm=  Enable  data  transfer  via	 POSIX or memfd	shared memory.
       Takes a boolean argument, defaults to yes.  The	--disable-shm  command
       line argument takes precedence.

       enable-memfd=.  Enable  memfd  shared memory. Takes a boolean argument,
       defaults	to yes.

       shm-size-bytes= Sets the	shared memory segment size for the daemon,  in
       bytes.  If left unspecified or is set to	0 it will default to some sys-
       tem-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.

       lock-memory= 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 no.

       flat-volumes=  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 yes.

       high-priority=  Renice the daemon after startup to become a high-prior-
       ity process. This a good	idea if	you experience drop-outs during	 play-
       back.  However,	this  is a certain security issue, since it works when
       called SUID root	only, or RLIMIT_NICE is	used. root is dropped  immedi-
       ately  after  gaining  the nice level on	startup, thus it is presumably
       safe. See pulseaudio(1) for more	information. Takes a boolean argument,
       defaults	 to  yes. The --high-priority command line option takes	prece-

       realtime-scheduling= 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 ma-
       chines 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
       pulseaudio(1)  for more information. Takes a boolean argument, defaults
       to yes. The --realtime command line option takes	precedence.

       realtime-priority= The realtime priority	to acquire, if realtime-sched-
       uling 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 5.

       nice-level= The nice level to acquire for the daemon, if	 high-priority
       is  enabled.  Note:  on some distributions X11 uses -10 by default. De-
       faults to -11.

       exit-idle-time= Terminate the daemon after the  last  client  quit  and
       this  time in seconds passed. Use a negative value to disable this fea-
       ture. Defaults to 20. The --exit-idle-time command  line	 option	 takes

	      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.

	      When PulseAudio runs in the system mode, automatic exit  is  al-
	      ways disabled, so	this option does nothing.

       scache-idle-time=  Unload  autoloaded  sample cache entries after being
       idle for	this time in seconds. Defaults to 20.  The  --scache-idle-time
       command line option takes precedence.

       dl-search-path=	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 --dl-search-path
       command line option takes precedence.

       default-script-file= The	default	configuration  script  file  to	 load.
       Specify	an empty string	for not	loading	a default script file. The de-
       fault behaviour is to load ~/.config/pulse/, and if that file
       does  not exist fall back to the	system wide installed version /usr/lo-
       cal/etc/pulse/ If run	in system-wide mode the	file  /usr/lo-
       cal/etc/pulse/ is used instead.	If -n is passed	on the command
       line or default-script-file=  is	 disabled  the	default	 configuration
       script is ignored.

       load-default-script-file= Load the default configuration	script file as
       specified in default-script-file=. Defaults to yes.

       log-target= The default log target. Use either stderr, syslog,  journal
       (optional),  auto,  file:PATH  or  newfile:PATH.	On traditional systems
       auto is equivalent to  syslog.  On  systemd-enabled  systems,  auto  is
       equivalent to journal, in case daemonize	is enabled, and	to stderr oth-
       erwise. If set to file:PATH, logging is directed	to the file  indicated
       by  PATH. newfile:PATH is otherwise the same as file:PATH, 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
       auto. The --log-target command line option takes	precedence.

       log-level= Log level, one of debug, info, notice, warning,  error.  Log
       messages	with a lower log level than specified here are not logged. De-
       faults to notice. The --log-level command line option takes precedence.
       The -v command line option might	alter this setting.

       log-meta=  With	each  logged message log the code location the message
       was generated from. Defaults to no.

       log-time= With each logged message log the relative time	since startup.
       Defaults	to no.

       log-backtrace= When greater than	0, with	each logged message log	a code
       stack trace up the specified number of stack frames. Defaults to	0.

       See getrlimit(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.

       rlimit-as Defaults to -1.

       rlimit-rss Defaults to -1.

       rlimit-core Defaults to -1.

       rlimit-data Defaults to -1.

       rlimit-fsize Defaults to	-1.

       rlimit-nofile Defaults to 256.

       rlimit-stack Defaults to	-1.

       rlimit-nproc Defaults to	-1.

       rlimit-locks Defaults to	-1.

       rlimit-sigpending Defaults to -1.

       rlimit-msgqueue Defaults	to -1.

       rlimit-memlock Defaults to 16 KiB. Please note that the JACK client li-
       braries may require more	locked memory.

       rlimit-nice  Defaults  to  31.  Please  make sure that the default nice
       level as	configured with	nice-level fits	in  this  resource  limit,  if
       high-priority is	enabled.

       rlimit-rtprio  Defaults	to  9. Please make sure	that the default real-
       time priority level as configured with realtime-priority= fits in  this
       resource	 limit,	if realtime-scheduling is enabled. The JACK client li-
       braries require a real-time priority of 9 by default.

       rlimit-rttime Defaults to 1000000.

       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.

       default-sample-format= The default sampling format. Specify one of  u8,
       s16le, s16be, s24le, s24be, s24-32le, s24-32be, s32le, s32be float32le,
       float32be, ulaw,	alaw. Depending	on the endianness of the CPU the  for-
       mats  s16ne,  s16re,  s24ne,  s24re,  s24-32ne, s24-32re, s32ne,	s32re,
       float32ne, float32re (for native, resp. reverse endian)	are  available
       as aliases.

       default-sample-rate= The	default	sample frequency.

       default-sample-channels The default number of channels.

       default-channel-map The default channel map.

       alternate-sample-rate 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.

       Some hardware drivers require the hardware playback buffer to be	subdi-
       vided  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.

       default-fragments= The default number of	fragments. Defaults to 4.

       default-fragment-size-msec=The  duration	of a single fragment. Defaults
       to 25ms (i.e. the total buffer is thus 100ms long).

       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	imple-
       mentation needs to support deferred volumes. The	 following  parameters
       can be used to refine the process.

       enable-deferred-volume=	Enable deferred	volume for the sinks that sup-
       port it.	This feature is	enabled	by default.

       deferred-volume-safety-margin-usec= The amount of  time	(in  usec)  by
       which  the  HW volume increases are delayed and HW volume decreases are
       advanced. Defaults to 8000 usec.

       deferred-volume-extra-delay-usec= The amount of time (in	usec) by which
       HW  volume  changes  are	delayed. Negative values are also allowed. De-
       faults to 0.

       The  PulseAudio	Developers  <pulseaudio-discuss	  (at)	 lists	 (dot)
       freedesktop  (dot)  org>;  PulseAudio is	available from http://pulseau-

       pulse-client.conf(5),, pulseaudio(1), pacmd(1)

Manuals				     User		  pulse-daemon.conf(5)


Want to link to this manual page? Use this URL:

home | help