Ubuntu - No sound/sound card in Rivendell after setup
From Rivendell Wiki
Q: I just did a fresh install of Rivendell on Ubuntu (Lucid, Karmic, maybe earlier releases as well,( please add release names if you test this.)) but I have no sound in RDAirplay and in RDAdmin under Audio Resources it shows no sound cards. I have a /etc/asound.conf file setup correctly. What could possibly be wrong?
A: It can happen that there will be a conflict between pulseaudio and the Rivendell daemons. They are trying to start around the same time and it seems that pulseaudio grabs the sound card then and before it can let it go Rivendell's Core Audio Engine (cae) is trying to find it too. It finds it busy or gets no response and assumes that there is no sound card and starts the daemons that way, thus you have no sound and no sound card shows up in RDAdmin under Audio Resources.
You might think that a possible solution is to un-install pulseaudio. You reason that we are using Rivendell and pulseaudio is a audio sound system that Rivendell does not work with. asihpi, alsa, and jack are sound systems that it does work with. However, this will not work! Trying to remove the package pulseaudio means that you have to remove the package ubuntu-desktop which it depends on. It is the Ubuntu desktop system. This package depends on all of the packages in the Ubuntu desktop system. It is also used to help ensure proper upgrades, so it is recommended that it not be removed.
You might think that you could just run a command like
killall pulseaudio
and that would be the end of pulseaudio but it is setup in Ubuntu to start and auto spawn every time it gets killed.
The Solution: Copy /etc/pulse/client.conf to ~/.pulse/client.conf. You can do that with the following command in a terminal:
cp /etc/pulse/client.conf ~/.pulse/client.conf
Then and change the line:
; autospawn = yes
to
autospawn = no
After this rivendell starts properly on every boot.
Note: ~ in the path given above is an alias to the current linux users home directory. If the current linux user is fredg then you would copy the filed to /home/fredg/.pulse
Note: You must remove the semicolon (;) from the beginning of the line to uncomment it and for the setting to be read.
Note: You may need to create the .pulse directory if pulse audio has not done so to copy the file there. To do so under Ubuntu:
mkdir ~/.pulse
You will want to kill pulseaudio after doing this especially if you have the box under Startup Applications Preferences under the Options tab labeled Automatically remember running applicaitons when logging out ticked. You can now do this by running:
killall pulseaudio
You can then check if pulseaudio autospawning has been by running:
ps -C pulseaudio
If you get back something similar to:
PID TTY TIME CMD 17065 ? 00:00:02 pulseaudio
Then pulseaudio is still running, however if you get back:
PID TTY TIME CMD
Then all is well and pulseaudio is not running anymore.
if Rivendell is currently running you will either need to restart the computer or just restart Rivendell by running the following in a terminal:
sudo /etc/init.d/rivendell/stop sudo /etc/init.d/rivendell start
I have tested this setting in the client.conf file on a Lucid and a Karmic machine and this does disable pulseaudio from starting or autospawning.
pulseaudio can still be started manually if needed with:
pulseaudio -D