summaryrefslogtreecommitdiffstats
path: root/share/man/man4/snd_emu10kx.4
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4/snd_emu10kx.4')
-rw-r--r--share/man/man4/snd_emu10kx.4296
1 files changed, 296 insertions, 0 deletions
diff --git a/share/man/man4/snd_emu10kx.4 b/share/man/man4/snd_emu10kx.4
new file mode 100644
index 0000000..72568c3
--- /dev/null
+++ b/share/man/man4/snd_emu10kx.4
@@ -0,0 +1,296 @@
+.\"
+.\" Copyright (c) 2003-2007 Yuriy Tsibizov
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd May 28, 2008
+.Dt SND_EMU10KX 4
+.Os
+.Sh NAME
+.Nm snd_emu10kx
+.Nd Creative SoundBlaster Live! and Audigy sound cards device driver
+.Sh SYNOPSIS
+To compile this driver into the kernel, place the following lines in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device sound"
+.Cd "device snd_emu10kx"
+.Ed
+.Pp
+Alternatively, to load the driver as a module at boot time, place the
+following line in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+snd_emu10kx_load="YES"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+bridge driver allows the generic audio driver
+.Xr sound 4
+to attach to Creative sound cards based on the EMU10K1, CA0100, CA0101, CA0102
+and CA0108 DSPs.
+.Pp
+The
+.Nm
+sound cards have a PCM part, which is accessible through one to five
+.Xr pcm 4
+devices (see
+.Sx MULTICHANNEL PLAYBACK
+for details), and MPU401-compatible MIDI I/O controller, which is accessible
+through the midi device.
+Wave table synthesizer support is not available.
+.Sh HARDWARE
+The
+.Nm
+driver supports the following sound cards:
+.Pp
+.Bl -bullet -compact
+.It
+Creative Sound Blaster Live!\& (EMU10K1 Chipset).
+Both PCM and MIDI interfaces are available.
+.It
+Creative Sound Blaster Audigy (CA0100 and CA0101 Chipset).
+PCM and two MIDI interfaces available.
+.It
+Creative Sound Blaster Audigy 2 and Creative Sound Blaster Audigy 4 (CA0102
+Chipset).
+PCM support is limited to 48kHz/16 bit stereo (192kHz/24 bit part
+of this chipset is not supported).
+.It
+Creative Sound Blaster Audigy 2 Value (CA0108 Chipset).
+PCM support is limited
+to 48kHz/16 bit stereo (192kHz/24 bit part of this chipset is not supported).
+There is no MIDI support for this card.
+.El
+.Pp
+The
+.Nm
+driver does
+.Em not
+support the following sound cards (although they have names
+similar to some supported ones):
+.Pp
+.Bl -bullet -compact
+.It
+Creative Sound Blaster Live!\& 24-Bit, identified by
+.Fx
+as
+.Qq Li "emu10k1x Soundblaster Live! 5.1" .
+.It
+Creative Sound Blaster Audigy LS / ES, identified by
+.Fx
+as
+.Qq Li "CA0106-DAT Audigy LS" .
+.It
+All other Creative sound cards with -DAT chipsets.
+.It
+All Creative X-Fi series sound cards.
+.El
+.Sh MULTICHANNEL PLAYBACK
+By default the
+.Nm
+driver is loaded with multichannel playback capabilities enabled.
+If you do not set the
+.Dv hint.emu10kx.0.multichannel_disabled
+option in your
+.Xr loader.conf 5
+configuration file you will get up to five DSP devices, one for each
+sound card output.
+You can use additional software (like
+.Em audio/pulseaudio
+from
+.Em The Ports Collection )
+to do sound stream demultiplexing.
+Only
+.Dq FRONT
+output can play and record sound from external
+sources (like line or S/PDIF inputs).
+.Sh MULTICHANNEL RECORDING
+By default multichannel recording capabilities are not enabled when you load
+the
+.Nm
+driver.
+If you enable the
+.Dv hint.emu10kx.0.multichannel_recording
+option in
+.Xr loader.conf 5
+you will get one more DSP device that is rate-locked to 48kHz/16bit/mono.
+This is actually 48kHz/16bit/32 channels on SB Live! cards and
+48kHz/16bit/64channels on Audigy cards, but the current implementation of
+the sound subsystem does not support such an amount of PCM channels.
+This device can not be opened for read, thus confusing many applications.
+.Pp
+Within a multichannel stream, the first half (0-15 or 0-31) is a copy of all DSP
+outputs, the second half (15-30 or 32-63) is a copy of some DSP inputs.
+On Live! cards the last substream (31) is used as a sync stream and is always
+set to 0xc0de.
+Audigy cards do not need such sync data, because a stream always starts with
+substream 0.
+.Ss SB Live! substream map (in byte offsets, each substream is 2 bytes LE)
+.Bl -tag -width ".Dv +0x00..+0x1E"
+.It Dv Offset
+Substream
+.It +0x00..+0x1E
+PCM streams 0..15
+.It +0x20, +0x22
+Empty
+.It +0x24..+0x2A
+PCM inputs: front left, front right, rear left, rear right, center, sub
+.It +0x2C..+0x3C
+DSP inputs 0..8:
+.It +0x3E
+sync substream (0xc0de)
+.El
+.Ss Audigy substream map (in byte offsets, each substream is 2 bytes LE)
+.Bl -tag -width ".Dv +0x00..+0x3E"
+.It Dv Offset
+Substream
+.It +0x00..+0x3E
+PCM streams 0..31
+.It +0x40..+0x5E
+PCM inputs: front LR, rear LR, center, sub, ...
+.It +0x60..+0x7E
+DSP inputs 0..16
+.El
+.Sh OSS MIXER CONTROLS
+These are the controls available through the standard OSS programming interface.
+You can use
+.Xr mixer 8
+to change them.
+.Pp
+On EMU10K1-based cards the OSS mixer directly controls the AC97 codec.
+On newer cards the OSS mixer controls some parameters of the AC97 codec and
+some DSP-based mixer controls.
+.Bl -inset
+.It Qq vol
+mixer control for the overall sound volume.
+.It Qq pcm
+mixer control for the PCM playback volume.
+It controls only front output
+volume in multichannel mode and all output volume in single channel mode.
+.It Qq rec
+mixer control acts very differently on EMU10K1 and other cards.
+On EMU10K1 cards it controls the AC97 codec recording level.
+On non-EMU10K1 cards it controls the amount of AC97
+.Dq stereo mix
+ entering the DSP.
+AC97 recording level and AC97 recording source are fixed on CA0100, CA0101,
+CA0102 and CA0108 cards.
+The AC97 recording levels are always set to maximum and recording source is always
+.Dq Li "stereo mix" .
+.It Qq dig1
+is a CD S/PDIF (on-card) volume control
+.It Qq dig2
+is an AudigyDrive S/PDIF (Audigy series) or TOSLink (SB Live! series) volume
+control
+.It Qq dig3
+is an on-card S/PDIF volume control
+.It Qq line2
+is AudigyDrive "Line In 2" volume control
+.It Qq line3
+is AudigyDrive "AUX In 2" volume control
+.El
+.Pp
+Other OSS mixer controls control the inputs of the AC97 codec.
+.Sh PRIVATE DEVICE CONTROLS
+You can control some of EMU10Kx's operation and configuration parameters through
+.Va dev.emu10kx. Ns Aq Ar X
+sysctls.
+These
+.Xr sysctl 8
+values are temporary and should not be relied upon.
+.Sh DRIVER CONFIGURATION
+Loader tunables are used to set driver configuration.
+Tunables can be set at the
+.Xr loader 8
+prompt before booting the kernel or they can be stored in
+.Pa /boot/loader.conf .
+These tunables cannot be changed from a machine
+.Xr sysctl 8
+entry after boot, but you can change them using
+.Xr kenv 1
+before loading the
+.Nm
+driver.
+.Bl -tag -width indent
+.It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .disabled
+Disables loading a driver instance.
+.It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .multichannel_disabled
+Disables multichannel playback support, when one card is represented as
+several PCM devices.
+.It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .multichannel_recording
+Enables experimental multichannel recording support.
+.It Va hint.emu10kx. Ns Ao Ar X Ac Ns Va .debug
+Set debug output level.
+.Bl -tag -width 2n
+.It 0
+No additional debug options enabled
+.It 1
+Enables all DSP outputs to be connected, even those
+that are known to be unused on a particular card.
+.It 2
+Additional debug messages about in-driver events will be printed.
+.It 2
+Additional debug messages will be printed when memory allocation fails.
+.El
+.El
+.Sh FILES
+.Bl -tag -width ".Pa /dev/emu10kx?" -compact
+.It Pa /dev/emu10kx?
+.Nm
+management interface
+.El
+.Sh SEE ALSO
+.Xr sound 4
+.Sh HISTORY
+The
+.Nm
+device driver first appeared in
+.Fx 7.0 .
+.Sh AUTHORS
+.An -nosplit
+The PCM part of the driver is based on the
+.Xr snd_emu10k1 4
+SB Live!\& driver by
+.An Cameron Grant Aq cg@FreeBSD.org .
+The MIDI interface is based on the
+.Xr snd_emu10k1 4
+MIDI interface code by
+.An Mathew Kanner Aq matk@FreeBSD.org .
+The
+.Nm
+device driver and this manual page were written by
+.An Yuriy Tsibizov .
+.Sh BUGS
+The driver does not detect lost S/PDIF signals and produces noise when
+S/PDIF is not connected and S/PDIF volume is not zero.
+.Pp
+The PCM driver cannot detect the presence of Live!Drive or AudigyDrive
+breakout boxes and tries to use them (and list their connectors in the
+mixer).
+.Pp
+The MIDI driver cannot detect the presence of Live!Drive or AudigyDrive
+breakout boxes and tries to enable the IR receiver on them anyway.
OpenPOWER on IntegriCloud