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. NVIDIA's Proprietary Driver Is Moving Closer With Kernel Mode-Setting
  2. The Latest Linux Kernel Git Code Fixes The EXT4 RAID0 Corruption Problem
  3. Features Added To Mesa 10.6 For Open-Source GPU Drivers
  4. Ubuntu's LXD vs. KVM For The Linux Cloud
  5. Fedora Server 22 Benchmarks With XFS & The Linux 4.0 Kernel
  6. GCC 6 Gets Support For The IBM z13 Mainframe Server
  7. Fedora 22 Is Being Released Next Tuesday
  8. OpenWRT 15.05 Preparing Improved Security & Better Networking
  9. Using The New LLVM/Clang OpenMP Support
  10. Zapcc Claims To Be A "Much Faster C++ Compiler"
Latest Articles & Reviews
  1. Btrfs RAID 0/1 Benchmarks On The Linux 4.1 Kernel
  2. The State Of Various Firefox Features
  3. Intel Iris Graphics Performance With Mesa 10.6
  4. Fedora Workstation 22 Is Looking Great, Running Fantastic
Most Viewed News This Week
  1. The Linux 4.0 Kernel Currently Has An EXT4 Corruption Issue
  2. The Linux 4.0 EXT4 RAID Corruption Bug Has Been Uncovered
  3. AMDGPU Open-Source Driver Code Continues Maturing
  4. Microsoft Open-Sources The Windows Communication Foundation
  5. Another HTTPS Vulnerability Rattles The Internet
  6. LibreOffice 5.0 Open-Source Office Suite Has Been Branched
  7. Systemd 220 Has Finally Been Released
  8. Will Ubuntu Linux Hit 200 Million Users This Year?