xref: /dflybsd-src/share/man/man4/snd_emu10kx.4 (revision 3b7b7de0633db1b2813962ec77e506dacdeb0842)
1*3b7b7de0SSascha Wildner.\"
2*3b7b7de0SSascha Wildner.\" Copyright (c) 2003-2007 Yuriy Tsibizov
3*3b7b7de0SSascha Wildner.\" All rights reserved.
4*3b7b7de0SSascha Wildner.\"
5*3b7b7de0SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
6*3b7b7de0SSascha Wildner.\" modification, are permitted provided that the following conditions
7*3b7b7de0SSascha Wildner.\" are met:
8*3b7b7de0SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
9*3b7b7de0SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
10*3b7b7de0SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
11*3b7b7de0SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
12*3b7b7de0SSascha Wildner.\"    documentation and/or other materials provided with the distribution.
13*3b7b7de0SSascha Wildner.\"
14*3b7b7de0SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15*3b7b7de0SSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16*3b7b7de0SSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17*3b7b7de0SSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18*3b7b7de0SSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19*3b7b7de0SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20*3b7b7de0SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21*3b7b7de0SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22*3b7b7de0SSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23*3b7b7de0SSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24*3b7b7de0SSascha Wildner.\" SUCH DAMAGE.
25*3b7b7de0SSascha Wildner.\"
26*3b7b7de0SSascha Wildner.\" $FreeBSD: head/share/man/man4/snd_emu10kx.4 267938 2014-06-26 21:46:14Z bapt $
27*3b7b7de0SSascha Wildner.\"
28*3b7b7de0SSascha Wildner.Dd January 8, 2015
29*3b7b7de0SSascha Wildner.Dt SND_EMU10KX 4
30*3b7b7de0SSascha Wildner.Os
31*3b7b7de0SSascha Wildner.Sh NAME
32*3b7b7de0SSascha Wildner.Nm snd_emu10kx
33*3b7b7de0SSascha Wildner.Nd Creative SoundBlaster Live! and Audigy sound cards device driver
34*3b7b7de0SSascha Wildner.Sh SYNOPSIS
35*3b7b7de0SSascha WildnerTo compile this driver into the kernel, place the following lines in your
36*3b7b7de0SSascha Wildnerkernel configuration file:
37*3b7b7de0SSascha Wildner.Bd -ragged -offset indent
38*3b7b7de0SSascha Wildner.Cd "device sound"
39*3b7b7de0SSascha Wildner.Cd "device snd_emu10kx"
40*3b7b7de0SSascha Wildner.Ed
41*3b7b7de0SSascha Wildner.Pp
42*3b7b7de0SSascha WildnerAlternatively, to load the driver as a module at boot time, place the
43*3b7b7de0SSascha Wildnerfollowing line in
44*3b7b7de0SSascha Wildner.Xr loader.conf 5 :
45*3b7b7de0SSascha Wildner.Bd -literal -offset indent
46*3b7b7de0SSascha Wildnersnd_emu10kx_load="YES"
47*3b7b7de0SSascha Wildner.Ed
48*3b7b7de0SSascha Wildner.Sh DESCRIPTION
49*3b7b7de0SSascha WildnerThe
50*3b7b7de0SSascha Wildner.Nm
51*3b7b7de0SSascha Wildnerbridge driver allows the generic audio driver
52*3b7b7de0SSascha Wildner.Xr sound 4
53*3b7b7de0SSascha Wildnerto attach to Creative sound cards based on the EMU10K1, CA0100, CA0101, CA0102
54*3b7b7de0SSascha Wildnerand CA0108 DSPs.
55*3b7b7de0SSascha Wildner.Pp
56*3b7b7de0SSascha WildnerThe
57*3b7b7de0SSascha Wildner.Nm
58*3b7b7de0SSascha Wildnersound cards have a PCM part, which is accessible through one to five
59*3b7b7de0SSascha Wildner.Xr pcm 4
60*3b7b7de0SSascha Wildnerdevices (see
61*3b7b7de0SSascha Wildner.Sx MULTICHANNEL PLAYBACK
62*3b7b7de0SSascha Wildnerfor details), and MPU401-compatible MIDI I/O controller, which is accessible
63*3b7b7de0SSascha Wildnerthrough the midi device.
64*3b7b7de0SSascha WildnerWave table synthesizer support is not available.
65*3b7b7de0SSascha Wildner.Sh HARDWARE
66*3b7b7de0SSascha WildnerThe
67*3b7b7de0SSascha Wildner.Nm
68*3b7b7de0SSascha Wildnerdriver supports the following sound cards:
69*3b7b7de0SSascha Wildner.Pp
70*3b7b7de0SSascha Wildner.Bl -bullet -compact
71*3b7b7de0SSascha Wildner.It
72*3b7b7de0SSascha WildnerCreative Sound Blaster Live!\& (EMU10K1 Chipset).
73*3b7b7de0SSascha WildnerBoth PCM and MIDI interfaces are available.
74*3b7b7de0SSascha Wildner.It
75*3b7b7de0SSascha WildnerCreative Sound Blaster Audigy (CA0100 and CA0101 Chipset).
76*3b7b7de0SSascha WildnerPCM and two MIDI interfaces available.
77*3b7b7de0SSascha Wildner.It
78*3b7b7de0SSascha WildnerCreative Sound Blaster Audigy 2 and Creative Sound Blaster Audigy 4 (CA0102
79*3b7b7de0SSascha WildnerChipset).
80*3b7b7de0SSascha WildnerPCM support is limited to 48kHz/16 bit stereo (192kHz/24 bit part
81*3b7b7de0SSascha Wildnerof this chipset is not supported).
82*3b7b7de0SSascha Wildner.It
83*3b7b7de0SSascha WildnerCreative Sound Blaster Audigy 2 Value (CA0108 Chipset).
84*3b7b7de0SSascha WildnerPCM support is limited
85*3b7b7de0SSascha Wildnerto 48kHz/16 bit stereo (192kHz/24 bit part of this chipset is not supported).
86*3b7b7de0SSascha WildnerThere is no MIDI support for this card.
87*3b7b7de0SSascha Wildner.El
88*3b7b7de0SSascha Wildner.Pp
89*3b7b7de0SSascha WildnerThe
90*3b7b7de0SSascha Wildner.Nm
91*3b7b7de0SSascha Wildnerdriver does
92*3b7b7de0SSascha Wildner.Em not
93*3b7b7de0SSascha Wildnersupport the following sound cards (although they have names
94*3b7b7de0SSascha Wildnersimilar to some supported ones):
95*3b7b7de0SSascha Wildner.Pp
96*3b7b7de0SSascha Wildner.Bl -bullet -compact
97*3b7b7de0SSascha Wildner.It
98*3b7b7de0SSascha WildnerCreative Sound Blaster Live!\& 24-Bit, identified by
99*3b7b7de0SSascha Wildner.Fx
100*3b7b7de0SSascha Wildneras
101*3b7b7de0SSascha Wildner.Qq Li "emu10k1x Soundblaster Live! 5.1" .
102*3b7b7de0SSascha Wildner.It
103*3b7b7de0SSascha WildnerCreative Sound Blaster Audigy LS / ES, identified by
104*3b7b7de0SSascha Wildner.Fx
105*3b7b7de0SSascha Wildneras
106*3b7b7de0SSascha Wildner.Qq Li "CA0106-DAT Audigy LS" .
107*3b7b7de0SSascha Wildner.It
108*3b7b7de0SSascha WildnerAll other Creative sound cards with -DAT chipsets.
109*3b7b7de0SSascha Wildner.It
110*3b7b7de0SSascha WildnerAll Creative X-Fi series sound cards.
111*3b7b7de0SSascha Wildner.El
112*3b7b7de0SSascha Wildner.Sh MULTICHANNEL PLAYBACK
113*3b7b7de0SSascha WildnerBy default the
114*3b7b7de0SSascha Wildner.Nm
115*3b7b7de0SSascha Wildnerdriver is loaded with multichannel playback capabilities enabled.
116*3b7b7de0SSascha WildnerIf you do not set the
117*3b7b7de0SSascha Wildner.Dv hint.emu10kx.0.multichannel_disabled
118*3b7b7de0SSascha Wildneroption in your
119*3b7b7de0SSascha Wildner.Xr loader.conf 5
120*3b7b7de0SSascha Wildnerconfiguration file you will get up to five DSP devices, one for each
121*3b7b7de0SSascha Wildnersound card output.
122*3b7b7de0SSascha WildnerYou can use additional software (like
123*3b7b7de0SSascha Wildner.Em audio/pulseaudio
124*3b7b7de0SSascha Wildnerfrom
125*3b7b7de0SSascha Wildner.Em The Ports Collection )
126*3b7b7de0SSascha Wildnerto do sound stream demultiplexing.
127*3b7b7de0SSascha WildnerOnly
128*3b7b7de0SSascha Wildner.Dq FRONT
129*3b7b7de0SSascha Wildneroutput can play and record sound from external
130*3b7b7de0SSascha Wildnersources (like line or S/PDIF inputs).
131*3b7b7de0SSascha Wildner.Sh MULTICHANNEL RECORDING
132*3b7b7de0SSascha WildnerBy default multichannel recording capabilities are not enabled when you load
133*3b7b7de0SSascha Wildnerthe
134*3b7b7de0SSascha Wildner.Nm
135*3b7b7de0SSascha Wildnerdriver.
136*3b7b7de0SSascha WildnerIf you enable the
137*3b7b7de0SSascha Wildner.Dv hint.emu10kx.0.multichannel_recording
138*3b7b7de0SSascha Wildneroption in
139*3b7b7de0SSascha Wildner.Xr loader.conf 5
140*3b7b7de0SSascha Wildneryou will get one more DSP device that is rate-locked to 48kHz/16bit/mono.
141*3b7b7de0SSascha WildnerThis is actually 48kHz/16bit/32 channels on SB Live! cards and
142*3b7b7de0SSascha Wildner48kHz/16bit/64channels on Audigy cards, but the current implementation of
143*3b7b7de0SSascha Wildnerthe sound subsystem does not support such an amount of PCM channels.
144*3b7b7de0SSascha WildnerThis device can not be opened for read, thus confusing many applications.
145*3b7b7de0SSascha Wildner.Pp
146*3b7b7de0SSascha WildnerWithin a multichannel stream, the first half (0-15 or 0-31) is a copy of all DSP
147*3b7b7de0SSascha Wildneroutputs, the second half (15-30 or 32-63) is a copy of some DSP inputs.
148*3b7b7de0SSascha WildnerOn Live! cards the last substream (31) is used as a sync stream and is always
149*3b7b7de0SSascha Wildnerset to 0xc0de.
150*3b7b7de0SSascha WildnerAudigy cards do not need such sync data, because a stream always starts with
151*3b7b7de0SSascha Wildnersubstream 0.
152*3b7b7de0SSascha Wildner.Ss SB Live! substream map (in byte offsets, each substream is 2 bytes LE)
153*3b7b7de0SSascha Wildner.Bl -tag -width ".Dv +0x00..+0x1E"
154*3b7b7de0SSascha Wildner.It Dv Offset
155*3b7b7de0SSascha WildnerSubstream
156*3b7b7de0SSascha Wildner.It +0x00..+0x1E
157*3b7b7de0SSascha WildnerPCM streams 0..15
158*3b7b7de0SSascha Wildner.It +0x20, +0x22
159*3b7b7de0SSascha WildnerEmpty
160*3b7b7de0SSascha Wildner.It +0x24..+0x2A
161*3b7b7de0SSascha WildnerPCM inputs: front left, front right, rear left, rear right, center, sub
162*3b7b7de0SSascha Wildner.It +0x2C..+0x3C
163*3b7b7de0SSascha WildnerDSP inputs 0..8:
164*3b7b7de0SSascha Wildner.It +0x3E
165*3b7b7de0SSascha Wildnersync substream (0xc0de)
166*3b7b7de0SSascha Wildner.El
167*3b7b7de0SSascha Wildner.Ss Audigy substream map (in byte offsets, each substream is 2 bytes LE)
168*3b7b7de0SSascha Wildner.Bl -tag -width ".Dv +0x00..+0x3E"
169*3b7b7de0SSascha Wildner.It Dv Offset
170*3b7b7de0SSascha WildnerSubstream
171*3b7b7de0SSascha Wildner.It +0x00..+0x3E
172*3b7b7de0SSascha WildnerPCM streams 0..31
173*3b7b7de0SSascha Wildner.It +0x40..+0x5E
174*3b7b7de0SSascha WildnerPCM inputs: front LR, rear LR, center, sub, ...
175*3b7b7de0SSascha Wildner.It +0x60..+0x7E
176*3b7b7de0SSascha WildnerDSP inputs 0..16
177*3b7b7de0SSascha Wildner.El
178*3b7b7de0SSascha Wildner.Sh OSS MIXER CONTROLS
179*3b7b7de0SSascha WildnerThese are the controls available through the standard OSS programming interface.
180*3b7b7de0SSascha WildnerYou can use
181*3b7b7de0SSascha Wildner.Xr mixer 8
182*3b7b7de0SSascha Wildnerto change them.
183*3b7b7de0SSascha Wildner.Pp
184*3b7b7de0SSascha WildnerOn EMU10K1-based cards the OSS mixer directly controls the AC97 codec.
185*3b7b7de0SSascha WildnerOn newer cards the OSS mixer controls some parameters of the AC97 codec and
186*3b7b7de0SSascha Wildnersome DSP-based mixer controls.
187*3b7b7de0SSascha Wildner.Bl -inset
188*3b7b7de0SSascha Wildner.It Qq vol
189*3b7b7de0SSascha Wildnermixer control for the overall sound volume.
190*3b7b7de0SSascha Wildner.It Qq pcm
191*3b7b7de0SSascha Wildnermixer control for the PCM playback volume.
192*3b7b7de0SSascha WildnerIt controls only front output
193*3b7b7de0SSascha Wildnervolume in multichannel mode and all output volume in single channel mode.
194*3b7b7de0SSascha Wildner.It Qq rec
195*3b7b7de0SSascha Wildnermixer control acts very differently on EMU10K1 and other cards.
196*3b7b7de0SSascha WildnerOn EMU10K1 cards it controls the AC97 codec recording level.
197*3b7b7de0SSascha WildnerOn non-EMU10K1 cards it controls the amount of AC97
198*3b7b7de0SSascha Wildner.Dq stereo mix
199*3b7b7de0SSascha Wildner entering the DSP.
200*3b7b7de0SSascha WildnerAC97 recording level and AC97 recording source are fixed on CA0100, CA0101,
201*3b7b7de0SSascha WildnerCA0102 and CA0108 cards.
202*3b7b7de0SSascha WildnerThe AC97 recording levels are always set to maximum and recording source is always
203*3b7b7de0SSascha Wildner.Dq Li "stereo mix" .
204*3b7b7de0SSascha Wildner.It Qq dig1
205*3b7b7de0SSascha Wildneris a CD S/PDIF (on-card) volume control
206*3b7b7de0SSascha Wildner.It Qq dig2
207*3b7b7de0SSascha Wildneris an AudigyDrive S/PDIF (Audigy series) or TOSLink (SB Live! series) volume
208*3b7b7de0SSascha Wildnercontrol
209*3b7b7de0SSascha Wildner.It Qq dig3
210*3b7b7de0SSascha Wildneris an on-card S/PDIF volume control
211*3b7b7de0SSascha Wildner.It Qq line2
212*3b7b7de0SSascha Wildneris AudigyDrive "Line In 2" volume control
213*3b7b7de0SSascha Wildner.It Qq line3
214*3b7b7de0SSascha Wildneris AudigyDrive "AUX In 2" volume control
215*3b7b7de0SSascha Wildner.El
216*3b7b7de0SSascha Wildner.Pp
217*3b7b7de0SSascha WildnerOther OSS mixer controls control the inputs of the AC97 codec.
218*3b7b7de0SSascha Wildner.Sh PRIVATE DEVICE CONTROLS
219*3b7b7de0SSascha WildnerYou can control some of EMU10Kx's operation and configuration parameters through
220*3b7b7de0SSascha Wildner.Va dev.emu10kx. Ns Aq Ar X
221*3b7b7de0SSascha Wildnersysctls.
222*3b7b7de0SSascha WildnerThese
223*3b7b7de0SSascha Wildner.Xr sysctl 8
224*3b7b7de0SSascha Wildnervalues are temporary and should not be relied upon.
225*3b7b7de0SSascha Wildner.Sh DRIVER CONFIGURATION
226*3b7b7de0SSascha WildnerLoader tunables are used to set driver configuration.
227*3b7b7de0SSascha WildnerTunables can be set at the
228*3b7b7de0SSascha Wildner.Xr loader 8
229*3b7b7de0SSascha Wildnerprompt before booting the kernel or they can be stored in
230*3b7b7de0SSascha Wildner.Pa /boot/loader.conf .
231*3b7b7de0SSascha WildnerThese tunables cannot be changed from a machine
232*3b7b7de0SSascha Wildner.Xr sysctl 8
233*3b7b7de0SSascha Wildnerentry after boot, but you can change them using
234*3b7b7de0SSascha Wildner.Xr kenv 1
235*3b7b7de0SSascha Wildnerbefore loading the
236*3b7b7de0SSascha Wildner.Nm
237*3b7b7de0SSascha Wildnerdriver.
238*3b7b7de0SSascha Wildner.Bl -tag -width indent
239*3b7b7de0SSascha Wildner.It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .disabled
240*3b7b7de0SSascha WildnerDisables loading a driver instance.
241*3b7b7de0SSascha Wildner.It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .multichannel_disabled
242*3b7b7de0SSascha WildnerDisables multichannel playback support, when one card is represented as
243*3b7b7de0SSascha Wildnerseveral PCM devices.
244*3b7b7de0SSascha Wildner.It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .multichannel_recording
245*3b7b7de0SSascha WildnerEnables experimental multichannel recording support.
246*3b7b7de0SSascha Wildner.It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .debug
247*3b7b7de0SSascha WildnerSet debug output level.
248*3b7b7de0SSascha Wildner.Bl -tag -width 2n
249*3b7b7de0SSascha Wildner.It 0
250*3b7b7de0SSascha WildnerNo additional debug options enabled
251*3b7b7de0SSascha Wildner.It 1
252*3b7b7de0SSascha WildnerEnables all DSP outputs to be connected, even those
253*3b7b7de0SSascha Wildnerthat are known to be unused on a particular card.
254*3b7b7de0SSascha Wildner.It 2
255*3b7b7de0SSascha WildnerAdditional debug messages about in-driver events will be printed.
256*3b7b7de0SSascha Wildner.It 2
257*3b7b7de0SSascha WildnerAdditional debug messages will be printed when memory allocation fails.
258*3b7b7de0SSascha Wildner.El
259*3b7b7de0SSascha Wildner.El
260*3b7b7de0SSascha Wildner.Sh FILES
261*3b7b7de0SSascha Wildner.Bl -tag -width ".Pa /dev/emu10kx?" -compact
262*3b7b7de0SSascha Wildner.It Pa /dev/emu10kx?
263*3b7b7de0SSascha Wildner.Nm
264*3b7b7de0SSascha Wildnermanagement interface
265*3b7b7de0SSascha Wildner.El
266*3b7b7de0SSascha Wildner.Sh SEE ALSO
267*3b7b7de0SSascha Wildner.Xr sound 4
268*3b7b7de0SSascha Wildner.Sh HISTORY
269*3b7b7de0SSascha WildnerThe
270*3b7b7de0SSascha Wildner.Nm
271*3b7b7de0SSascha Wildnerdevice driver first appeared in
272*3b7b7de0SSascha Wildner.Fx 7.0 .
273*3b7b7de0SSascha Wildner.Sh AUTHORS
274*3b7b7de0SSascha Wildner.An -nosplit
275*3b7b7de0SSascha WildnerThe PCM part of the driver is based on the
276*3b7b7de0SSascha Wildner.Xr snd_emu10k1 4
277*3b7b7de0SSascha WildnerSB Live!\& driver by
278*3b7b7de0SSascha Wildner.An Cameron Grant Aq Mt cg@FreeBSD.org .
279*3b7b7de0SSascha WildnerThe MIDI interface is based on the
280*3b7b7de0SSascha Wildner.Xr snd_emu10k1 4
281*3b7b7de0SSascha WildnerMIDI interface code by
282*3b7b7de0SSascha Wildner.An Mathew Kanner Aq Mt matk@FreeBSD.org .
283*3b7b7de0SSascha WildnerThe
284*3b7b7de0SSascha Wildner.Nm
285*3b7b7de0SSascha Wildnerdevice driver and this manual page were written by
286*3b7b7de0SSascha Wildner.An Yuriy Tsibizov .
287*3b7b7de0SSascha Wildner.Sh BUGS
288*3b7b7de0SSascha WildnerThe driver does not detect lost S/PDIF signals and produces noise when
289*3b7b7de0SSascha WildnerS/PDIF is not connected and S/PDIF volume is not zero.
290*3b7b7de0SSascha Wildner.Pp
291*3b7b7de0SSascha WildnerThe PCM driver cannot detect the presence of Live!Drive or AudigyDrive
292*3b7b7de0SSascha Wildnerbreakout boxes and tries to use them (and list their connectors in the
293*3b7b7de0SSascha Wildnermixer).
294*3b7b7de0SSascha Wildner.Pp
295*3b7b7de0SSascha WildnerThe MIDI driver cannot detect the presence of Live!Drive or AudigyDrive
296*3b7b7de0SSascha Wildnerbreakout boxes and tries to enable the IR receiver on them anyway.
297