]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - share/man/man4/snd_emu10kx.4
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / share / man / man4 / snd_emu10kx.4
1 .\"
2 .\" Copyright (c) 2003-2007 Yuriy Tsibizov
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
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.
13 .\"
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
24 .\" SUCH DAMAGE.
25 .\"
26 .\" $FreeBSD$
27 .\"
28 .Dd May 28, 2008
29 .Dt SND_EMU10KX 4
30 .Os
31 .Sh NAME
32 .Nm snd_emu10kx
33 .Nd Creative SoundBlaster Live! and Audigy sound cards device driver
34 .Sh SYNOPSIS
35 To compile this driver into the kernel, place the following lines in your
36 kernel configuration file:
37 .Bd -ragged -offset indent
38 .Cd "device sound"
39 .Cd "device snd_emu10kx"
40 .Ed
41 .Pp
42 Alternatively, to load the driver as a module at boot time, place the
43 following line in
44 .Xr loader.conf 5 :
45 .Bd -literal -offset indent
46 snd_emu10kx_load="YES"
47 .Ed
48 .Sh DESCRIPTION
49 The
50 .Nm
51 bridge driver allows the generic audio driver
52 .Xr sound 4
53 to attach to Creative sound cards based on the EMU10K1, CA0100, CA0101, CA0102
54 and CA0108 DSPs.
55 .Pp
56 The
57 .Nm
58 sound cards have a PCM part, which is accessible through one to five
59 .Xr pcm 4
60 devices (see
61 .Sx MULTICHANNEL PLAYBACK
62 for details), and MPU401-compatible MIDI I/O controller, which is accessible
63 through the midi device.
64 Wave table synthesizer support is not available.
65 .Sh HARDWARE
66 The
67 .Nm
68 driver supports the following sound cards:
69 .Pp
70 .Bl -bullet -compact
71 .It
72 Creative Sound Blaster Live!\& (EMU10K1 Chipset).
73 Both PCM and MIDI interfaces are available.
74 .It
75 Creative Sound Blaster Audigy (CA0100 and CA0101 Chipset).
76 PCM and two MIDI interfaces available.
77 .It
78 Creative Sound Blaster Audigy 2 and Creative Sound Blaster Audigy 4 (CA0102
79 Chipset).
80 PCM support is limited to 48kHz/16 bit stereo (192kHz/24 bit part
81 of this chipset is not supported).
82 .It
83 Creative Sound Blaster Audigy 2 Value (CA0108 Chipset).
84 PCM support is limited
85 to 48kHz/16 bit stereo (192kHz/24 bit part of this chipset is not supported).
86 There is no MIDI support for this card.
87 .El
88 .Pp
89 The
90 .Nm
91 driver does
92 .Em not
93 support the following sound cards (although they have names
94 similar to some supported ones):
95 .Pp
96 .Bl -bullet -compact
97 .It
98 Creative Sound Blaster Live!\& 24-Bit, identified by
99 .Fx
100 as
101 .Qq Li "emu10k1x Soundblaster Live! 5.1" .
102 .It
103 Creative Sound Blaster Audigy LS / ES, identified by
104 .Fx
105 as
106 .Qq Li "CA0106-DAT Audigy LS" .
107 .It
108 All other Creative sound cards with -DAT chipsets.
109 .It
110 All Creative X-Fi series sound cards.
111 .El
112 .Sh MULTICHANNEL PLAYBACK
113 By default the
114 .Nm
115 driver is loaded with multichannel playback capabilities enabled.
116 If you do not set the
117 .Dv hint.emu10kx.0.multichannel_disabled
118 option in your
119 .Xr loader.conf 5
120 configuration file you will get up to five DSP devices, one for each
121 sound card output.
122 You can use additional software (like 
123 .Em audio/pulseaudio
124 from
125 .Em The Ports Collection )
126 to do sound stream demultiplexing.
127 Only
128 .Dq FRONT
129 output can play and record sound from external
130 sources (like line or S/PDIF inputs).
131 .Sh MULTICHANNEL RECORDING
132 By default multichannel recording capabilities are not enabled when you load
133 the
134 .Nm
135 driver.
136 If you enable the
137 .Dv hint.emu10kx.0.multichannel_recording
138 option in
139 .Xr loader.conf 5
140 you will get one more DSP device that is rate-locked to 48kHz/16bit/mono.
141 This is actually 48kHz/16bit/32 channels on SB Live! cards and
142 48kHz/16bit/64channels on Audigy cards, but the current implementation of
143 the sound subsystem does not support such an amount of PCM channels.
144 This device can not be opened for read, thus confusing many applications.
145 .Pp
146 Within a multichannel stream, the first half (0-15 or 0-31) is a copy of all DSP
147 outputs, the second half (15-30 or 32-63) is a copy of some DSP inputs.
148 On Live! cards the last substream (31) is used as a sync stream and is always
149 set to 0xc0de.
150 Audigy cards do not need such sync data, because a stream always starts with
151 substream 0.
152 .Ss SB Live! substream map (in byte offsets, each substream is 2 bytes LE)
153 .Bl -tag -width ".Dv +0x00..+0x1E"
154 .It Dv Offset
155 Substream
156 .It +0x00..+0x1E
157 PCM streams 0..15
158 .It +0x20, +0x22
159 Empty
160 .It +0x24..+0x2A
161 PCM inputs: front left, front right, rear left, rear right, center, sub
162 .It +0x2C..+0x3C
163 DSP inputs 0..8:
164 .It +0x3E
165 sync substream (0xc0de)
166 .El
167 .Pp
168 .Ss Audigy substream map (in byte offsets, each substream is 2 bytes LE)
169 .Bl -tag -width ".Dv +0x00..+0x3E"
170 .It Dv Offset
171 Substream
172 .It +0x00..+0x3E
173 PCM streams 0..31
174 .It +0x40..+0x5E
175 PCM inputs: front LR, rear LR, center, sub, ...
176 .It +0x60..+0x7E
177 DSP inputs 0..16
178 .El
179 .Sh OSS MIXER CONTROLS
180 These are the controls available through the standard OSS programming interface.
181 You can use
182 .Xr mixer 8
183 to change them.
184 .Pp
185 On EMU10K1-based cards the OSS mixer directly controls the AC97 codec.
186 On newer cards the OSS mixer controls some parameters of the AC97 codec and
187 some DSP-based mixer controls.
188 .Bl -inset
189 .It Qq vol
190 mixer control for the overall sound volume.
191 .It Qq pcm
192 mixer control for the PCM playback volume.
193 It controls only front output
194 volume in multichannel mode and all output volume in single channel mode.
195 .It Qq rec
196 mixer control acts very differently on EMU10K1 and other cards.
197 On EMU10K1 cards it controls the AC97 codec recording level.
198 On non-EMU10K1 cards it controls the amount of AC97
199 .Dq stereo mix
200  entering the DSP.
201 AC97 recording level and AC97 recording source are fixed on CA0100, CA0101,
202 CA0102 and CA0108 cards.
203 The AC97 recording levels are always set to maximum and recording source is always
204 .Dq Li "stereo mix" .
205 .It Qq dig1
206 is a CD S/PDIF (on-card) volume control
207 .It Qq dig2
208 is an AudigyDrive S/PDIF (Audigy series) or TOSLink (SB Live! series) volume
209 control
210 .It Qq dig3
211 is an on-card S/PDIF volume control
212 .It Qq line2
213 is AudigyDrive "Line In 2" volume control
214 .It Qq line3
215 is AudigyDrive "AUX In 2" volume control
216 .El
217 .Pp
218 Other OSS mixer controls control the inputs of the AC97 codec.
219 .Sh PRIVATE DEVICE CONTROLS
220 You can control some of EMU10Kx's operation and configuration parameters through
221 .Va dev.emu10kx. Ns Aq Ar X
222 sysctls.
223 These
224 .Xr sysctl 8
225 values are temporary and should not be relied upon.
226 .Sh DRIVER CONFIGURATION
227 Loader tunables are used to set driver configuration.
228 Tunables can be set at the
229 .Xr loader 8
230 prompt before booting the kernel or they can be stored in
231 .Pa /boot/loader.conf .
232 These tunables cannot be changed from a machine
233 .Xr sysctl 8
234 entry after boot, but you can change them using
235 .Xr kenv 1
236 before loading the
237 .Nm
238 driver.
239 .Bl -tag -width indent
240 .It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .disabled
241 Disables loading a driver instance.
242 .It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .multichannel_disabled
243 Disables multichannel playback support, when one card is represented as
244 several PCM devices.
245 .It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .multichannel_recording
246 Enables experimental multichannel recording support.
247 .It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .debug
248 Set debug output level.
249 .Bl -tag -width 2n
250 .It 0
251 No additional debug options enabled
252 .It 1
253 Enables all DSP outputs to be connected, even those
254 that are known to be unused on a particular card.
255 .It 2
256 Additional debug messages about in-driver events will be printed.
257 .It 2
258 Additional debug messages will be printed when memory allocation fails.
259 .El
260 .El
261 .Sh FILES
262 .Bl -tag -width ".Pa /dev/emu10kx?" -compact
263 .It Pa /dev/emu10kx?
264 .Nm
265 management interface
266 .El
267 .Sh SEE ALSO
268 .Xr sound 4
269 .Sh HISTORY
270 The
271 .Nm
272 device driver first appeared in
273 .Fx 7.0 .
274 .Sh AUTHORS
275 .An -nosplit
276 The PCM part of the driver is based on the
277 .Xr snd_emu10k1 4
278 SB Live!\& driver by
279 .An Cameron Grant Aq cg@FreeBSD.org .
280 The MIDI interface is based on the
281 .Xr snd_emu10k1 4
282 MIDI interface code by
283 .An Mathew Kanner Aq matk@FreeBSD.org .
284 The
285 .Nm
286 device driver and this manual page were written by
287 .An Yuriy Tsibizov .
288 .Sh BUGS
289 .Pp
290 The driver does not detect lost S/PDIF signals and produces noise when
291 S/PDIF is not connected and S/PDIF volume is not zero.
292 .Pp
293 The PCM driver cannot detect the presence of Live!Drive or AudigyDrive
294 breakout boxes and tries to use them (and list their connectors in the
295 mixer).
296 .Pp
297 The MIDI driver cannot detect the presence of Live!Drive or AudigyDrive
298 breakout boxes and tries to enable the IR receiver on them anyway.