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

FreeBSD Manual Pages

  
 
  

home | help
SND_EMU10KX(4)		 BSD 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:

     o	 Creative Sound	Blaster	Live! (EMU10K1 Chipset).  Both PCM and MIDI
	 interfaces are	available.
     o	 Creative Sound	Blaster	Audigy (CA0100 and CA0101 Chipset).  PCM and
	 two MIDI interfaces available.
     o	 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).
     o	 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 (al-
     though they have names similar to some supported ones):

     o	 Creative Sound	Blaster	Live! 24-Bit, identified by FreeBSD as
	 "emu10k1x Soundblaster	Live! 5.1".
     o	 Creative Sound	Blaster	Audigy LS / ES,	identified by FreeBSD as
	 "CA0106-DAT Audigy LS".
     o	 All other Creative sound cards	with -DAT chipsets.
     o	 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)	con-
     figuration	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 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	chan-
     nel 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! 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 ma-
     chine 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.

BSD				 May 28, 2008				   BSD

NAME | SYNOPSIS | DESCRIPTION | HARDWARE | MULTICHANNEL PLAYBACK | MULTICHANNEL RECORDING | OSS MIXER CONTROLS | PRIVATE DEVICE CONTROLS | DRIVER CONFIGURATION | FILES | SEE ALSO | HISTORY | AUTHORS | BUGS

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

home | help