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..."
 
status -> restart
 
(One intermediate revision by the same user not shown)
Line 22: Line 22:
]</nowiki>
]</nowiki>


Then, restart PipeWire: <code>systemctl --user status wireplumber pipewire pipewire-pulse</code>.
Then, restart PipeWire: <code>systemctl --user restart wireplumber pipewire pipewire-pulse</code>.


== Resources ==
== Resources ==
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 14:57, 22 February 2026

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 restart wireplumber pipewire pipewire-pulse.

Resources