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

FreeBSD Manual Pages

  
 
  

home | help
SND_EMU10KX(4)	       FreeBSD 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 is not supported.

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
     (although they are	named 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	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 out-
     put 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 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	11.1			 July 15, 2007			  FreeBSD 11.1

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://www.freebsd.org/cgi/man.cgi?query=snd_emu10kx&sektion=4&manpath=FreeBSD+7.0-RELEASE>

home | help