[alsa-devel] Backported sbxfi driver (UNTESTED!)

Jan Wolf xarteras at nostalgicnetworxx.org
Thu Oct 16 14:03:41 CEST 2008

Takashi Iwai <tiwai <at> suse.de> writes:

> Hi,
> $SUBJECT is now on my sound-unstable git tree:
>     git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-unstable-2.6.git
> together with other experimental patches.
> If you're using 2.6.27-rc* git tree, pull the master branch of the
> tree above into yours, and run make oldconfig.  That is,
>     % cd /your/git-tree
>     % git pull git://...../sound-unstable-2.6.git master
> If you are not using 2.6.27-rc*, or not familiar with git, you can try
> alsa-driver-unstable snapshot tarball available at
>     ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/
> Run configure, make and make install as usual ALSA-driver tarball.
> (I didn't check whether the tarball correctly includes the sbxfi
>  stuff.  It should have been generated automatically.  If not, wait
>  for a while.  If it still doesn't include sbxfi code, please report.
>  I'll fix it tomorrow morning.)
> The driver is built only for 2.6.26 or later.  If you have an older
> kernel, edit alsa-driver*/kconfig-vers and change the version of
> CONFIG_SND_SBXFI to 2.6.24 or whatever you want.  Then run
> ./gitcompile, instead of configure in this case to update the
> configure script.
> **NOTE**
> The driver is totally untested.  It's just compiled without errors,
> but not reviewed after a quick writing.  So, don't expect it ever runs
> at the first try.  A crash is highly possible.
> There are some build conditions found in sound/pci/sbxfi/sbxfi.c,
> starting with XXX_*.  You can change it if you want.  As default, it's
> for non-fullduplex but accept different rates.  Not sure whether this
> works at all.
> Any test- (and better debugging-) reports are appreciated.
> thanks,
> Takashi

I finally managed to play music over xmms with this driver.
I needed to modify something, because most music is 44100Hz and the driver did
not work with this rate.

< #undef XXX_48K_ONLY
< #define XXX_CONT_RATE
> #define XXX_48K_ONLY
> #undef XXX_CONT_RATE
>       case 44100:
>               ratec = 0x4c;
>               break;

It also needs to run in 48000Hz mode or else it will playback way to slow.
I think this flag in ratec switches to 96KHz mode in the X-Fi, in windows this
mode is only available in Audio creation mode, so it must be handled in a
special way somehow.

Great work with the driver, finally I have sound under linux as creative's
driver only oopsed the kernel for me :)

More information about the Alsa-devel mailing list