$Id: index.sgml,v 1.17 2001/02/11 22:57:05 lx Exp $

FreeBSD Driver for Aureal Vortex soundcards

by Alexander Matey
Version: 2.2

  1. Soundcards supported by this driver
  2. Driver features
  3. Known problems
  4. Installing the driver
  5. Requests and Comments

Soundcards supported by this driver

This is FreeBSD newpcm driver for Aureal Vortex1 (au8820), Vortex2 (au8830) and Vortex Advantage (au8810) based soundcards. This driver has to be linked with one of the binary-only Linux Vortex Core object modules distributed by Aureal because Vortex hardware specs are not available to the general public. It's not clear if they're going to release them at all. Especially now, when they went bankrupt.

Following is the list of soundcards, which are based on Vortex chipsets. If you find that your soundcard works with this driver and it's not listed as tested here or not listed at all, please let me know so that I can update this list.

Company Soundcard Chipset Tested with this driver
Aureal Inc. SQ1500 Vortex Advantage Yes. Works.
Aureal Inc. SQ2500 Vortex2 Yes. Works.
Diamond Multimedia Monster Sound MX300 Vortex2 Yes. Works.
Diamond Multimedia Sonic Impact S90 Vortex1 Yes. Works.
Digital Research Technologies DRSOUNDA3V Vortex2 Yes. Works.
Genius Sound Maker 64 Vortex1 Yes. Works.
Hi-Val PCI 338 Vortex1 Yes. Works.
Hi-Val PCI 576 Vortex2
I/OMagic MagicWaveV1 Vortex Advantage
I/OMagic MagicWaveV2 Vortex2
Turtle Beach Montego A3D Vortex1 Yes. Works.
Turtle Beach Montego A3D II Vortex2 Yes. Works.
TerraTec Promedia XLerate Vortex1 Yes. Works.
TerraTec Promedia XLerate Pro Vortex2
Videologic SonicVortex2 Vortex2
Xitel Storm 3D Licensed
Xitel Storm VX Vortex1
Xitel Storm Platinum Vortex2

Back to the top

Driver features

This driver supports 4 playback channels and 1 recording channel at sampling rates of 4-48kHz. Recording is not of the best quality. Feel free to try it out, but I wouldn't recommend it for any serious purpose. It's possible to hear slight differences in the quality of CD playback and its recording.

FreeBSD 4.0-RELEASE is no longer supported. Update your system to -STABLE, or at least 4.1-RELEASE.

Although present in Vortex Core binaries, support for MIDI is not included.

Back to the top

Known problems

Both negative and positive experiences have been reported when using this driver with Vortex2 binary core on AMD Athlon systems. The problem seems to show up only on VIA Apollo KX133 based systems.

Back to the top

Installing the driver

The driver is expected to work on FreeBSD 5.0-CURRENT, and all 4.x systems starting with 4.1-RELEASE. Although I'm trying to do my best to ensure that 4.x systems are properly supported, I don't have the 4.x system with Vortex hardware on which I could test my updates before rolling them out. If you have any problems with this driver on one of the above-mentioned 4.x systems, let me know.

Thanks to Maxim Sobolev, the driver now has its very own audio/aureal-kmod port in the ports tree. So, the good news is that all these tedious step by step installation instructions are gone now. Just install the port. If you're not familiar with FreeBSD ports system, the handbook has a good introduction.

The port builds and installs .kld's for all three Vortex chipsets. After installing the port, just kldload the appropriate kernel module as directed by the port.

If you've previously had this driver compiled into the kernel, you should recompile the kernel without it. Leave out device pcm line from your kernel config file. After that re-config(8) your kernel, then rebuild and reinstall it as usual. Don't forget to compile and install kernel modules along with the kernel. You won't be able to load the kld otherwise. Also, remove any old driver files from under /sys tree before installing the port: rm /sys/dev/sound/pci/au88x0*; rm /sys/dev/sound/pci/asp[123]0.o.

The following should give you the general idea about loading/unloading the driver:

# kldload snd_au8830.ko         to load the driver
# kldstat                       to check the status
Id Refs Address    Size     Name
 1   12 0xc0100000 1e917c   kernel
 ...
 7    1 0xc164c000 34000    snd_au8830.ko
 8    1 0xc1688000 f000     snd_pcm.ko
 ...
# kldunload snd_au8830.ko       to unload the driver
For your convenience the port installs a sample script under /usr/local/etc/rc.d/aureal.sh.sample which you can use to automatically load and unload the driver during startup/shutdown of the system. Simply rename it to /usr/local/etc/rc.d/aureal.sh and make sure it's executable (chmod +x aureal.sh).

When loaded, the driver probes for the card and outputs something similar to:

pcm0: <Aureal Vortex 8830> port 0xe800-0xe807,0xe400-0xe407 mem 0xe8000000-0xe803ffff irq 10 at device 18.0 on pci0

You might also need to create device nodes for the driver as root (NOTE: The actual minor device numbers can change in the future):

# cd /dev ; ./MAKEDEV snd0
# mknod dsp0.1 c 30 0x00010003
# mknod dsp0.2 c 30 0x00020003
# mknod dsp0.3 c 30 0x00030003
# mknod dsp0.4 c 30 0x00040003

You're done. Now you should be able to play mp3's, use RealPlayer etc. Whenever software permits you can instruct it to use a specific device node (dsp0 thru dsp0.4). This way it's possible to hear multiple simultaneous playback streams.

Back to the top

Requests and Comments

Email me.

Back to the top