Take the 2-minute tour ×

All of these models actually use the same exact PCIe card. I happen to have the 1212m model. It worked great in Windows, but unfortunately, Creative Labs E-MU only offers Windows drivers for this particular card. I have switched to using Ubuntu as my main desktop for a while now. How can I make it work in Ubuntu?

Furthermore, my chipset comes with integrated Intel HD Audio as well, and I'd like to be able to switch back and fourth between the E-MU sound card and the Intel one.

share|improve this question
add comment

2 Answers

up vote 2 down vote accepted

In order to get this card to work, you need to set up ALSA (Advanced Linux Sound Architecture). Download the latest stable releases of alsa-driver, alsa-lib, alsa-utils, and alsa-firmware from their wiki page here and extract them.

0. Pre-reqs

To make sure you have all the pre-requisites for compiling code, run the following command:


1. Configure ALSA driver

Now you need to configure which sound devices should be used with ALSA. I'll explain the instruction for having two sound devices, Intel HD Audio, and the E-MU 1212m. If you need ALSA to include another, you need to find the name of the ALSA driver that supports this device. In order to do that, check ALSA's sound card matrix here. If your sound card is supported, you should find a driver for it in the list of drivers. For Intel HD Audio, the driver is hda-intel, and for E-MU 1212m, the driver is emu10k1.

To configure the driver, go to the folder where you extracted alsa-driver in a terminal, and run the following command.

./configure --with-cards=hda-intel,emu10k1 --with-sequencer=yes --with-isapnp=no  --with-oss=no --with-kernel=/lib/modules/$(uname -r)/build

--with-cards specifies a comma-separated list of the drivers that you need. As for the other options, I have the driver include a sequencer, specified the that the device is not plug and play, specified that OSS is not used, and specified the kernel. Although you shouldn't need to, but you can add additional configuration options for the ALSA driver as necessary. You can learn more about configuring ALSA driver by running the command ./configure --help.

Note: If you are not sure which card you have, try running lshw -c sound in the terminal. It will list all the sound hardware. If it is a PCI, it should also show up when you run lspci | grep audio.

2. Patch the emu10k1 kernel driver so that the 1212m card is properly recognized

Next we need to apply a little patch to one of the files.

In the same folder, open the file ./alsa-kernel/pci/emu10k1/emu10k1_main.c with a text editor of your choice. Find the line with

static struct snd_emu_chip_details emu_chip_details[] = {

Right below it, insert the following:

{.vendor = 0x1102, .device = 0x0008, .subsystem = 0x40071102,
  .driver = "Audigy2", .name = "E-mu 1010 PCIe",
  .id = "EMU1010",
  .emu10k2_chip = 1,
  .ca0108_chip = 1,
  .spk71 = 1,
  .emu_model = EMU_MODEL_EMU1010B},

Save this file, and close.

3. Compile the driver and install it

Now it's time to compile. But compiling is easy. In the folder where you extracted alsa-driver, simply run:


If you have a system with more than one core, I'd recommend using the -j option of make to run it in parallel and thus, much faster, e.g., make -j 8 if you have 8 cores.

Once compiled successfully, run the following to install the driver

sudo make install

4. Install the firmware, lib, and utils

To install the rest of the ALSA, go to the folder where you extracted alsa-firmware, and run this command

./configure && make && sudo make install

Do the same for lib and utils.

5. Copy the firmware files to emu folder

Go to the folder where you extracted alsa-firmware in the terminal. Browse to the folder /emu/ there, and run the following command:

sudo cp *fw /lib/firmware/emu

Note:/lib/firmware/emu should exist, but if doesn't create it.

6. Configure the Linux sound base to use ALSA

Run this command to tell your Ubuntu to use ALSA as its sound base:

sudo dpkg-reconfigure linux-sound-base

and choose ALSA.

7. Reboot!

This should be all. Once the system boots up, you should see SB0400 Audigy2 Value Analog Stereo in the sound settings of Ubuntu.

share|improve this answer
Hope this helps someone out there with a similar situation. It took me several months of sparse efforts to finally put all the pieces together and get this card to work. –  darksky Mar 7 '13 at 1:08
I just noticed that there is no alsa-driver download link on their homepage. The last release seems to be from 2009 –  Floby Apr 15 '13 at 22:03
You're right. They updated their main page, and somehow managed to remove the link for alsa-driver and replace it with kernel.org link. Nonetheless it is available to download at their download page. I updated my post. –  darksky Apr 18 '13 at 19:44
My sound card was an EMU-0404, which uses the same (more or less) driver. I just had to patch the driver slightly differently. However I still can't record anything from the card. Playback is working though. –  Floby Apr 25 '13 at 9:05
add comment

I found that

sudo apt-get install libncursesw5-dev gettext xmlto

is necessary before building the alsa-utils.

share|improve this answer
...to get the driver installed was the easy part. The real challenge is to route the audio signals thru the 1010 so that they reach the 0202 DAC's. If someone could devise how to set up alsamixer to actually get some sound out would be great! –  Bengt Nilsson Mar 24 '13 at 23:08
Use emutrix, alsamixer, and qjackctl to adjust settings, route signals, etc. –  darksky Mar 25 '13 at 15:34
Ok, it seems I got a brand new EMU1010 PCIe card with a new firmware version which is not working out-of-the-box. Alsamixer did not do the trick, and jack cannot connect. I will file a report somewhere... –  Bengt Nilsson Mar 29 '13 at 8:02
add comment

Your Answer


