Running Linux, 5th Edition - Matthias Kalle Dalheimer [160]
Hannu later joined 4Front Technologies , a company that sells commercial sound drivers for Linux as well as a number of other Unix-compatible operating systems. These enhanced drivers are sold commercially as OSS/4Front.
In 1998 the Advanced Linux Sound Architecture, or ALSA project, was formed with the goal of writing new Linux sound drivers from scratch, and to address the issue that there was no active maintainer of the OSS sound drivers. With the benefit of hindsight and the requirements for newer sound card technology, the need was felt for a new design.
Some sound card manufacturers have also written Linux sound drivers for their cards, most notably the Creative Labs Sound Blaster Live! series.
The result is that there are as many as four different sets of kernel sound drivers from which to choose. This causes a dilemma when choosing a sound driver. Table 9-1 summarizes some of the advantages and disadvantages of the different drivers, in order to help you make a decision. Another consideration is that your particular Linux distribution will likely come with one driver, and it will be more effort on your part to use a different one.
Table 9-1. Sound driver comparison
Driver
Advantages
Disadvantages
OSS/Free
Free
Not all sound cards supported
Source code available
Most sound cards not autodetected
Part of standard kernel
Deprecated in 2.6 kernel
Supports most sound cards
Does not support some newer cards
OSS/4Front
Supports many sound cards
Payment required
Autodetection of most cards
Closed source
Commercial support available
Compatible with OSS
ALSA
Free
Not all sound cards supported
Source code available
Not fully compatible with OSS
Supports many sound cards
Actively developed/supported
Most sound cards are autodetected
Commercial
May support cards with no other drivers
May be closed source
May support special hardware features
May not be officially supported
In addition to the drivers mentioned in Table 9-1, kernel patches are sometimes available that address problems with specific sound cards.
The vast majority of sound cards are supported under Linux by one driver or another. The devices that are least likely to be supported are very new cards, which may not yet have had drivers developed for them, and some high-end professional sound cards , which are rarely used by consumers. You can find a reasonably up-to-date list of supported cards in the current Linux Sound HOWTO document, but often the best solution is to do some research on the Internet and experiment with drivers that seem likely to match your hardware.
Many sound applications use the kernel sound drivers directly, but this causes a problem: the kernel sound devices can be accessed by only one application at a time. In a graphical desktop environment, a user may want to simultaneously play an MP3 file, associate window manager actions with sounds, be alerted when there is new email, and so on. This requires sharing the sound devices between different applications. To address this, modern Linux desktop environments include a sound server that takes exclusive control of the sound devices and accepts requests from desktop applications to play sounds, mixing them together. They may also allow sound to be redirected to another computer, just as the X Window System allows the display to be on a different computer from the one on which the program is running. The KDE desktop environment uses the artsd sound server, and GNOME provides esd. Because sound servers are a somewhat recent innovation, not