So, there are two packages apparently, jackd and oss2jack. First one is the jack daemon, the second one is the OSS emulator for JACK. Here we go.
1. Update the apt sources file so that we can install jackd and oss2jack. Add the line
deb http://neogate.homelinux.org/debian/ edgy sound
to /etc/apt/sources.list file, change edgy to whatever version you have. Also refresh your package list as well by typing
$ sudo apt-get update
to the shell.
2. Install the packages and eventually launch the oss2jack configuration by typing $ sudo apt-get install jackd oss2jack
It should look something like this:
3. The configuration program asks whether it should replace the alsa oss modules. Since this was my intention to begin with, I said yes. You might say yes to see how it works first.
4. The setup should be done now.
Now apparently we also need a kernel module named fusd-kor. I could not find any precompiled module for my kernel, but you might see for yourself by typing the command
$ sudo apt-get install fusd-kor-module-`uname -r` fusd-kor
So now with what I did:
1. First we install the module assistant:
$ sudo apt-get install module-assistant
$ sudo m-a prepare
$ sudo apt-get install gcc-`grep LINUX_COMPILER /usr/src/linux/include/linux/compile.h | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/'`
2. Then we let the assistant do our dirty work of configuring, building and installing the module:
$ sudo apt-get install fusd-kor-source
$ sudo m-a a-i fusd-kor
$ sudo apt-get install fusd-kor
3. We're done.
Just for kicks, and for higher performance, let's also install the realtime kernel module. You know the drill, but here it goes anyway.
1. Type
sudo apt-get install realtime-lsm-module-`uname -r` realtime-lsmIf it works, yay! Otherwise, proceed.
2. Install the module assistant.
sudo apt-get install module-assistant
sudo m-a prepare
sudo apt-get install gcc-`grep LINUX_COMPILER /usr/src/linux/include/linux/compile.h | sed 's/.* \([0-9]\+\.[0-9]\+\).*/\1/'`
3. Let the good times roll.
sudo apt-get install realtime-lsm-source realtime-lsm
sudo m-a a-i realtime-lsm
4. Done again.
We have to rechannel esd output from ALSA to our beloved JACK. We do this by installing the package libesd0.
sudo apt-get install libesd0
Remember to make yourself a member of the audio group by:
sudo adduseraudio
if you had not done so previously.
Finally, let's make jackd fire up at every boot. You may not want to do this, some programs like Amarok don't have JACK support. I did not do this.
Edit the /etc/rc.local to have the following lines just before "exit 0".
# Start jackd
nice -n -1 jackd -R -d alsa -p 256 > /dev/null 2>&1 &
# Waiting for jackd to become ready
ISR=0
C=0
while [ "$ISR" = "0" -o "$C" = 4 ]; do
C=$(($C + 1))
jack_lsp TEST > /dev/null 2>&1 && ISR=1
if [ "$ISR" = "0" ]; then
sleep 1
fi
done
# Starting oss2jack
nice -n -1 oss2jack > /dev/null 2>&1 &
# Wait for oss2jack to become ready
# FIXME: make/use a small OSS client, to determine of the OSS device is ready ...
sleep 1
# GNOME will start esd now - wait for it,
# then wait for esd to exit (at the end of session) and kill jackd and oss2jack
sh -c "while [ \"\$(pidof esd)\" = \"\" ]; do sleep 1; done; while [ ! \"\$(pidof esd)\" = \"\" ]; do sleep 3; done; kill $(pidof jackd) $(pidof oss2jack)" &
This is the contents of the script /usr/share/doc/oss2jack/examples/.gnomerc, obviously originally intended as a replacement for ~/.gnomerc in Gnome. I copied this script to my home directory with the name .oss2jack.sh. Whenever I want to use JACK, to use Rosebud for example, I type:
$sudo sh ~/.oss2jack.sh
When I'm done, I terminate the daemon by typing:
$sudo killall jackd
Done with the installation. Configuration may follow.
Sources:
http://www.ubuntuforums.org/showthread.php?t=208488&highlight=jack+install
http://www.linux.com/article.pl?sid=06/01/03/1728227
No comments:
Post a Comment