The Haus
[News] [Archives] [Got News?] [Commentary] [Reviews] [History] [About the Haus]
[Tips and Tricks] [Alternate OS] [Game Servers] [Links] [Haus of Shogo] [Clan THoP]

Sound Blaster Live! in Linux


Please Note! I did this in Red Hat 6.0 and 6.1. It should work very similarly on other variants of Linux. As always, make sure you backup your files before editing them! When I say to type a command, you obviously need to hit enter to execute it--but you knew that already, didn't you :)

I got this to work with my Sound Blaster Live! Value. It should also work with any of the Creative Labs cards based on the EMU10K1 chip, but I cannot verify it.

The Sound Blaster Live! is a great audio card, but unfortunately Red Hat's sound configuration tool (sndconfig) doesn't know what to do with it. Not to fear. Log in as root. Type cd /etc and fire up your favorite text editor to add these two lines to the conf.modules file:

alias sound emu10k1
options emu10k1 joystick=0x200


Download the open-source Sound Blaster Linux drivers from ftp://opensource.creative.com/pub/snapshots/. It is good form to extract the source code under /usr/src before building it. That way you'll always remember where it is! If you downloaded a snapshot from January 19, 2000 or earlier, keep reading. If you downloaded one from January 20, 2000 or later, click here.

1/19/2000 or Earlier Snapshots

Extract the files by typing tar xvzf filename (replace filename with the name of the snapshot you downloaded). Type cd emu10k1/drv-2.2 (n.b. I believe the drv-2.4x directory is for systems running a 2.4-based kernel. Red Hat 6.0 and 6.1 use 2.2x). Type the following commands in order:

make depend
make clean
make
make install


If you get all kinds of errors on the make depend, you probably didn't install all the source code when you installed Linux. If you get an error that it can't find make or gcc, you didn't install the C/C++ development tools. In either of these cases, you will need to install the source and/or tools before you can install these drivers. Check Red Hat's support site or a similar site for information on doing this.

If you get an "unresolved symbols" error after typing make install it means one of two things:
  1. You didn't install sound support when you installed Linux (highly unlikely with the Red Hat installation). If that's the case, you'll need to recompile your kernel to include it (check Kernel-HOWTO and Sound-HOWTO for more information on that).
  2. If you know you have sound support installed, fire up your favorite text editor to edit Makefile in the drv-2.2 directory. Change the line near the top that says MODVERSIONS = auto and make it MODVERSIONS = y.
In my case, everything compiled fine under 6.0. In 6.1 I had to edit the Makefile. If you made it through all the makes with no errors, type the following commands in order:

depmod -a
insmod soundcore
modprobe emu10k1


Then you are all set! You should be able to play sounds from the console or from X.

Caveats: This driver does not support EAX. Creative is working on a way to get EAX support into Linux, but since EAX is a superset of DirectSound, I'm not sure how easy that will be. Creative is also working on a binary driver that is supposed to be out in Q1 2000 which would make installation much easier. Keep an eye on The Haus for further details!

1/20/2000 or Later Snapshots

Extract the files by typing tar xvzf filename (replace filename with the name of the snapshot you downloaded). Type cd emu10k1. Type make. If you get a whole slew of errors (like I did) then the Makefile cannot properly detect your kernel revision (at the end of the first line of information that make reports you will see KERNELREVISION= ). Therefore, you will need to tell the Makefile what your kernel revision is. Fire up your favorite text editor and change the line near the top that says KERNELREVISION = auto. Since I am using Red Hat 6.1 (based on the 2.2.x kernel), I changed the line to read KERNELREVISON = 2.2. Then everything went fine.

After make is done, type make install. If you get an "unresolved symbols" error, it means one of two things:
  1. You didn't install sound support when you installed Linux (highly unlikely with the Red Hat installation). If that's the case, you'll need to recompile your kernel to include it (check Kernel-HOWTO and Sound-HOWTO for more information on that).
  2. If you know you have sound support installed, fire up your favorite text editor to edit Makefile. Change the line near the top that says MODVERSIONS = auto and make it MODVERSIONS = y. You will then need to type make clean and repeat the make and make install steps.
Then everything should be set! Play a sound and the module should automatically load. If you don't hear anything check the README file that comes with the driver for information on further steps to take to get it working.