summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/snd_emu10kx.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/snd_emu10kx.4 3.html')
-rw-r--r--static/freebsd/man4/snd_emu10kx.4 3.html267
1 files changed, 267 insertions, 0 deletions
diff --git a/static/freebsd/man4/snd_emu10kx.4 3.html b/static/freebsd/man4/snd_emu10kx.4 3.html
new file mode 100644
index 00000000..20f9eb64
--- /dev/null
+++ b/static/freebsd/man4/snd_emu10kx.4 3.html
@@ -0,0 +1,267 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">SND_EMU10KX(4)</td>
+ <td class="head-vol">Device Drivers Manual</td>
+ <td class="head-rtitle">SND_EMU10KX(4)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">snd_emu10kx</code> &#x2014;
+ <span class="Nd">Creative SoundBlaster Live! and Audigy sound cards device
+ driver</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
+<p class="Pp">To compile this driver into the kernel, place the following lines
+ in your kernel configuration file:</p>
+<div class="Bd Pp Bd-indent"><code class="Cd">device sound</code>
+<br/>
+<code class="Cd">device snd_emu10kx</code></div>
+<p class="Pp">Alternatively, to load the driver as a module at boot time, place
+ the following line in <a class="Xr">loader.conf(5)</a>:</p>
+<div class="Bd Pp Bd-indent Li">
+<pre>snd_emu10kx_load=&quot;YES&quot;</pre>
+</div>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The <code class="Nm">snd_emu10kx</code> bridge driver allows the
+ generic audio driver <a class="Xr">sound(4)</a> to attach to Creative sound
+ cards based on the EMU10K1, CA0100, CA0101, CA0102 and CA0108 DSPs.</p>
+<p class="Pp">The <code class="Nm">snd_emu10kx</code> sound cards have a PCM
+ part, which is accessible through one to five <a class="Xr">pcm(4)</a>
+ devices (see <a class="Sx" href="#MULTICHANNEL_PLAYBACK">MULTICHANNEL
+ PLAYBACK</a> for details), and MPU401-compatible MIDI I/O controller, which
+ is accessible through the midi device. Wave table synthesizer support is not
+ available.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HARDWARE"><a class="permalink" href="#HARDWARE">HARDWARE</a></h1>
+<p class="Pp">The <code class="Nm">snd_emu10kx</code> driver supports the
+ following sound cards:</p>
+<p class="Pp"></p>
+<ul class="Bl-bullet Bl-compact">
+ <li>Creative Sound Blaster Live! (EMU10K1 Chipset). Both PCM and MIDI
+ interfaces are available.</li>
+ <li>Creative Sound Blaster Audigy (CA0100 and CA0101 Chipset). PCM and two
+ MIDI interfaces available.</li>
+ <li>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).</li>
+ <li>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.</li>
+</ul>
+<p class="Pp" id="not">The <code class="Nm">snd_emu10kx</code> driver does
+ <a class="permalink" href="#not"><i class="Em">not</i></a> support the
+ following sound cards (although they have names similar to some supported
+ ones):</p>
+<p class="Pp"></p>
+<ul class="Bl-bullet Bl-compact">
+ <li>Creative Sound Blaster Live! 24-Bit, identified by
+ <span class="Ux">FreeBSD</span> as &quot;<code class="Li">emu10k1x
+ Soundblaster Live! 5.1</code>&quot;.</li>
+ <li>Creative Sound Blaster Audigy LS / ES, identified by
+ <span class="Ux">FreeBSD</span> as &quot;<code class="Li">CA0106-DAT
+ Audigy LS</code>&quot;.</li>
+ <li>All other Creative sound cards with -DAT chipsets.</li>
+ <li>All Creative X-Fi series sound cards.</li>
+</ul>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="MULTICHANNEL_PLAYBACK"><a class="permalink" href="#MULTICHANNEL_PLAYBACK">MULTICHANNEL
+ PLAYBACK</a></h1>
+<p class="Pp">By default the <code class="Nm">snd_emu10kx</code> driver is
+ loaded with multichannel playback capabilities enabled. If you do not set
+ the <code class="Dv">hint.emu10kx.0.multichannel_disabled</code> option in
+ your <a class="Xr">loader.conf(5)</a> configuration file you will get up to
+ five DSP devices, one for each sound card output. You can use additional
+ software (like
+ <a class="permalink" href="#audio/pulseaudio"><i class="Em" id="audio/pulseaudio">audio/pulseaudio</i></a>
+ from <a class="permalink" href="#The"><i class="Em" id="The">The Ports
+ Collection</i></a>) to do sound stream demultiplexing. Only
+ &#x201C;FRONT&#x201D; output can play and record sound from external sources
+ (like line or S/PDIF inputs).</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="MULTICHANNEL_RECORDING"><a class="permalink" href="#MULTICHANNEL_RECORDING">MULTICHANNEL
+ RECORDING</a></h1>
+<p class="Pp">By default multichannel recording capabilities are not enabled
+ when you load the <code class="Nm">snd_emu10kx</code> driver. If you enable
+ the <code class="Dv">hint.emu10kx.0.multichannel_recording</code> option in
+ <a class="Xr">loader.conf(5)</a> 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.</p>
+<p class="Pp">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.</p>
+<section class="Ss">
+<h2 class="Ss" id="SB_Live!_substream_map_(in_byte_offsets,_each_substream_is_2_bytes_LE)"><a class="permalink" href="#SB_Live!_substream_map_(in_byte_offsets,_each_substream_is_2_bytes_LE)">SB
+ Live! substream map (in byte offsets, each substream is 2 bytes LE)</a></h2>
+<dl class="Bl-tag">
+ <dt id="Offset"><a class="permalink" href="#Offset"><code class="Dv">Offset</code></a></dt>
+ <dd>Substream</dd>
+ <dt>+0x00..+0x1E</dt>
+ <dd>PCM streams 0..15</dd>
+ <dt>+0x20, +0x22</dt>
+ <dd>Empty</dd>
+ <dt>+0x24..+0x2A</dt>
+ <dd>PCM inputs: front left, front right, rear left, rear right, center,
+ sub</dd>
+ <dt>+0x2C..+0x3C</dt>
+ <dd>DSP inputs 0..8:</dd>
+ <dt>+0x3E</dt>
+ <dd>sync substream (0xc0de)</dd>
+</dl>
+</section>
+<section class="Ss">
+<h2 class="Ss" id="Audigy_substream_map_(in_byte_offsets,_each_substream_is_2_bytes_LE)"><a class="permalink" href="#Audigy_substream_map_(in_byte_offsets,_each_substream_is_2_bytes_LE)">Audigy
+ substream map (in byte offsets, each substream is 2 bytes LE)</a></h2>
+<dl class="Bl-tag">
+ <dt id="Offset~2"><a class="permalink" href="#Offset~2"><code class="Dv">Offset</code></a></dt>
+ <dd>Substream</dd>
+ <dt>+0x00..+0x3E</dt>
+ <dd>PCM streams 0..31</dd>
+ <dt>+0x40..+0x5E</dt>
+ <dd>PCM inputs: front LR, rear LR, center, sub, ...</dd>
+ <dt>+0x60..+0x7E</dt>
+ <dd>DSP inputs 0..16</dd>
+</dl>
+</section>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="OSS_MIXER_CONTROLS"><a class="permalink" href="#OSS_MIXER_CONTROLS">OSS
+ MIXER CONTROLS</a></h1>
+<p class="Pp">These are the controls available through the standard OSS
+ programming interface. You can use <a class="Xr">mixer(8)</a> to change
+ them.</p>
+<p class="Pp">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.</p>
+<dl class="Bl-inset">
+ <dt>&quot;vol&quot;</dt>
+ <dd>mixer control for the overall sound volume.</dd>
+ <dt>&quot;pcm&quot;</dt>
+ <dd>mixer control for the PCM playback volume. It controls only front output
+ volume in multichannel mode and all output volume in single channel
+ mode.</dd>
+ <dt>&quot;rec&quot;</dt>
+ <dd>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 &#x201C;stereo mix&#x201D;
+ <br/>
+ 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
+ &#x201C;<code class="Li">stereo mix</code>&#x201D;.</dd>
+ <dt>&quot;dig1&quot;</dt>
+ <dd>is a CD S/PDIF (on-card) volume control</dd>
+ <dt>&quot;dig2&quot;</dt>
+ <dd>is an AudigyDrive S/PDIF (Audigy series) or TOSLink (SB Live! series)
+ volume control</dd>
+ <dt>&quot;dig3&quot;</dt>
+ <dd>is an on-card S/PDIF volume control</dd>
+ <dt>&quot;line2&quot;</dt>
+ <dd>is AudigyDrive &quot;Line In 2&quot; volume control</dd>
+ <dt>&quot;line3&quot;</dt>
+ <dd>is AudigyDrive &quot;AUX In 2&quot; volume control</dd>
+</dl>
+<p class="Pp">Other OSS mixer controls control the inputs of the AC97 codec.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="PRIVATE_DEVICE_CONTROLS"><a class="permalink" href="#PRIVATE_DEVICE_CONTROLS">PRIVATE
+ DEVICE CONTROLS</a></h1>
+<p class="Pp">You can control some of EMU10Kx's operation and configuration
+ parameters through
+ <var class="Va">dev.emu10kx.</var>&#x27E8;<var class="Ar">X</var>&#x27E9;
+ sysctls. These <a class="Xr">sysctl(8)</a> values are temporary and should
+ not be relied upon.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DRIVER_CONFIGURATION"><a class="permalink" href="#DRIVER_CONFIGURATION">DRIVER
+ CONFIGURATION</a></h1>
+<p class="Pp">Loader tunables are used to set driver configuration. Tunables can
+ be set at the <a class="Xr">loader(8)</a> prompt before booting the kernel
+ or they can be stored in <span class="Pa">/boot/loader.conf</span>. These
+ tunables cannot be changed from a machine <a class="Xr">sysctl(8)</a> entry
+ after boot, but you can change them using <a class="Xr">kenv(1)</a> before
+ loading the <code class="Nm">snd_emu10kx</code> driver.</p>
+<dl class="Bl-tag">
+ <dt id="hint.emu10kx."><var class="Va">hint.emu10kx.</var>&#x27E8;<var class="Ar">X</var>&#x27E9;<var class="Va">.disabled</var></dt>
+ <dd>Disables loading a driver instance.</dd>
+ <dt id="hint.emu10kx.~2"><var class="Va">hint.emu10kx.</var>&#x27E8;<var class="Ar">X</var>&#x27E9;<var class="Va">.multichannel_disabled</var></dt>
+ <dd>Disables multichannel playback support, when one card is represented as
+ several PCM devices.</dd>
+ <dt id="hint.emu10kx.~3"><var class="Va">hint.emu10kx.</var>&#x27E8;<var class="Ar">X</var>&#x27E9;<var class="Va">.multichannel_recording</var></dt>
+ <dd>Enables experimental multichannel recording support.</dd>
+ <dt id="hint.emu10kx.~4"><var class="Va">hint.emu10kx.</var>&#x27E8;<var class="Ar">X</var>&#x27E9;<var class="Va">.debug</var></dt>
+ <dd>Set debug output level.
+ <dl class="Bl-tag">
+ <dt>0</dt>
+ <dd>No additional debug options enabled</dd>
+ <dt>1</dt>
+ <dd>Enables all DSP outputs to be connected, even those that are known to
+ be unused on a particular card.</dd>
+ <dt>2</dt>
+ <dd>Additional debug messages about in-driver events will be printed.</dd>
+ <dt>2</dt>
+ <dd>Additional debug messages will be printed when memory allocation
+ fails.</dd>
+ </dl>
+ </dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
+<dl class="Bl-tag Bl-compact">
+ <dt><span class="Pa">/dev/emu10kx?</span></dt>
+ <dd><code class="Nm">snd_emu10kx</code> management interface</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">sound(4)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">The <code class="Nm">snd_emu10kx</code> device driver first
+ appeared in <span class="Ux">FreeBSD 7.0</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp">The PCM part of the driver is based on the
+ <a class="Xr">snd_emu10k1(4)</a> SB Live! driver by <span class="An">Cameron
+ Grant</span>
+ &lt;<a class="Mt" href="mailto:cg@FreeBSD.org">cg@FreeBSD.org</a>&gt;. The
+ MIDI interface is based on the <a class="Xr">snd_emu10k1(4)</a> MIDI
+ interface code by <span class="An">Mathew Kanner</span>
+ &lt;<a class="Mt" href="mailto:matk@FreeBSD.org">matk@FreeBSD.org</a>&gt;.
+ The <code class="Nm">snd_emu10kx</code> device driver and this manual page
+ were written by <span class="An">Yuriy Tsibizov</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="BUGS"><a class="permalink" href="#BUGS">BUGS</a></h1>
+<p class="Pp">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.</p>
+<p class="Pp">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).</p>
+<p class="Pp">The MIDI driver cannot detect the presence of Live!Drive or
+ AudigyDrive breakout boxes and tries to enable the IR receiver on them
+ anyway.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">May 28, 2008</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>