Network audio (TCP sink)
Your odio node advertises itself as a network audio sink via PulseAudio Zeroconf. Any Linux desktop on the same network can use it as an audio output — browser, media players, games, system sounds, everything.
On PipeWire desktops (recommended)
Section titled “On PipeWire desktops (recommended)”Most modern Linux distributions ship PipeWire by default (Fedora 34+, Debian 12+, Ubuntu 22.10+).
-
Install the Zeroconf discovery module:
Terminal window # Fedorasudo dnf install pipewire-module-zeroconf-discover# Debian / Ubuntusudo apt install pipewire-pulse -
Add to your PipeWire-pulse config (
~/.config/pipewire/pipewire-pulse.conf.d/zeroconf.conf):context.modules = [{ name = libpipewire-module-zeroconf-discover }] -
Restart PipeWire:
Terminal window systemctl --user restart pipewire-pulse
Your odio node appears in your system’s sound settings as an audio output. Select it and all desktop audio routes to the Pi.
Verify discovery
Section titled “Verify discovery”Check that your desktop sees the odio sink via Zeroconf:
$ avahi-browse -a | grep pulse+ enp2s0 IPv4 pi@odio: Audio interne Stéréo _pulse-sink._tcp localAnd via PipeWire:
$ wpctl statusPipeWire 'pipewire-0' [1.4.9, bobby@bobby-desktop, cookie:**********]... ├─ Sinks: │ ... │ 83. Audio interne Stéréo on pi@odio [vol: 1.00]PulseAudio cookie
Section titled “PulseAudio cookie”If authentication is required, download the cookie from your odio node and save it locally:
curl -o ~/.config/pulse/cookie http://<hostname>.local:8018/audio/cookiechmod 600 ~/.config/pulse/cookieOn PulseAudio desktops
Section titled “On PulseAudio desktops”-
Install the Zeroconf module:
Terminal window sudo apt install pulseaudio-module-zeroconf avahi-daemon -
Enable network discovery in PulseAudio (via
paprefsor by adding to your PulseAudio config):load-module module-zeroconf-discover -
Restart PulseAudio:
Terminal window systemctl --user restart pulseaudio
Verify discovery
Section titled “Verify discovery”Check that your desktop sees the odio sink:
$ avahi-browse -a | grep Pulse+ enp2s0 IPv4 pi@odio: Built-in Audio Stereo PulseAudio Sound Sink local$ pactl list sinks...Sink #49 State: SUSPENDED Name: tunnel.odio.local.alsa_output.platform-soc_sound.stereo-fallback Description: Built-in Audio Stereo on pi@odio Driver: module-tunnel.c ...The Pi appears as an audio sink in your sound settings or pavucontrol.
Integration
Section titled “Integration”Connected TCP clients appear in the odio application and Home Assistant. You can control per-client volume and mute from the UI.