1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems

Facebook RSS Twitter Twitter Google Plus

Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Open-Source Creative X-Fi Support

Michael Larabel

Published on 5 February 2008
Written by Michael Larabel
Page 1 of 1 - 25 Comments

Last Friday 4Front Technologies had released the binaries and source-code to OSS 4.0 Build 1013. This new build of the Open Sound System brings two major changes, which include the full source code now being available for the M-Audio Revolution and Delta sound card drivers, and a beta driver for the Sound Blast X-Fi series from Creative Labs. While earlier Sound Blaster generations have worked quite well with ALSA and OSS, the Creative X-Fi series is a black sheep under Linux. The X-Fi support that Creative Labs has provided to the Linux community has been abominable and support via ALSA (the Advanced Linux Sound Architecture) has yet to go anywhere while support for the complete X-Fi series via OSS is just starting to emerge. Interestingly though, Creative had provided the register documentation and other code to 4Front Technologies for this new "sbxfi" driver.

In June of 2006, Creative Labs had pledged an X-Fi Linux driver with full support for ALSA and OpenAL v1.1 with EAX (Environmental Audio Extensions) to be delivered in Q2'2007. The X-Fi series was introduced in August of 2005 and nearly two years later Creative had planned to deliver a binary-only Linux driver. However, come second quarter of 2007 it was announced that this driver wouldn't even reach beta until late Q3 or early Q4 because of Creative devoting more resources to Microsoft Windows Vista (Vista Makes Creative Labs Dupe Linux). Finally in late September was the first beta release, but another caveat to this closed-source support is that this driver only supports x86_64 Linux with no option for 32-bit users (X-Fi Driver Only Supports 64-bit Linux).

Since that September x86_64 beta driver release, there has yet to be any further updates or Linux software releases from Creative Labs. Creative Labs does maintain a Linux driver issues database (Creative Labs Connect) and that has just filled up with complaints over the lack of 32-bit support, not compiling against Ubuntu, incompatible with GCC 4.0, and other installation issues. In total there are over 100 issues listed with their X-Fi Linux driver.

According to the ALSA Project Wiki, developers do have these cards but as it's a new APU architecture and Creative isn't releasing any datasheets, the only option for them is reverse engineering. However, due to time constraints, there is no active reverse engineering going on right now with the Sound Blaster X-Fi by ALSA developers. Right now development efforts are gearing up for ALSA 1.0.16, but support for these newest Creative APUs doesn't appear to be a priority for them. This all though could change though thanks to this X-Fi OSS support and what we're about to share.

For the Open Sound System, OSS 4 has supported the X-Fi Xtreme Audio, but no other X-Fi ASICs. This support was there since the X-Fi Xtreme Audio isn't a true X-Fi component. Last week's release of OSS 4.0 Build 1013 is the first to provide playback support for these high-end sound cards. This initial support is considered beta and limited to playback support. There is no hardware mixing support and recording capabilities are considered problematic. The source code though has been published by 4Front Technologies, which last year began open-sourcing the Open Sound System under the CDDL for Solaris and GPLv2 for Linux (announcement) and then last month made OSS available under the BSD license for FreeBSD and other *BSD operating systems. The X-Fi generations currently supported by the OSS "sbxfi" driver include the X-Fi SB046x/067x/076x, SB073x, SB055x, and UAA "Vista Compatible" sound adapters.

This OSS X-Fi driver, however, wasn't reverse engineered. The main driver file (sbxfi.c) combined with its accompanied header file is just under 1,000 lines long and is licensed under the GPLv2 (or CDDL, BSD depending which copy is downloaded). This driver though includes hwaccess.c, hwaccess.h, and 20k1reg.h. These files are copyrighted by Creative Technology with markings of "Confidential & Proprietary", "Private & Confidential", and "Creative Confidential" with no open-source license being mentioned. This Creative code contains the registers for the X-Fi series as well as functions for initializing and accessing the X-Fi 20k1 hardware. In total, this Creative Labs code makes up about 2,400 lines.

We have tested OSS 4.0 Build 1013 with an X-Fi XtremeGamer and were greeted with positive results: the audio playback had actually worked. While this driver from 4Front Technologies is considered beta, this driver is in a much better state than what Creative Labs considers beta for their binary x86_64-only Linux driver. Will Creative just abandon their X-Fi binary driver? It's going on five months since their driver was last updated. This register information and hwaccess code should certainly be able to jumpstart the ALSA efforts with developing an X-Fi driver. Once there is a Sound Blaster X-Fi driver for ALSA, we can then finally see "out of the box" support for these high-end sound cards in most Linux distributions, but it's coming three years after the hardware first shipped. We have contacted Creative Labs and are awaiting comment on their Linux plans. If you are looking for a high-end sound card for immediate use, the Razer Barracuda AC-1 and other sound cards based upon the C-Media Oxygen HD CMI8788 APU have evolving open-source support through the snd-oxygen ALSA driver.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux News
  1. Radeon & AMDGPU DRM Fixes Queue Up For Linux 4.2
  2. KDE Applications 15.04.3 Fixes Bugs
  3. Benchmarks Of 54 Different Intel/AMD Linux Systems
  4. Linux 4.2 Bringing Support For ARCv2, HS38 CPU Cores
  5. Libdrm 2.4.62 Is An Important Update For Open-Source GPU Drivers
  6. The State of Unity 3D Game Engine, Editor On Linux
  7. ZFS On Linux Brings Linux 4.1 Support, Fixes
  8. Old Net Burst Tests, Ubuntu Phone & Assembly x86 Were Popular Topics Last Month
  9. Qt 5.5 Officially Released
  10. Global Shortcuts In KDE Plasma Under Wayland
Latest Articles & Reviews
  1. How KDE VDG Is Trying To Make Open-Source Software Beautiful
  2. Attempting To Try Out BCache On The Linux 4.1 Kernel
  3. CompuLab's Fitlet Is A Very Tiny, Fanless, Linux PC With AMD A10 Micro
  4. AMD A10-7870K Godavari: RadeonSI Gallium3D vs. Catalyst Linux Drivers
Most Viewed News This Week
  1. Kubuntu 15.10 Could Be The End Of The Road
  2. KDBUS Won't Be Pushed Until The Linux 4.3 Kernel
  3. The State & Complications Of Porting The Unity Editor To Linux
  4. The Staging Pull For Linux 4.2: "Big, Really Big"
  5. Latest Rumor Pegs Microsoft Wanting To Buy AMD
  6. SteamOS "Brewmaster" Is Valve's New Debian 8.1 Based Version
  7. Jonathan Riddell Steps Down From The Kubuntu Council
  8. ARM Posts Pictures Of AMD's New Development Board