PulseAudio actually has great networking capabilities. Especially when combined with Avahi/Zeroconf it is especially easy to set up, though technically it should also be possible without.
- Open /etc/pulseaudio/default.pa
- At the end of the file, add
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.254.0/24 auth-anonymous=1
to activate networked audio from 192.168.254.0-255 without needing authentication. - Kill pulseaudio, it should be auto-restarted, or restart your login session to activate the changes. You should now be able to set
PULSE_SERVER=192.168.254.XXX
and have the remote audio working! If not check the firewall settings, PulseAudio seems to open a random port by default.
- On both the server and client, install
pulseaudio-module-zeroconf
andavahi
, then after installing make sure Avahi always runs by runningsystemctl enable --now avahi-daemon