From AlsaProject
Revision as of 11:11, 17 December 2007 by ClemensLadisch (Talk | contribs)

Jump to: navigation, search


CMI8788 driver status

Changes in the Hg repository:

  • 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.


New beta driver available:

To enable dmix and AC-3 passthrough, replace the files CMI8788.conf and aliases.conf in /usr/share/alsa/cards/.


  • 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.)

seems to be working on all models:

  • analog playback:
    • 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
  • analog recording

not yet implemented:

  • front panel output
  • ALT on Xonar cards

known problems:

  • some garbage at the beginning of recorded data → ADC needs more time to settle after clock switch

my TODO list

  1. CMI8788 driver
    ca. 98%
  2. use hrtimers in the MIDI sequencer
    ca. 25%
  3. usb-audio: allow shorter-than-1ms periods for high-speed devices (just remove the code that rounds periods to USB frames)
  4. usb-audio: handle MIDI write errors better
  5. move non-public headers out of linux/include/sound/
  6. PCI: annotate in-memory data structures read by bus master chips with __le/be
  7. implement (some?) OSS 4 API ioctls
  8. test (i.e., use) alsa-python
  9. use dev_printk?
  10. various subsystem send different and too many MIDI reset commands when a port is closed
  11. usb-audio: restructure
  12. OSS emulation by redirecting to user space (like FUSE, but we need ioctls and mmap)
  13. MIDI synth: support more sysex commands
  14. MIDI synth: MIDI tuning
  15. ymfpci: MIDI synth
Custom Search
Personal tools