Ubuntu – Airplay sink no longer visible in pulseaudio


I'm trying to send audio over airplay (RAOP) from Ubuntu 14.04. The pulseaudio-module-raop in Ubuntu used to support my 2nd-gen Airport Express, but it no longer appears in my list of pulseaudio sinks. It's been 6 months since I used it, with a lot changing on my system, including a successful upgrade from 12.04 to 14.04. Somewhere along the line I assume something got misconfigured or maybe a prefs file deleted.

I've enabled "Make discoverable Airplay AirTunes" sound devices locally. I've tried deleting the pulseaudio preference files I can find and uninstalling/reinstalling pulseaudio; airplay still doesn't work. I even upgraded to the in-development pulseaudio 5.0 – same results. Pulse seems to work fine except it doesn't "see" my Airplay devices.

As an experiment, I built the experimental RAOP2 version of pulse. It sees my devices and can send audio to them, but it has to be be manually launched and I'd rather be using something from a ppa for updates, etc. I know it used to work so I want to get it (not the experimental raop2 – I already have that working) going again.

Not sure where to look next.

Best Answer

From the RAOP2 site here's the guide to get RAOP2 working:

First set up your build system.

sudo apt-get install build-essential paprefs git pulseaudio-module-raop intltool libjack0
sudo apt-get build-dep pulseaudio

Now get the code and build the software

git clone https://github.com/hfujita/pulseaudio-raop2.git
cd pulseaudio-raop2
CFLAGS="-ggdb3 -O0" LDFLAGS="-ggdb3" ./configure --prefix=$HOME --enable-x11 --disable-hal-compat

Now before you can run your new pulseaudio, you need to make some settings and kill the original pulseaudio.

Run paprefs and check the option to make AirTunes devices available.paprefs dialog

Prevent pulseaudio from starting automatically:

mkdir ~/.pulse
echo "autospawn=no" >> ~/.pulse/client.conf

On Ubuntu 14.10 and earlier you need to copy over the alsa configuration:

cp /usr/share/pulseaudio/alsa-mixer/profile-sets/extra-hdmi.conf src/modules/alsa/mixer/profile-sets/

Now to every time you want to use an AirPlay speaker you need to run your new pulseaudio by doing these two things: kill all existing instances of pulseaudio and run the new one (from the pulseaudio-raop2 directory):

pkill pulseaudio
./src/pulseaudio -n -F src/default.pa -p $(pwd)/src/ --log-time=1 -vvvv 2>&1 | tee pulse.log

This also creates a log file while running, which should help to identify problems.

To stop the RAOP2 version of pulseaudio, press ctrl+c and start the original one with pulseaudio -D