.TH "pipewire-pulse.conf" 5 "1.0.5" "PipeWire" \" -*- nroff -*- .ad l .nh .SH NAME pipewire-pulse.conf \- pipewire-pulse\&.conf 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 \fCpipewire-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 \fCstream\&.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 \fC/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 \fCstream\&.rules\fP section works the same as \fBpipewire-client\&.conf(5) stream\&.rules\fP\&. .SH "PULSEAUDIO PROPERTIES" .PP For \fCpulse\&.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 \fCpulse\&.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 \fCpulse\&.cmd\fP section in \fCpipewire-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 \fCpulse\&.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