CMI8788 driver status
AK4396 initialization doesn't work correctly; you have to make a change to the source, see note 0017337 on this bugtracker page.
Rewritten from scratch. The driver name is now snd-oxygen or snd-virtuoso.
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.)
I tested analog playback on my Xonar card. Other cards use different DACs and still need testing.
to be tested:
- analog playback on cards with AK4396 DACs (i.e., any card except Xonar):
- at 32, 44.1, 48, 64, 88.2, 96, 176.4, 192 kHz
- 16 or 24 bits
- 2, 4, 6, 8 channels
- volume controls for all eight channels
- upmixing of stereo to rear and side channels
- digital playback of PCM data (AC-3 not yet implemented)
- analog recording (source selection missing, probably nothing but silence gets recorded)
- digital recording
not yet implemented:
- front panel output
- mixer controls for analog recording
- controls for controlling SPDIF ports
- playback on any card except Xonar is reported to produce no sound
- some garbage at the beginning of recorded data → ADC needs more time to settle after clock switch
my TODO list
- CMI8788 driver
- 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