Homebrew CMI 8738 drivers
Homebrew CMI 8738 drivers
Oct 16 2006, 16:50
Joined: 17-November 05
Member No.: 25818
I'm currently working on WDM drivers for soundcards based on the C-Media 8738/8768 chip. I plan to release the entire source code under a BSD-like license sometime in the future. I'm mainly interested in the S/PDIF connectivity because the DAC of the card sucks.
For testing, you need:
- a CMI 8738-MX/8768 based soundcard with S/PDIF (which are available for around 10-15 USD)
- Windows 2000/XP
Some of the features are:
- bitperfect S/PDIF output for 16bit 44.1/48/88.2/96kHz stereo signals through kernel streaming / dsound / waveout
- bitperfect AC3/DTS passthrough
- multi-channel output (that disables the S/PDIF output port unfortunately)
- recording support
- basic mixer support
- UART support (but disabled for now)
Apparently, the C-Media chip supports only 16 bit contrary to the claims in their specs. I haven't been able to get 24bit output even with the official drivers. But 96kHz output seems to work fine on the newer 8738 chips.
You can help me by posting your chip version and configuration, and testing whether 16bit/96kHz and 24bit/48kHz output through kernel streaming works (foobar2000, winamp have the necessary plugins). I'm specifically looking for people who have means to tell a 16bit S/PDIF stream from a 24bit stream.
When the driver loads, it prints the version of your chip to the kernel debugger. You need a running instance of DebugView (http://www.sysinternals.com/Utilities/DebugView.html) to catch the strings. In other words: open DebugView before updating the drivers.
Note that the drivers aren't signed, so you have to install them manually (Update Driver => Install from a list or specific location => Don't search. I will choose the driver to install => Continue anyway).
A 64-bit build has been successfully tested, and I'll probably release a build sometime soon.
Here are the download links for the latest version:
This post has been edited by d0gbert: Mar 14 2008, 20:30
Nov 14 2006, 07:38
Joined: 14-November 06
Member No.: 37562
This is fantastic. I have a soyo sy-k7v dragon plus MB with onboard CMI8738 and optical/coax in/out.
I have noticed that my drivers (c-media 126.96.36.1999) don't support simultaneous digital in and out.
And.. does the clock of the input need to be synced with the clock of the output in this mode? Or does the chip have an asynchronous PLL for receive clocking?
I will try your version soon,
OK, they installed fine, and work! A few issues, though: at first no digital out, only digital in worked. then I was playing an MP3 and changed the 's/pdif 5V signal level' switch (what does that do anyway?) and winamp crashed, and the digital output was brought to life (toslink glowing red). However, since then there is no way to revive the digital input without a reboot. no amount of switching and fiddling worked. Also, there is no way to turn the digital output off.
Also, what is the DAC level slider adjusting, exactly? it doesn't change the wav output volume, but that must go through the DAC, right?
Chip version markings:
HRTF 3D Audio
This post has been edited by lavak: Nov 14 2006, 08:24
|Lo-Fi Version||Time is now: 23rd November 2014 - 14:16|