.TH "pipewire-pulse.conf" 5 "1.0.6" "PipeWire" \" -*- nroff -*- .ad l .nh .SH NAME pipewire-pulse.conf \- pipewire-pulse\&.conf .SH DESCRIPTION .PP The PipeWire Pulseaudio server configuration file .PP .SH "SYNOPSIS" .PP .PP \fI$XDG_CONFIG_HOME/pipewire/pipewire-pulse\&.conf\fP .PP \fI/etc/pipewire/pipewire-pulse\&.conf\fP .PP \fI/usr/share/pipewire/pipewire-pulse\&.conf\fP .PP \fI/usr/share/pipewire/pipewire-pulse\&.conf\&.d/\fP .PP \fI/etc/pipewire/pipewire-pulse\&.conf\&.d/\fP .PP \fI$XDG_CONFIG_HOME/pipewire/pipewire-pulse\&.conf\&.d/\fP .PP .SH "DESCRIPTION" .PP .PP Configuration for PipeWire's PulseAudio-compatible daemon\&. .PP The configuration file format and lookup logic is the same as for \fBpipewire\&.conf(5)\fP\&. .PP Drop-in configuration files \fRpipewire-pulse\&.conf\&.d/*\&.conf\fP can be used, and are recommended\&. See \fBpipewire\&.conf(5)\fP\&. .SH "CONFIGURATION FILE SECTIONS" .PP \fBstream\&.properties\fP .RS 4 Dictionary\&. These properties configure the PipeWire Pulseaudio server properties\&. .RE .PP \fBstream\&.rules\fP .RS 4 Dictionary\&. These properties configure the PipeWire Pulseaudio server properties\&. .RE .PP \fBpulse\&.properties\fP .RS 4 Dictionary\&. These properties configure the PipeWire Pulseaudio server properties\&. .RE .PP \fBpulse\&.cmd\fP .RS 4 Array of dictionaries\&. A set of commands to be executed on startup\&. .RE .PP \fBpulse\&.rules\fP .RS 4 Array of dictionaries\&. A set of match rules and actions to apply to clients\&. .RE .PP See \fBlibpipewire-module-protocol-pulse(7)\fP for the detailed description\&. .PP In addition, the PipeWire context configuration sections may also be specified, see \fBpipewire\&.conf(5)\fP\&. .SH "STREAM PROPERTIES" .PP The \fRstream\&.properties\fP section contains properties for streams created by the pipewire-pulse server\&. .PP Available options are described in \fBpipewire-client\&.conf(5) stream\&.properties\fP\&. .PP Some of these properties map to the PulseAudio \fR/etc/pulse/default\&.pa\fP config entries as follows: .PP PulseAudio PipeWire Notes remixing-use-all-sink-channels channelmix\&.upmix remixing-produce-lfe channelmix\&.lfe-cutoff Set to > 0 to enable remixing-consume-lfe channelmix\&.mix-lfe lfe-crossover-freq channelmix\&.lfe-cutoff .PP .SS "Example" .PP .PP .nf stream\&.properties = { #node\&.latency = 1024/48000 #node\&.autoconnect = true #resample\&.disable = false #resample\&.quality = 4 #monitor\&.channel\-volumes = false #channelmix\&.disable = false #channelmix\&.min\-volume = 0\&.0 #channelmix\&.max\-volume = 10\&.0 #channelmix\&.normalize = false #channelmix\&.mix\-lfe = true #channelmix\&.upmix = true #channelmix\&.upmix\-method = psd # none, simple #channelmix\&.lfe\-cutoff = 150\&.0 #channelmix\&.fc\-cutoff = 12000\&.0 #channelmix\&.rear\-delay = 12\&.0 #channelmix\&.stereo\-widen = 0\&.0 #channelmix\&.hilbert\-taps = 0 #dither\&.noise = 0 #dither\&.method = none # rectangular, triangular, triangular\-hf, wannamaker3, shaped5 #debug\&.wav\-path = "" } .fi .PP .SH "STREAM RULES" .PP The \fRstream\&.rules\fP section works the same as \fBpipewire-client\&.conf(5) stream\&.rules\fP\&. .SH "PULSEAUDIO PROPERTIES" .PP For \fRpulse\&.properties\fP section, see \fBlibpipewire-module-protocol-pulse(7)\fP for available options\&. .SH "PULSEAUDIO RULES" .PP For each client, a set of rules can be written in \fRpulse\&.rules\fP section to configure quirks of the client or to force some pulse specific stream configuration\&. .PP The general look of this section is as follows and follows the layout of \fBmatch rules, see pipewire(1)\fP\&. .PP See \fBlibpipewire-module-protocol-pulse(7)\fP for available options\&. .PP .SS "Example" .PP .PP .nf pulse\&.rules = [ { # skype does not want to use devices that don't have an S16 sample format\&. matches = [ { application\&.process\&.binary = "teams" } { application\&.process\&.binary = "teams\-insiders" } { application\&.process\&.binary = "skypeforlinux" } ] actions = { quirks = [ force\-s16\-info ] } } { # speech dispatcher asks for too small latency and then underruns\&. matches = [ { application\&.name = "~speech\-dispatcher*" } ] actions = { update\-props = { pulse\&.min\&.req = 1024/48000 # 21ms pulse\&.min\&.quantum = 1024/48000 # 21ms } } } ] .fi .PP .SH "PULSEAUDIO COMMANDS" .PP As part of the server startup procedure you can execute some additional commands with the \fRpulse\&.cmd\fP section in \fRpipewire-pulse\&.conf\fP\&. .PP .PP .nf \&.\&.\&. pulse\&.cmd = [ { cmd = "load\-module" args = "module\-always\-sink" flags = [ ] } { cmd = "load\-module" args = "module\-switch\-on\-connect" } { cmd = "load\-module" args = "module\-gsettings" flags = [ "nofail" ] } ] \&.\&.\&. .fi .PP .PP Additional commands can also be run via the \fBcontext\&.exec section, see pipewire\&.conf(5)\fP\&. .PP Supported commands: .PP \fBload-module \fP .RS 4 Load the specified Pulseaudio module on startup, as if using \fBpactl(1)\fP to load the module\&. .RE .PP .SH "PULSEAUDIO MODULES" .PP For contents of section \fRpulse\&.modules\fP, see \fBpipewire-pulse-modules(7)\fP\&. .PP .SH "AUTHORS" .PP .PP The PipeWire Developers ; PipeWire is available from .PP .SH "SEE ALSO" .PP .PP \fBlibpipewire-module-protocol-pulse(7)\fP, \fBpipewire\&.conf(5)\fP, \fBpipewire-pulse(1)\fP, \fBpipewire-pulse-modules(7)\fP