Provided by: freebsd-manpages_12.2-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 support is not available.

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 have  names  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  the snd_emu10kx 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 the snd_emu10kx 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 the  sound  subsystem
       does  not support such an amount of PCM channels.  This device can not be opened for read, thus confusing
       many applications.

       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.

   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 for the overall sound volume.

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

       "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 “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
       “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 the inputs of the AC97 codec.

PRIVATE DEVICE CONTROLS

       You can control some of EMU10Kx's 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 cannot be changed from a
       machine sysctl(8) entry after boot, but you can change them using kenv(1) before loading the  snd_emu10kx
       driver.

       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.

Debian                                            May 28, 2008                                    SND_EMU10KX(4)