Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SND_EMU10KX(4)		     Kernel Interfaces Manual		  SND_EMU10KX(4)

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 in-
	 terfaces 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  ca-
     pabilities      enabled.	    If	    you      do      not     set     the
     hint.emu10kx.0.multichannel_disabled option in your loader.conf(5) configu-
     ration 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 in-
     puts).

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 actu-
     ally 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 in-
     puts.   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  in-
     terface.  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  lev-
     els 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! se-
     ries) 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  repre-
	     sented 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 alloca-
		 tion 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.

FreeBSD ports 15.1		  May 28, 2008			  SND_EMU10KX(4)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=snd_emu10kx&sektion=4&manpath=FreeBSD+15.1-RELEASE+and+Ports>

home | help