Provided by: freebsd-manpages_7.0-2_all bug

NAME

     snd_emu10kx - Creative SoundBlaster Live! and Audigy sound cards device
     driver

SYNOPSIS

     To compile this driver into the kernel, place the following lines in your
     kernel configuration file:

           device sound
           device snd_emu10kx

     Alternatively, to load the driver as a module at boot time, place the
     following line in loader.conf(5):

           snd_emu10kx_load="YES"

DESCRIPTION

     The snd_emu10kx bridge driver allows the generic audio driver sound(4) to
     attach to Creative sound cards based on the EMU10K1, CA0100, CA0101,
     CA0102 and CA0108 DSPs.

     The snd_emu10kx sound cards have a PCM part, which is accessible through
     one to five pcm(4) devices (see MULTICHANNEL PLAYBACK for details), and
     MPU401-compatible MIDI I/O controller, which is accessible through the
     midi device.  Wave table synthesizer is not supported.

HARDWARE

     The snd_emu10kx driver supports the following sound cards:

     ·   Creative Sound Blaster Live! (EMU10K1 Chipset).  Both PCM and MIDI
         interfaces are available.
     ·   Creative Sound Blaster Audigy (CA0100 and CA0101 Chipset).  PCM and
         two MIDI interfaces available.
     ·   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).
     ·   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.

     The snd_emu10kx driver does not support the following sound cards
     (although they are named similar to some supported ones):

     ·   Creative Sound Blaster Live! 24-Bit, identified by FreeBSD as
         "emu10k1x Soundblaster Live! 5.1".
     ·   Creative Sound Blaster Audigy LS / ES, identified by FreeBSD as
         "CA0106-DAT Audigy LS".
     ·   All other Creative sound cards with -DAT chipsets.
     ·   All Creative X-Fi series sound cards.

MULTICHANNEL PLAYBACK

     By default driver is loaded with multichannel playback capabilities
     enabled.  If you do not set the hint.emu10kx.0.multichannel_disabled
     option in your 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 audio/pulseaudio from The Ports Collection ) to do sound
     stream demultiplexing.  Only “FRONT” output can play and record sound
     from external sources (like line or S/PDIF inputs).

MULTICHANNEL RECORDING

     By default multichannel recording capabilities are not enabled when you
     load this driver.  If you enable the
     hint.emu10kx.0.multichannel_recording option in 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
     sound subsystem does not support such an amount of PCM channels.  This
     device can not be opened for read, thus confusing many applications.

     Within multichannel stream first half (0-15 or 0-31) is a copy of all DSP
     outputs, 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 always
     set to 0xc0de.  Audigy cards do not need such sync data, because stream
     always start with substream 0.

   SB Live! substream map (in byte offsets, each substream is 2 bytes LE)
     Offset        Substream

     +0x00..+0x1E  PCM streams 0..15

     +0x20, +0x22  Empty

     +0x24..+0x2A  PCM inputs: front left, front right, rear left, rear right,
                   center, sub

     +0x2C..+0x3C  DSP inputs 0..8:

     +0x3E         sync substream (0xc0de)

   Audigy substream map (in byte offsets, each substream is 2 bytes LE)
     Offset        Substream

     +0x00..+0x3E  PCM streams 0..31

     +0x40..+0x5E  PCM inputs: front LR, rear LR, center, sub, ...

     +0x60..+0x7E  DSP inputs 0..16

OSS MIXER CONTROLS

     These are the controls available through the standard OSS programming
     interface.  You can use mixer(8) to change them.

     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.

     "vol" mixer control is overall sound volume.

     "pcm" mixer control is PCM playback volume.  It controls only front
     output volume in multichannel mode and all output volume in single
     channel mode.

     "rec" mixer control acts very different 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 "stereo mix" entering the DSP.  AC97
     recording level and AC97 recording source are fixed on CA0100, CA0101,
     CA0102 and CA0108 cards.  AC97 recording level are always set to maximum
     and recording source is always “stereo mix”.

     "dig1" is a CD S/PDIF (on-card) volume control

     "dig2" is an AudigyDrive S/PDIF (Audigy series) or TOSLink (SB Live!
     series) volume control

     "dig3" is an on-card S/PDIF volume control

     "line2" is AudigyDrive "Line In 2" volume control

     "line3" is AudigyDrive "AUX In 2" volume control

     Other OSS mixer controls control inputs of AC97 codec.

PRIVATE DEVICE CONTROLS

     You can control some of EMU10Kx operation and configuration parameters
     through dev.emu10kx.X〉 sysctls.  These sysctl(8) values are temporary
     and should not be relied upon.

DRIVER CONFIGURATION

     Loader tunables are used to set driver configuration.  Tunables can be
     set at the loader(8) prompt before booting the kernel or they can be
     stored in /boot/loader.conf.  These tunables can’t be changed from a
     maching sysctl(8) entry after boot, but you can change them using kenv(1)
     while the driver is not loaded.

     hint.emu10kx.X.disabled
             Disables loading a driver instance.

     hint.emu10kx.X.multichannel_disabled
             Disables multichannel playback support, when one card is
             represented as several PCM devices.

     hint.emu10kx.X.multichannel_recording
             Enables experimental multichannel recording support.

     hint.emu10kx.X.debug
             Set debug output level.

             0   No additional debug options enabled

             1   Enables all DSP outputs to be connected, even those that are
                 known to be unused on a particular card.

             2   Additional debug messages about in-driver events will be
                 printed.

             2   Additional debug messages will be printed when memory
                 allocation fails.

FILES

     /dev/emu10kx?  snd_emu10kx management interface

SEE ALSO

     sound(4)

HISTORY

     The snd_emu10kx device driver first appeared in FreeBSD 7.0.

AUTHORS

     The PCM part of the driver is based on the snd_emu10k1(4) SB Live! driver
     by Cameron Grant 〈cg@freebsd.org〉.  The MIDI interface is based on the
     snd_emu10k1(4) MIDI interface code by Mathew Kanner 〈matk@freebsd.org〉.
     The snd_emu10kx device driver and this manual page were written by Yuriy
     Tsibizov.

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.

     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).

     The MIDI driver cannot detect the presence of Live!Drive or AudigyDrive
     breakout boxes and tries to enable the IR receiver on them anyway.