2 .\" Copyright (c) 1998, Luigi Rizzo
3 .\" All rights reserved.
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" $FreeBSD: src/share/man/man4/pcm.4,v 1.39.2.6 2007/05/23 19:45:49 brueffer Exp $
35 .Nd DragonFly PCM audio device infrastructure
37 To compile this driver into the kernel, place the following line in your
38 kernel configuration file:
39 .Bd -ragged -offset indent
45 driver provides support for
47 audio play and capture.
48 This driver also supports various
53 sound cards, AC97 mixer and High Definition Audio.
56 driver attaches, supported devices provide audio record and
60 sound system provides dynamic mixing
64 True full duplex operation is available on most sound cards.
66 If the sound card is supported by a bridge driver, the
68 driver works in conjunction with the bridge driver.
70 Apart from the usual parameters, the flags field is used to specify
73 channel (generally used for capture in full duplex cards).
74 Flags are set to 0 for cards not using a secondary
76 channel, or to 0x10 + C to specify channel C.
78 The driver does its best to recognize the installed hardware and drive
79 it correctly so the user is not required to add specific settings to
80 the kernel config file.
86 cards this is actually easy
87 since they identify themselves.
90 cards, the driver looks for
92 cards at addresses 0x530 and 0x604 (unless overridden
93 in the kernel config file ) .
95 In general, the module
104 or from the command line using the
107 Options which can be specified in
108 .Pa /boot/loader.conf
110 .Bl -tag -width ".Va snd_emu10k1_load" -offset indent
111 .It Va snd_driver_load
115 this option loads all available drivers.
116 .It Va snd_emu10k1_load
120 only the SoundBlaster 5.1 driver and dependent modules will be loaded.
125 load driver for card/chipset foo.
128 Each device can optionally support more playback channels
129 than physical hardware provides by using
134 options can be configured via the
136 interface but can only be manipulated while the device is inactive.
137 .Ss Runtime Configuration
140 variables are available:
141 .Bl -tag -width ".Va hw.snd.report_soft_formats" -offset indent
142 .It Va hw.snd.pcm%d.buffersize
143 Configure the amount of
145 bufferspace available for a device.
146 .It Va hw.snd.targetirqrate
147 Set the default block size such that continuous
148 playback will achieve this
151 This value can be tuned to improve application performance.
152 Increase this value when the sound lags and decrease
153 it if sound stutters or breaks up.
154 .It Va hw.snd.report_soft_formats
155 Controls the internal format conversion if it is
156 available transparently to the application software.
157 When disabled or not available, the application will
158 only be able to select formats the device natively supports.
159 .It Va hw.snd.verbose
160 Level of verbosity for the
163 Higher values include more output and the highest level,
164 three, should be used when reporting problems.
165 Other options include:
168 Installed devices and their allocated bus resources.
170 The number of playback, record, virtual channels, and
173 Channel information per device including the channel's
174 current format, speed, and pseudo device statistics such as
175 buffer overruns and buffer underruns.
177 File names and versions of the currently loaded sound modules.
179 .It Va hw.snd.maxautovchans
182 setting that only affects devices with only one playback channel available.
183 The sound system will dynamically create up this many
190 .It Va hw.snd.pcm%d.vchans
191 The current number of
193 allocated per device.
194 This can be set to preallocate a certain number of
196 Setting this value to
202 .Ss Recording Channels
203 On devices that have more than one recording source (ie: mic and line),
204 there is a corresponding
208 Channel statistics are only kept while the device is open.
209 So with situations involving overruns and underruns, consider the output
210 while the errant application is open and running.
212 The driver supports most of the
215 functions, and most applications work unmodified.
216 A few differences exist, while memory mapped playback is
217 supported natively and in
219 emulation, memory mapped recording is
223 As a consequence, some applications may need to be recompiled
224 with a slightly modified audio module.
227 for a complete list of the supported
233 drivers may use the following
236 .Bl -tag -width ".Pa /dev/audio%d.%d" -compact
237 .It Pa /dev/audio%d.%d
238 Sparc-compatible audio device.
240 Digitized voice device.
241 .It Pa /dev/dspW%d.%d
244 but 16 bits per sample.
245 .It Pa /dev/dspr%d.%d
246 Should be connected to a record codec.
250 status, including all channels and drivers.
253 The first number in the device node
254 represents the unit number of the
262 Additional messages are sometimes recorded when the
263 device is probed and attached, these messages can be viewed with the
268 .It ac97: dac not ready
269 AC97 codec is not likely to be accompanied with the sound card.
270 .It unsupported subdevice XX
271 A device node is not created properly.
295 .Xr snd_via82c686 4 ,
303 .%O "http://www.opensound.com/pguide/oss.pdf"
308 device driver first appeared in
319 The API evolved from the VOXWARE
320 standard which later became OSS standard.
323 .An Luigi Rizzo Aq luigi@iet.unipi.it
326 device driver and this manual page.
327 .An Cameron Grant Aq gandalf@vilnya.demon.co.uk
328 later revised the device driver for
330 .An Seigo Tanimura Aq tanimura@r.dl.itc.u-tokyo.ac.jp
331 revised this manual page.
332 It was then rewritten for
335 Some features of your sound card (e.g., global volume control) might not
336 be supported on all devices.