pipewire-client.conf(5) -*- nroff -*- pipewire-client.conf(5) (NAME) pipewire-client.conf - PipeWire (SYNOPSIS) /pipewire/client.conf /etc/pipewire/client.conf /usr/share/pipewire/client.conf /usr/share/pipewire/client.conf.d/ /etc/pipewire/client.conf.d/ /pipewire/client.conf.d/ (DESCRIPTION) PipeWire ALSA PipeWire. PipeWire client.conf . pipewire.conf(5) . (drop-in) client.conf.d/*.conf . pipewire.conf(5) . (CONFIGURATION FILE SECTIONS) stream.properties . stream.rules . alsa.properties ALSA. alsa.rules ALSA. (context) PipeWire pipewire.conf(5) . (STREAM PROPERTIES) stream.properties : # ~/.config/pipewire/client.conf.d/custom.conf stream.properties = { #node.latency = 1024/48000 #node.autoconnect = true #resample.disable = false #resample.quality = 4 #resample.window = exp # blackman kaiser #resample.cutoff = 0.0 #resample.n-taps = 0 #resample.param.exp.A = 0.0 #resample.param.blackman.alpha = 0.0 #resample.param.kaiser.alpha = 0.0 #resample.param.kaiser.stopband-attenuation = 0.0 #resample.param.kaiser.transition-bandwidth = 0.0 #monitor.channel-volumes = false #channelmix.disable = false #channelmix.min-volume = 0.0 #channelmix.max-volume = 10.0 #channelmix.normalize = false #channelmix.lock-volume = 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 = } : o . o . o . o (session manager). o . o . pipewire-props(7) Common Node Properties pipewire- props(7) Audio Adapter Properties . (STREAM RULES) ( pipewire(1) ) . stream.rules filter.rules update-props (node) . stream.rules filter.rules : # ~/.config/pipewire/client.conf.d/custom.conf stream.rules = [ { matches = [ { # all keys must match the value. ! negates. ~ starts regex. application.process.binary = "firefox" } ] actions = { update-props = { node.name = "My Name" } } } ] node.name Firefox "My Name" . ALSA (ALSA CLIENT PROPERTIES) alsa.properties ALSA PipeWire . # ~/.config/pipewire/client.conf.d/custom.conf alsa.properties = { #alsa.deny = false #alsa.format = 0 #alsa.rate = 0 #alsa.channels = 0 #alsa.period-bytes = 0 #alsa.buffer-bytes = 0 #alsa.volume-method = cubic # linear, cubic } alsa.deny ALSA . PIPEWIRE_ALSA . alsa.format ALSA . ALSA . 0 . alsa.rate . 0 . alsa.channels . 0 . alsa.period-bytes (period). 0 . alsa.buffer-bytes ALSA. 0 . alsa.volume-method = cubic | linear ALSA . cubic linear. cubic . ALSA (ALSA CLIENT RULES) ALSA ( pipewire(1) ) . ALSA stream.properties . (Example) # ~/.config/pipewire/client.conf.d/custom.conf alsa.rules = [ { matches = [ { application.process.binary = "resolve" } ] actions = { update-props = { alsa.buffer-bytes = 131072 } } } ] (ENVIRONMENT VARIABLES) pipewire(1) . . ALSA ALSA PipeWire . PIPEWIRE_ALSA alsa.properties stream.properties . : PIPEWIRE_ALSA='{ alsa.buffer-bytes=16384 node.name=foo }' aplay ... aplay . PIPEWIRE_NODE ALSA object.serial node.name . : PIPEWIRE_NODE=alsa_output.pci-0000_00_1b.0.analog-stereo aplay ... aplay . (AUTHORS) PipeWire PipeWire . (SEE ALSO) libpipewire-module-protocol-pulse(7), pipewire.conf(5), pipewire- pulse(1), pipewire-pulse-modules(7) PipeWire 1.6.8 pipewire-client.conf(5)