17.9 Configuring a Sound Card Under Linux

Linux support of audio adapters is specific to the Linux distribution and audio adapter you are using. You can avoid most audio configuration problems by making sure your audio adapter is explicitly supported by the Linux distribution you intend to run. Before you install Linux, check the hardware compatibility list and support pages for the distribution, as well as the web site for the audio adapter manufacturer.

Using an outdated Linux distribution and an older audio adapter is a recipe for trouble. Recent Linux distributions automatically detect and configure nearly all recent audio adapters and most older models. If your audio adapter is not detected but is AC97-compliant, you may be able to use the i810_audio module, which allows many AC97 audio chipsets to provide at least basic audio functionality.

If you have an older audio adapter, or a recent adapter that is not supported by your Linux distribution, you may be able to use the adapter by installing the Advanced Linux Sound Architecture (ALSA) drivers (http://www.alsa-project.org/). Unfortunately, installing ALSA drivers may be difficult for inexperienced users because it requires either compiling the ALSA drivers into the kernel or building them separately as modules. The good news is that ALSA is being incorporated as a standard part of the Linux kernel. When the next major version of the Linux kernel is released, every Linux distribution will by default use this much more capable sound card driver architecture.

If you encounter compatibility problems with an older sound card or embedded audio adapter, by far the easiest solution is to remove or disable the adapter and install an inexpensive modern PCI sound card that is explicitly supported by your Linux distribution. Spending $25 may save you hours of recompiling kernels and tweaking arcane parameters, and the sound will probably be a lot better as well.

Choose something other than a Creative Labs Sound Blaster. Based on our own experience and that of others, we do not use or recommend Sound Blaster audio adapters. For example, well-known Open Source advocate Eric S. Raymond gave up in disgust, saying in part, "The Linux support for the SB Live! seems to be fragile and flaky. Troubleshooting it turned into a significant time sink and frustration source. In late January I finally got fed up and replaced it with a no-name PCI sound card. Later, the SB Live! went back in, but I'm now nervous about even upgrading my OS for fear the sound configuration will break again."

If ESR can't make a Sound Blaster work reliably under Linux, we're not even going to try.

The utilities used to configure a sound card vary by distribution. For example, Red Hat uses sndconfig, while for Slackware you must edit the Sound Support section of the file /etc/rc.d/rc.modules. For more information, refer to the documentation for your distribution.