Site icon { the code ninja }

Pipewire Combined Sink

Pipewire Featured Image

Pipewire Featured Image

Pipewire comes with a native module to send audio output to all connected audio devices. This is done by creating a combined output sink using module-combine-stream in Pipewire config. This is ideal if you have multiple Bluetooth headsets or speakers and want to output same audio to all of them at the same time.

The following instructions are tested on Debian 12 (Bookwork) using Gnome. They should work on other Debian based distros i.e. Ubuntu, Mint

The basic steps are as follows:

# Open pipewire.conf
sudo nano /usr/share/pipewire/pipewire.conf

# Add module-combine-stream to context.modules block. 
context.modules = [
{   name = libpipewire-module-combine-stream
    args = {
        combine.mode = sink
        node.name = "my_combined_sink"
        node.description = "My Combined Sink"
        combine.props = {
            audio.position = [ FL FR ]
        }
        stream.rules = [
            {
                matches = [
                    {
                        media.class = "Audio/Sink"
                    }
                ]
                actions = {
                    create-stream = {
                    }
                }
            }
        ]
    }
}
]

# Restart Pipewire
systemctl --user restart pipewire pipewire-pulse

Once restarted, “All Connected Outputs” will appear in Top Panel and Sound Settings

Exit mobile version