# Supported Sound Hardware

### Sound Cards

The following sound cards are supported by the Linux kernel:

- Roland MPU-401 MIDI interface
- AdLib
- SoundBlaster (version 1 and 2) and compatibles, including ThunderBoard and ATI Stereo F/X
- SoundBlaster Pro (version 1 and 2)
- SoundBlaster 16
- ProAudioSpectrum 16 (and the compatible Logitech SoundMan 16)
- Advanced Gravis UltraSound (GUS)

Other sound cards that are claimed to be compatible with one of the supported sound cards may work if they are hardware (i.e. register level) compatible.

The Sound Galaxy NX Pro is supported as a SoundBlaster compatible, provided that you add `#define __SGNXPRO__` to the sound driver `local.h` file.

The Linux kernel supports the SCSI port provided on some sound cards (e.g. ProAudioSpectrum 16). The Linux kernel version 0.99pl14x and later has support for CD-ROM drives attached to the Soundblaster Pro and SoundBlaster 16 CD-ROM port. The drivers can also be added to earlier kernels as a patch. Check the Linux Software Map for sbpcd.

A Kernel patch to support joystick ports, including those provided on some sound cards, is also available.

### PC Speaker

An alternate sound driver is available that requires no additional sound hardware; it uses the internal PC speaker. It is mostly software compatible with the sound card driver, but, as might be expected, provides much lower quality output and has much more CPU overhead. The results seem to vary, being dependent on the characteristics of the loudspeaker. For more information, see the documentation provided with the release.

The current version is 0.4, and can be found at site `ftp.informatik.hu-berlin.de` in the file `pub/os/linux/hu-sound/pcsndrv-0.4.tar.z`.

### Parallel Port

Another option is to build a digital to analog converter using a parallel printer port. This provides better sound quality but still has a lot of CPU overhead. The PC sound driver package mentioned above supports this, and includes instructions for building the necessary hardware.