Snapcast Server Setup: Difference between revisions

From max.wiki
Jump to navigation Jump to search
Created page with "Notes for '''setting up Snapcast''' (https://github.com/badaix/snapcast) for multi-device audio playback. == PipeWire as Player == To configure PipeWire as a player for Snapcast, create the file <code>10-snapcast-pipe-sink.conf</code> in <code>/etc/pipewire/pipewire.conf.d/</code> (or in <code>~/.config/pipewire/pipewire.conf.d/</code>): <nowiki>context.modules = [ { name = libpipewire-module-pipe-tunnel args = { tunnel.mode = sink..."
 
m Category
 
Line 29: Line 29:
* PipeWire documentation on pipe tunnel module: https://docs.pipewire.org/page_module_pipe_tunnel.html
* PipeWire documentation on pipe tunnel module: https://docs.pipewire.org/page_module_pipe_tunnel.html
* Snapcast docs on player setup: https://github.com/badaix/snapcast/blob/develop/doc/player_setup.md#pulseaudio
* Snapcast docs on player setup: https://github.com/badaix/snapcast/blob/develop/doc/player_setup.md#pulseaudio
[[Category:System Configuration]]

Latest revision as of 20:54, 31 August 2025

Notes for setting up Snapcast (https://github.com/badaix/snapcast) for multi-device audio playback.

PipeWire as Player

To configure PipeWire as a player for Snapcast, create the file 10-snapcast-pipe-sink.conf in /etc/pipewire/pipewire.conf.d/ (or in ~/.config/pipewire/pipewire.conf.d/):

context.modules = [
    {
        name = libpipewire-module-pipe-tunnel
        args = {
            tunnel.mode = sink
            pipe.filename = "/tmp/snapfifo"
            audio.format = S16LE
            audio.rate = 48000
            audio.channels = 2
            audio.position = [ FL FR ]
            stream.props = {
                node.name = Snapcast
            }
        }
    }
]

Then, restart PipeWire: systemctl --user status wireplumber pipewire pipewire-pulse.

Resources