.Bf -emphasis Note: There exists some ambiguity in the naming at the moment (sound, pcm, snd). It will be resolved soon by renaming
.Cd "device sound" to
.Cd "device snd" , and doing associated changes.
The sound driver provides support for PCM audio play and capture. This driver also supports various PCI, WSS/MSS compatible, ISA sound cards, and AC97 mixer. Once the sound driver attaches, supported devices provide audio record and playback channels. The
.Fx sound system provides dynamic mixing "VCHAN" and rate conversion "soft formats". True full duplex operation is available on most cards.
If the sound card is supported by a bridge driver, the sound driver works in conjunction with the bridge driver.
Apart from the usual parameters, the flags field is used to specify the secondary DMA channel (generally used for capture in full duplex cards). Flags are set to 0 for cards not using a secondary DMA channel, or to 0x10 + C to specify channel C.
The driver works best with WSS/MSS cards, which have a very clean architecture and an orthogonal set of features. They also happen to be among the cheapest audio cards on the market.
The driver does its best to recognize the installed hardware and drive it correctly so the user is not required to add several lines in /boot/device.hints. For PCI and ISA PnP cards this is actually easy since they identify themselves. For legacy ISA cards, the driver looks for MSS cards at addresses 0x530 and 0x604 (unless overridden in /boot/device.hints).
In general, the module snd_foo corresponds to
.Cd "device snd_foo" and can be loaded by the boot loader(8) via loader.conf(5) or from the command line using the kldload(8) utility. Options which can be specified in /boot/loader.conf include: