PulseAudio over Network
This is way out of date now
The information in this post is so out-dated that I wonder why I'm keeping it around. I guess I'm a digital hoarder...
I've been banging my head against this one since I started using a second workstation here at work (Fedora 17). File sharing, mouse and keyboard sharing, and syncing my wallpapers over the network was pretty simple, but there was one nagging issue. Sound.
I found myself missing chats due to the lack of an audible notification. I use headphones to block out the outside world, plus I like having my chat window on my second workstation so I can work on the first. Ok...enough background. Lets get down to business.
Needed package(s): paprefs
, pulseaudio-module-zeroconf
, and avahi
Conf file to tweak: /etc/pulse/default.pa
Lines to add or uncomment*
(Server)
Uncomment - load-module module-native-protocol-tcp
Uncomment - load-module module-zeroconf-publish
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp
load-module module-zeroconf-publish
(Client)
Uncomment - load-module module-native-protocol-tcp
Add - load-module module-zeroconf-discover
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
load-module module-native-protocol-tcp
#load-module module-zeroconf-publish
load-module module-zeroconf-discover
Now, run paprefs
Network Access Tab (Server and Client)
Check - Make discoverable PulseAudio network...
Network Server Tab
Check - Enable network access to local sound devices
Check - Allow other machines on the LAN to discover...
*Big hammer approach (both can be server or client)
Authentication and Firewall*
For authentication, just copy ~/.pulse-cookie from your Server machine to the Client.
Edit your servers firewall rules to allow upd port 5353 for avahi and tcp port 4713 for pulseaudio
Finally, restart X on both Server and Client.
On the client, Run gnome-control-center --overview
and select 'Sound'
There should now be an entry for your server in the output tab. After selecting that, all sound generated on the client, should be passed to the server!