This is to supplement OP's answer:
According to man pipewire.conf
(and a bit of inferencing), you can use drop-in files to the same effect, so this should be the preferred way to do it IMO.
The directories are /etc/pipewire/pipewire-pulse.conf.d/
for global and $XDG_CONFIG_HOME/pipewire/pipewire-pulse.conf.d/
for user (which defaults to ~/.config/pipewire/pipewire-pulse.conf.d/
if $XDG_CONFIG_HOME
is unset).
So just create this file (mkdir -p
if directory does not exist):
$XDG_CONFIG_HOME/pipewire/pipewire.conf.d/add-combined-sink.conf
context.exec = [
{ path = "pactl" args = "load-module module-combine-sink" }
]
Note that in my testing, if I put the drop-in file in /etc/pipewire/pipewire-pulse.conf.d/
, something weird happens to the combined output (pitch becomes higher and introduces regular stutters).
If I have to guess, it's probably something related to the modules' loading order: most likely there is a way to fix it, but I haven't bothered to investigate. Putting it in $XDG_CONFIG_HOME/pipewire/pipewire-pulse.conf.d/
works just fine though, so that's what I did.