Creative Labs X-Fi on Linux: Installation
When the 32bit Linux drivers for the X-Fi sound card got released I promised you a post about it, and here it is after a long delay. This article includes a painless installation guide and some how to’s.
Wondering what drawer I put my soundcard in when I noticed there is no Linux support. Ahh, there it is.

That’s my X-Fi XtremeMusic. Quite dusty, but I like dust on electronic parts so I’m not gonna clean it, hehe.
Insert the sound card
Open up your PC case and insert it into an empty PCI slot.
You might want to lock it with a screw if your PC case does not support an easier solution. If you don’t lock it, it might jump out of the slot when you plug cables in it from the outside of the case.

When you inserted it make sure you plugged in all sound cables correctly.
After that turn your computer on.
Disable on-board audio
If you don’t have an on-board audio chip or don’t want to disable it, just skip this section. If you do have one though, I would recommend you disabling it to prevent confusion later.

When the BIOS screen shows up press either F2 or the DEL key to enter the BIOS setup. If you don’t know what key to use, just try both, usually nothing happens if you press the wrong button.
Now you need to find the option to disable the audio controller.
On the latest AMIBIOS it is located in the Advanced/Onboard Devices Configuration menu. Navigate to your on-board options with your arrow keys and hit ENTER.
Once you found it, select it and press ENTER, choose “Disabled”, press ENTER once again. On my system it looks like this:

Leave the menu with ESC, navigate to Exit, select Exit and Save Changes and press ENTER. If it asks you if you really want to exit and save the changes, select the “Yes” or “OK” button and hit ENTER.
Download the driver
When Linux is done booting go to the OSS page (opens in a new window) and download the package for your operating system. I chose “Linux 2.6 (x86) (DEB)” since my kernel version is 2.6, my operating system is 32bit (x86) and Ubuntu supports .deb packages.
If you have installed a 64bit version of your operating system, select the amd64 version, for example “Linux 2.6 (amd64) (DEB)” regardless if you have an AMD- or Intel 64bit CPU.
How to find out your Linux kernel version
To find out what version of Linux you are using, run a console and type “uname -r”, like this:
mirko@home:~$ uname -r
2.6.22-14-generic
mirko@home:~$
The first 2 numbers are the important ones for us. Here it’s 2.6.
How to find out what package type your operating system supports
- .deb graphical installer: Type “gdebi-gtk” in a console. If a new window shows up, the graphical .deb package installer is installed.
- .deb console installer: Type “dpkg” in a console. If it says command not found or not installed, the .deb console installer is not installed.
- .rpm console installer: Type “rpm” in a console. If it says command not found or not installed, the .rpm console installer is not installed.
- .tar is supported by all Linux operating systems, but the installation is a bit harder.
Click on submit and then “Click here to download…” to download the file. Download it to the desktop.
Install the driver
Graphical installer
If your operating system has a graphical .deb installer, just double click the file after it was downloaded. Click “Install Package” and wait for the installation to finish. After the installation close both windows.
Console installer
If your operating system does not have a graphical .deb package installer you can go through the following steps to install the package on your operating system.
Open a console, type “sudo su” and enter the root password to get administrator rights. Then follow the instruction according to the package type you downloaded. Lets say you downloaded it to the desktop and the files name was oss-linux-v4.0-1014.i386.rpm / oss-linux-v4.0-1014.i386.deb / oss-linux-v4.0-1014.i386.tar.bz:
Installing the .rpm package (RedHat, Fedora, Suse, OpenSuse, CentOS, Mandriva, …)
cd ~/Desktop
rpm –I oss-linux-v4.0-1014.i386.rpm
Installing the .deb package (Debian, Ubuntu, …)
cd ~/Desktop
dpkg –I oss-linux-v4.0-1014.i386.deb
Installing the .tar.bz2 package (all)
cd /
cp ~/Desktop/oss-linux-v4.0-1014.i386.tar.bz2 /
tar –jxvf oss-linux-v4.0-1014.i386.tar.bz2
sh /usr/lib/oss/build/install.sh
After the installation
To see if it was successfully installed, type “ossinfo” in the console to see if the command exists.
If it does exist, then you can test your sound card by typing the command “osstest”, if the test fails or you have no sound restart your computer and try it again. Also make sure that all cables are plugged in correctly and your speakers volume is not set to 0% if they have volume control. To change the volume software-side use the oss mixer instead of the standard ALSA mixer by opening it with the command “ossxmix”.
When the installation is done (and you don’t need the installation package anymore) you can remove the file by using the “rm” command, for example “rm oss-linux-v4.0-1014.i386.*”.
Change the volume

To change the volume we will need to use the OSS mixer now, as we are not using the ALSA interface anymore.
To do so open a console and type “ossxmix”. An alternative is creating a custom application launcher in the control panel or desktop which executes this command. If you have found a more comfortable way let me know.
Removing the ALSA mixer icon
If you don’t plan to switch back to ALSA anytime soon you can remove the ALSA mixer icon. On Ubuntu Linux you can do that by right-clicking it, “Remove From Panel”.
Activate 5.1 sound
Unfortunately the current Creative Labs X-Fi driver of the Open Sound System (OSS v4.0 b1014) supports only 16bit/96kHz Stereo playback mode. The sound will appear from the two front speakers only.
This means you can do nothing but to wait for another version being released which supports other sound output modes. I will let you know as soon as one is released.
Other restrictions
The driver was really just built to provide something usable which works at least, to the majority of the Linux/BSD/Solaris X-Fi users.
The Creative Labs: Connect > Open Source > Wiki > SoundCard Support says what the driver currently supports:
At this time…
- Linux , FreeBSD, Solaris, and SCO OSR6. It can also be ported to other operating systems.
- Both 32bit and 64bit, it supports x86 and AMD64 as well as Sparc on Solaris.
- It’s a bare bones driver - only support for the front speakers. It’s locked at 96Khz stereo sampling rates.
- This driver doesn’t make use of muti-voice hardware mixing. Instead it relies on 4Front’s internal virtual mixing engine and currently it runs at 96Khz.
There is no support for SPDIF at this time.
Enjoy it
Now load up Rhythmbox or any other MP3 player and play one of your favorite songs.
I must commit with the X-Fi sound card my songs sound *a bit* crispier than using on-board sound. And if it supported 5.1 sound I wouldn’t switch back to on-board sound right after finishing this article.
Tags: BIOS, Linux, on-board, OSS, sound, soundcard, ubuntu, x-fi






2 comments »
March 13th, 2008 at 12:50 am
Thank you so much for this guide, will try it out. My X-Fi card has been laying in a drawer too, since it didnt work in Ubuntu Linux - but now I will install it again. Looking forward to your next guide, hope they can get 5.1 soon.
Thanks:-)
July 27th, 2008 at 7:55 pm
Thanks you so much for your guide, this is working with my Auzentech X-Fi Prelude too
Hope they can get 5.1 soon.
Thanks