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.

2 Answers 2


Update Jul 3, 2014

As of Ubuntu 14.04, the ALSA driver is natively supported in the kernel, so the download-compile-install process for the driver should be skipped. The remaining of the instructions remains the same.


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:

sudo apt-get install build-essential linux-headers-$(uname -r)

1. Configure ALSA driver (skip this step if you are in Ubuntu 13.10+)

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 driver (skip this step if you are in Ubuntu 13.10+)

Next we need to apply a small 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 and install

Go to each of the folders where you extracted driver* (skip if version of Ubuntu is 13.10+), firmware, lib, and utils, and for each of them run this command

./configure && make && sudo make install

Do the same for lib and utils.

4. 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.

5. Configure the Linux sound base to use ALSA

Run this command:

sudo dpkg-reconfigure linux-sound-base

and choose ALSA.

6. Reboot!

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

After you are done

This is enough for you to get started and get a sound output from your card. For more advanced ways to tweak the input/outputs of the cards see the following links:

emutrix : matrix-style mixer for this card. This will need to be compiled with Qt. It's relatively straightforward to build with qt4 and slightly more tricky with Qt5. The compilation command is simply qmake && make.

enter image description here

Here's how to compile this project with Qt5 (you can install Qt5 using sudo apt install qt5-default). Download and extract emutrix0.3.1 and open the file emutrix.pro with a text editor. After the line TEMPLATE = app, insert the following:

 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets gui

Then save this file, and at the root of the project run the command


Next, open a text editor and open the file emutrix0.3.1/src/main.cc. At the top, delete the line #include <QtGui/QApplication> and replace it with #include <QtWidgets/QApplication>

Then open the file src/mainwindow.h and similarly delete the line #include <QtGui/QApplication> and this time replace it with

#include <QtWidgets/QMainWindow>
#include <QMainWindow>

And save these two files. Now we can compile the project by running


This might take a while. Note that you can run make -j 4 for example to use 4 threads if you have a machine with more available threads so that it compiles faster. If you do run into issues during the compilation, do a quick Google search of the compile error, usually the first one or two hits will resolve it.

Once everything is compiled, we are ready to launch it with ./emutrix. You can further create a .desktop file in /usr/share/applications so that you can launch emutrix from the start menu.

Additional Audio Tools

alsamixer: this is the main mixer that I often use to mute/adjust io levels. All you have to do to start it is to run in the terminal alsamixer.

gnome-alsa-mixer : or the gui version of it if you prefer (sudo apt-get install gnome-alsa-mixer)

qjackctl This is installed with sudo apt-get install jack qjackctl. Read more about jack on wiki. Some applications in Ubuntu may use this to have low latency and high resolution sound.

  • 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, 2013 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, 2013 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, 2013 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, 2013 at 9:05
  • I just installed Ubuntu 20.04 LTS Studio and I'm still having to manually compile the firmware for my 1212M. What's up that that?
    – Shawn Eary
    Apr 27, 2020 at 23:26

I found that

sudo apt-get install libncursesw5-dev gettext xmlto

is necessary before building the alsa-utils.

  • ...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! Mar 24, 2013 at 23:08
  • Use emutrix, alsamixer, and qjackctl to adjust settings, route signals, etc.
    – darksky
    Mar 25, 2013 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... Mar 29, 2013 at 8:02

Not the answer you're looking for? Browse other questions tagged or ask your own question.