Evan Martin (evan) wrote in evan_tech,
Evan Martin

network sound between linux and mac

Thanks to a tip from mart and a followup from jmason, it turned out to be nearly trivial.
  1. Instead esound on the Mac. I used MacPorts: sudo port install esound.
  2. Configure esound to allow any client: sudo vi /opt/local/etc/esd.conf and change the default_options line to read:
    default_options=-tcp -public -promiscuous -port 5678
  3. Start esd: esd & .
  4. Back on the Linux box, tell PulseAudio about the new network device:
    pactl load-module module-esound-sink sink_name=projectar server=projectar.local:5678
    (You can pick your own sink_name, of course, and also the server; I'm using zeroconf.)
  5. Tell PulseAudio to use the network device. I think this means running padevchooser and clicking through the obvious menus to set the "sink", but it also seems that program may be deprecated in favor of pavucontrol, which also involves clicking through the obvious menus to set the same setting. Or you can do it from the command line with pacmd and set-default-sink .
Depending on the app, you have to tell it to use pulse for output. Gnome stuff seems to default that way. For mplayer, pass -ao pulse .

The remaining bit I don't understand is that it seems to remember the output device for different applications. What I'd prefer is a global switch: local or network. I haven't figured out quite where this sort of info lives, though.

  • closest computer

    I have a computer in the closet that serves music. I haven't thought much about the computer as I've used it -- I just know it's always available on…

  • fonts on linux

    I wrote a document on how to diagnose font problems on Linux. I would appreciate feedback, corrections, other common misconfigurations, etc.

  • münchen

    On that note: I'm living in Munich for the next week plus a few days. Do I know anyone around here? (PS: The LJ → PubSubHubbub → Reader…

  • Post a new comment


    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.