snd_emu10kx patch (WAS: RE: SB Live 5.1 Digital - sysctl ?)

Karol Kwiatkowski karol.kwiat at
Wed Jul 4 11:21:28 UTC 2007

Yuriy Tsibizov wrote:
> Dear SB Live! / Audigy users.

Hi Yuriy,

> I'm going to ask ariff to (ask re@ and) commit this patch before 7.0
> release:

Applied to today's CURRENT, comments inline.

Setup: <Creative Audigy [SB0090]>, 5.1 analog speakers, multichannel
playback disabled, snd_emu10kx loaded as module (details at the end[1]).

> Update snd_emu10kx driver with recent perforce changes (and some other
> changes too).
> (without any real order)
> 1. Use device_get_nameunit for mutex naming
> 2. Add timer for low-latency playback
> 3. Move most mixer controls from sysctls to mixer(8) controls. This
> is a largest part of this patch.
> 4. Add analog/digital switch (as a temporary sysctl)

It works and this is great news for me :) What are you going to do with
it? Remove? Rename? Move it to mixer or else?

> 5. Get back support for low-bitrate playback (with help of (2))

Hey, this works, too, no more strange sounds :)

> 6. Change locking for exclusive I/O. Writing to non-PTR register
> is almost safe and does not need to be ordered with PTR operations.
> 7. Disable MIDI until we get it to detach properly and fix memory
> managment problems.
> 8. Enable multichannel playback by default. It is as stable as
> single-channel mode. Multichannel recording is still an experimental
> feature.
> 9. Add a way to disable card from a loader tunable.
> Tested on:


> I need your feedback on:
> I) High-priority checks (that I can't do on my own equipment)
> -- digitally connected speakers, without
> -- S/PDIF output to external receiver / amplifier

I don't have such equipment.

> 2) Overall driver stability. I did some crash-tests, it shouldn't crash
> your machine in few seconds after load :-)

Works for about an hour now with different files / multiple sources. If
anything crashes I'll let you know :)

> 3) Features you may need or features that are not user-friendly.

I'm perfectly fine with this version. I just hope analog/digital switch
won't disappear.

> 4) any unclear documentation

No problems with it.

> Hope for your help,
> Yuriy

Thanks for your work! Regards,


# grep EMU kernels/PERSEPHONE

# cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386)
Installed devices:
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0 [GIANT] (4p:1v/1r:1v
channels duplex default)
pcm1: <nVidia nForce2 400> at io 0xe800, 0xec00 irq 21 bufsz 16384 kld
snd_ich [MPSAFE] (1p:1v/1r:1v channels duplex)

# sysctl -a | grep emu10
emu10kx0: <Creative Audigy [SB0090]> port 0xd480-0xd49f irq 16 at device
8.0 on pci2
emu10kx0: [ITHREAD]
pcm0: <EMU10Kx DSP front PCM interface> on emu10kx0
dev.emu10kx.0.%desc: Creative Audigy [SB0090]
dev.emu10kx.0.%driver: emu10kx
dev.emu10kx.0.%location: slot=8 function=0
dev.emu10kx.0.%pnpinfo: vendor=0x1102 device=0x0004 subvendor=0x1102
subdevice=0x0051 class=0x040100
dev.emu10kx.0.%parent: pci2
dev.emu10kx.0._digital: 0
dev.pcm.0.%parent: emu10kx0

# sysctl -a | grep snd
hw.snd.latency_profile: 1
hw.snd.latency: 5
hw.snd.report_soft_formats: 1
hw.snd.compat_linux_mmap: 0
hw.snd.feeder_buffersize: 16384
hw.snd.feeder_rate_round: 25
hw.snd.feeder_rate_max: 2016000
hw.snd.feeder_rate_min: 1
hw.snd.verbose: 1
hw.snd.maxautovchans: 16
hw.snd.default_unit: 0
hw.snd.version: 2007061600/i386
hw.snd.default_auto: 0

Karol Kwiatkowski   <karol.kwiat at gmail dot com>
OpenPGP 0x06E09309

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 542 bytes
Desc: OpenPGP digital signature
Url :

More information about the freebsd-multimedia mailing list