CMI8788 driver status
New beta driver 1.0.16rc1 available: Download
You need the alsa-driver-1.0.16rc1 package for the kernel driver, alsa-lib-1.0.16rc1 for dmix and AC-3 passthrough support, and alsa-utils-1.0.16rc1 for an alsamixer that supports the 8-channel master volume control.
- mixer control for SPDIF loopback
- fixed pausing
- support all sample rates with cards that have a WM8785 ADC
- support 192 kHz SPDIF input
- front panel playback (but no mixer controls for that yet; untested)
- Fixed jack routing: Front and Surround were exchanged. (Hey, why did nobody notice this? :-)
- Internal changes.
- Yet more internal configuration hooks; no user-visible changes.
- Add more configuration hooks for card model drivers. (There should be no user-visible changes.)
- Bugfix: When sound is played to the analog front output, use the correct sample rate when copying it to the SPDIF output.
- Added a (read-only) control for the channel status bits of the SPDIF input.
- Added ALT switch for Xonar cards.
- Changed jack routing (exchanged "surround" and "back" jacks, except when in 7.1 mode).
- Made line-in exclusive.
- Renamed the "PCM" volume control to "Master".
- Controls for SPDIF output.
- Mixer controls for all analog inputs (but Line Input bypasses the analog mixer).
- SPDIF should now work.
- Playback on all other cards with AK4396 DACs should now work, too.
- The driver now initializes the AC'97 codec whose analog mixer is used to route the analog inputs to the ADC. Analog recording should work from all inputs.
- No input controls yet, all inputs (and their noise) are mixed together.
Rewritten from scratch. The driver name is now snd-oxygen (all cards except Xonar) or snd-virtuoso (Xonar).
The second most important feature, the MIDI port, now works.
(The most important feature, the colorful jack illumination on my Xonar card, is not controlled by software and has always worked.)
my TODO list
- CMI8788 driver
ca. 99.8% (see above)
- use hrtimers in the MIDI sequencer
- usb-audio: allow shorter-than-1ms periods for high-speed devices (just remove the code that rounds periods to USB frames)
- usb-audio: handle MIDI write errors better
- move non-public headers out of linux/include/sound/
- PCI: annotate in-memory data structures read by bus master chips with __le/be
- implement (some?) OSS 4 API ioctls
- test (i.e., use) alsa-python
- use dev_printk?
- various subsystem send different and too many MIDI reset commands when a port is closed
- usb-audio: restructure
- OSS emulation by redirecting to user space (like FUSE, but we need ioctls and mmap)
- MIDI synth: support more sysex commands
- MIDI synth: MIDI tuning
- ymfpci: MIDI synth