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

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 Hardware Reviews
  1. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
  2. AMD Radeon R9 290 Open-Source Driver Works, But Has A Ways To Go
  3. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
  4. Sumo's Omni Gets Reloaded
Latest Linux Articles
  1. 20-Way Radeon Comparison With Open-Source Graphics For Steam On Linux Gaming
  2. Preview: OS X 10.10 Yosemite vs. Ubuntu Linux GPU Performance
  3. Radeon Graphics Yield Mixed Results With Linux 3.17 Kernel
  4. AMD's RadeonSI Driver Sped Up A Lot This Summer
Latest Linux News
  1. Nouveau On Oibaf PPA Is Back To Running Well
  2. Metro 2033 Redux Will Hopefully Hit Linux Real Soon
  3. New Virtual Monitor Software Might End Up On Linux
  4. Company of Heroes 2 Might Be Coming Out For Linux
  5. NIR Still Being Discussed For Mesa, LLVM Gets Brought Up Again
  6. Plasma Active Is Mostly Ported To KDE Frameworks 5
  7. Google Chrome 37 Brings Many Security Fixes
  8. MenuetOS Updated With SMP Threads & Onscreen Keyboard
  9. Mesa Has A New Release Manager
  10. Enlightenment E19 Lands Its New Wayland Compositor Code
Latest Forum Discussions
  1. AMD Releases UVD Video Decode Support For R600 GPUs
  2. Announcing radeontop, a tool for viewing the GPU usage
  3. Updated and Optimized Ubuntu Free Graphics Drivers
  4. [DB] BIOS - ACPI - data collecting
  5. It's Now Possible To Play Netflix Natively On Linux Without Wine Plug-Ins
  6. Users defect to Linux as OpenBSD removes Lynx from base system
  7. Chinese People Try To Patent Wine On ARM
  8. American Citizens running AMOK for food stamps