Homebrew CMI 8738 drivers |
Homebrew CMI 8738 drivers |
Oct 16 2006, 16:50
Post
#1
|
|
|
Group: Members Posts: 15 Joined: 17-November 05 Member No.: 25818 |
Hi everyone!
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: So long, dogbert This post has been edited by d0gbert: Mar 14 2008, 20:30 |
|
|
|
![]() |
Oct 17 2006, 03:38
Post
#2
|
|
![]() Group: Members Posts: 163 Joined: 13-January 02 From: Eugene, OR Member No.: 1009 |
My system is a Soltek QBic 3801 with a built-in CMI 8768.
Bit perfect worked great, able to automatically switch to the correct freq unlike the DIO drivers I tried. My stereo showed 44.1, 48, 96khz all worked great. 88.2 I think also worked but my stereo didn't know what to display when it was playing it, the display got a bit confused. 24-bit also didn't seem to work for me. It would continue to come out 16 bit with directsound selected. With kernel-streaming used in FB2K 24-bit wouldn't do anything at all, nothing would come out. The major problem for me is that it seems to have disabled all the headphone outputs. This post has been edited by Leto Atreides II: Oct 17 2006, 03:46 |
|
|
|
Oct 17 2006, 07:48
Post
#3
|
|
|
Group: Members Posts: 15 Joined: 17-November 05 Member No.: 25818 |
The major problem for me is that it seems to have disabled all the headphone outputs. Try this version: http://mitglied.tripod.de/atproc2/CMI-091-release.zip |
|
|
|
Oct 17 2006, 09:46
Post
#4
|
|
![]() Group: Members Posts: 163 Joined: 13-January 02 From: Eugene, OR Member No.: 1009 |
The major problem for me is that it seems to have disabled all the headphone outputs. Try this version: http://mitglied.tripod.de/atproc2/CMI-091-release.zip Works great! Thanks! It seems that the volume is now much louder than with the regular drivers, but it's not such a big deal. Just gotta remember to keep the volume slider down. Or it could be I'm just imagining it. Sorry I can't seem to get the debugging information to get captured properly to give you any further information about my setup. |
|
|
|
Oct 21 2006, 02:02
Post
#5
|
|
|
Group: Members Posts: 15 Joined: 17-November 05 Member No.: 25818 |
new release 0.92:
- built with the latest WDK (version 5728) - first AMD64/EM64T release - this driver should work on your Windows XP x64 installation and on Vista x64. To install the driver on x64 version of Vista, you must disable the driver signature enforcement during boot-up with the F8 key - stupid fix for a nasty bug which rendered large parts of the mixer useless I'm keen to know whether the driver actually works on Vista. So if you have a card lying around and some time, please test and report This post has been edited by d0gbert: Oct 21 2006, 12:55 |
|
|
|
Nov 8 2006, 08:13
Post
#6
|
|
|
Group: Members Posts: 4 Joined: 8-November 06 Member No.: 37307 |
I'm keen to know whether the driver actually works on Vista. So if you have a card lying around and some time, please test and report Hi there! Thanks for spending time on a driver for the CMI chip, the native driver really sucks. Anyway, I have tried the driver both in XP and Vista, and it works well. I had some problems during installation in Vista (BSOD), but I think it relates to uninstalling the old driver (if I just uninstall the old driver I get the same BSOD). Using safe mode I had no problems installing the driver. The driver works fine but I cannot turn off the digital output. I don't need to, but when the option to do so is present, it should work. I can't choose multichannel output. I don't need it either, but I can see in the release note that it should be possible, so at least I should be able to. Is the selection of sample rate on the output automatic and dependent on the input signal? Contrary to the native driver, your driver doesn't have any option to change the sample rate. Anyway, thanks for a nice driver. Now I am able to get digital out in Vista. Thanks a bunch! BR, René HW config: Soltek 75FRN2-L Athlon XP2500+ Terratec 5.1 Fun Radeon 9600 |
|
|
|
Nov 8 2006, 14:13
Post
#7
|
|
|
Group: Members Posts: 15 Joined: 17-November 05 Member No.: 25818 |
QUOTE I had some problems during installation in Vista (BSOD), but I think it relates to uninstalling the old driver (if I just uninstall the old driver I get the same BSOD). Yep, that's a bug in the old official cmedia driver - I had the same problem with version 0639 I think. QUOTE The driver works fine but I cannot turn off the digital output. I don't need to, but when the option to do so is present, it should work. The analog part of the card is a nice extra, and the main aim of the driver is to provide a bitperfect spdif interface, but... QUOTE I can't choose multichannel output. I don't need it either, but I can see in the release note that it should be possible, so at least I should be able to. ... u can turn off the digital interface by selecting a multi channel configuration in your "sounds and audio devices" control panel applet (number of channels >=4). The problem you will run into is that the driver "forgets" the channel configuration after each restart. QUOTE Is the selection of sample rate on the output automatic and dependent on the input signal? Uhm, yes, the sample rate is selected by the kmixer, the way it's supposed to be in every WDM implementation. That means that if you start playing a 48kHz 16bit wave PCM stream and nothing else is pushing stuff through the kmixer, the driver sets the card to 48kHz 16bit. If you start playing another wave stream, let's say 96 kHz 16bit, the kmixer queries the driver whether the stream can be played simultaneously, which isn't possible due to obvious constraints (no support for hardware mixing), so the kmixer downsamples the stream to the format of the current stream, mixes them together and sends the resulting stream to the driver / card. This is obviously a pretty bad design flaw, and Windows Vista has the ability to somewhere define a default sample rate and resolution. I might add a control application some time in the future though which would implement similiar functionality and some more stuff. QUOTE Just another thing - the mute function doesn't work, at least not for the main volume control. Yeah, and the DAC volume doesn't work on 8768 devices etc etc. There are plenty of hardware revisions out there, and the specifications from C-Media have absolutely no information about the changes and capabilities of each of those revisions. |
|
|
|
d0gbert Homebrew CMI 8738 drivers Oct 16 2006, 16:50
Leto Atreides II Awesome!
I'll try these drivers out tod... Oct 17 2006, 02:25
Leto Atreides II The only thing debugview shows is:
[2692] Exiting ... Oct 17 2006, 02:59
Leto Atreides II QUOTE (d0gbert @ Nov 8 2006, 05:13) Yeah,... Nov 8 2006, 19:41
Leto Atreides II QUOTE (Leto Atreides II @ Nov 8 2006, 10... Nov 8 2006, 20:56
Leto Atreides II Thanks. Oct 21 2006, 03:00
Leto Atreides II When do you think you'll start releasing the s... Oct 21 2006, 05:45
d0gbert QUOTE (Leto Atreides II @ Oct 20 2006, 22... Oct 21 2006, 12:54
zima I wonder...how hard would be to modify drivers for... Oct 31 2006, 11:25
d0gbert QUOTE (zima @ Oct 31 2006, 04:25) I wonde... Oct 31 2006, 13:49
howardbut it sounds awesome! but could I have the follow... Nov 2 2006, 20:12
d0gbert QUOTE (howardbut @ Nov 2 2006, 13:12) it ... Nov 2 2006, 21:02
howardbut thank you d0gbert.
referring to your reply, could ... Nov 3 2006, 01:16
Mike Giacomelli Mind if I ask how you got into Windows driver deve... Nov 2 2006, 21:26
d0gbert QUOTE (Mike Giacomelli @ Nov 2 2006, 14:2... Nov 3 2006, 09:53
René Eske Jensen Hi again,
Just another thing - the mute function ... Nov 8 2006, 12:59
lavak This is fantastic. I have a soyo sy-k7v dragon pl... Nov 14 2006, 07:38
d0gbert OK, all-in-one answer:
QUOTE I have noticed that ... Nov 15 2006, 18:35
lavak QUOTE (d0gbert @ Nov 15 2006, 11:35) QUOT... Nov 15 2006, 21:22
Leto Atreides II AFAIK the DAC level slider isn't adjusting any... Nov 14 2006, 17:55
qs_test Hello,
I am using an onboard C-Media-Chip CIM8738... Nov 15 2006, 07:09
René Eske Jensen Just tried the 0.94 driver out in both XP and Vist... Nov 23 2006, 21:45
d0gbert I've just uploaded a new version (0.9.5) which... Nov 23 2006, 23:45
René Eske Jensen QUOTE (d0gbert @ Nov 23 2006, 23:45) René... Nov 25 2006, 14:03
cervicek Hi, please somebody could help me with SPDIF probl... Nov 30 2006, 10:12
d0gbert cervicek, the SPDIF interface needs to be set as t... Nov 30 2006, 11:59
cervicek Thanks. I'll try it.. and ac3filter must be se... Nov 30 2006, 12:33
d0gbert QUOTE (cervicek @ Nov 30 2006, 05:33) Tha... Nov 30 2006, 18:54
ElKabong If I get a cheap audio card with an 8738, will I b... Nov 30 2006, 21:37
d0gbert QUOTE (ElKabong @ Nov 30 2006, 14:37) If ... Nov 30 2006, 21:46
Leto Atreides II I just noticed that mixer.exe still runs in the ba... Dec 3 2006, 10:13
d0gbert QUOTE (Leto Atreides II @ Dec 3 2006, 03... Dec 3 2006, 12:02
cervicek I'm here again with the same problem... I thi... Dec 6 2006, 17:12
d0gbert It works perfectly fine here with the 32bit versio... Dec 7 2006, 19:33
qristus QUOTE (d0gbert @ Dec 7 2006, 19:33) The d... Dec 22 2006, 14:24
Dogbert qristus, thanks for the info. The authenticode thi... Dec 22 2006, 15:53
cervicek You're right. I reinstalled Vista to 32bit and... Dec 11 2006, 14:47
Dogbert New release: 0.96.
This release brings mainly imp... Dec 17 2006, 00:04
kron First of all, big thanks, really great driver, you... Dec 18 2006, 21:42
Dogbert QUOTE (kron @ Dec 18 2006, 21:42) So is t... Dec 18 2006, 21:54

kron QUOTE (Dogbert @ Dec 18 2006, 14:54) Ther... Dec 21 2006, 10:04

Dogbert QUOTE Method one would mean not to take your drive... Dec 21 2006, 12:19
cervicek QUOTE (kron @ Dec 18 2006, 21:42) I'm... Dec 19 2006, 12:41
kron I use it in Vista x86, and ac3 works perfectly wit... Dec 19 2006, 16:37
Dogbert QUOTE (kron @ Dec 19 2006, 16:37) What do... Dec 19 2006, 17:53
wdekler First, a really big thank you for programming this... Dec 21 2006, 15:51
Dogbert QUOTE (wdekler @ Dec 21 2006, 15:51) Has ... Dec 21 2006, 17:25
DualIP [/quote]
I haven't been able to get 24 bit out... Dec 31 2006, 15:56
Dogbert QUOTE (DualIP @ Dec 31 2006, 15:56) AFAIK... Jan 1 2007, 08:55
wdekler It seems to work fine with the Terratec 5.1 FUN (8... Dec 23 2006, 16:43
Dogbert QUOTE (wdekler @ Dec 23 2006, 16:43) I... Dec 25 2006, 22:50
wdekler Maybe we can also test it without a DAC? If we use... Dec 25 2006, 23:15
Dogbert QUOTE (wdekler @ Dec 25 2006, 23:15) Mayb... Dec 25 2006, 23:55
kron Hi again,
I tried the Winamp Kernel-streaming plu... Dec 29 2006, 19:29
Dogbert QUOTE (kron @ Dec 29 2006, 19:29) Hi agai... Dec 29 2006, 20:29
wdekler I've seem to run into some trouble with the dr... Jan 1 2007, 15:56
Dogbert QUOTE (wdekler @ Jan 1 2007, 15:56) I... Jan 1 2007, 18:23
wdekler Thanks for the advice! It's finally workin... Jan 2 2007, 01:29
Sin Jeong-hun Minimum level
Maximum level
Certified driver... Jan 2 2007, 07:48
wdekler I noticed that the driver sometimes generates outp... Jan 2 2007, 14:03
Dogbert QUOTE (wdekler @ Jan 2 2007, 14:03) The W... Jan 2 2007, 16:02
DualIP Dogbert,
I hooked up my oscilloscope to a CMI8738... Jan 3 2007, 20:12
CiNcH I am wondering why I have to switch to 2 channel o... Jan 4 2007, 02:01
Dogbert DualIP, thanks a lot for your effort! The firs... Jan 4 2007, 03:55
DualIP QUOTE (Dogbert @ Jan 4 2007, 03:55) offic... Jan 4 2007, 05:40
Dogbert QUOTE Two datasheets I have (CMI8738_4ch_spec.pdf ... Jan 4 2007, 15:54
CiNcH Thanx for the explanation.
I have now tried your ... Jan 4 2007, 19:15
CiNcH Ok, found a problem within 6-channel-mode (3/2+SW ... Jan 5 2007, 17:37
Egor QUOTE (CiNcH @ Jan 5 2007, 22:37) Ok, fou... Jan 5 2007, 21:20
Dogbert QUOTE (CiNcH @ Jan 5 2007, 17:37) Seems a... Jan 6 2007, 18:22
DualIP 1) In my previous post in this topic, I reported t... Jan 6 2007, 13:59
CiNcH Don't think it is worth the time implementing ... Jan 6 2007, 23:44
DualIP I just tried the 0.9.9 driver and like the control... Jan 10 2007, 11:19
Dogbert QUOTE (DualIP @ Jan 10 2007, 11:19) I jus... Jan 11 2007, 16:47
DualIP found some issues in 1.0.0 :
-in playback mixer, ... Jan 17 2007, 10:13
Dogbert first of all, thanks for doing the cumbersome test... Jan 18 2007, 14:17
DualIP [quote name='Dogbert' date='Jan 18 200... Jan 18 2007, 17:54
Dogbert QUOTE I discovered this when I hooked up CDROM aud... Jan 18 2007, 19:18
Dogbert A new version (1.0.2) has been released. Jan 31 2007, 21:36
Dac QUOTE (Dogbert @ Jan 31 2007, 21:36) A ne... Feb 3 2007, 15:16
Dogbert QUOTE (Dac @ Feb 3 2007, 15:16) I'm t... Feb 3 2007, 15:39
Dac QUOTE (Dogbert @ Feb 3 2007, 15:39) It lo... Feb 3 2007, 19:49
Any2 QUOTE (Dac @ Feb 3 2007, 12:49) It looks ... Feb 3 2007, 20:06
Any2 Hello
every time I have been installing CMI8738 6... Feb 3 2007, 18:37
Dogbert QUOTE (Any2 @ Feb 3 2007, 18:37) every ti... Feb 3 2007, 21:15
Any2 QUOTE (Dogbert @ Feb 3 2007, 14:15) Thank... Feb 3 2007, 21:51
Dogbert QUOTE (Any2 @ Feb 3 2007, 21:51) Yes,
how... Feb 3 2007, 21:54
Any2 QUOTE (Dogbert @ Feb 3 2007, 14:54) Windo... Feb 3 2007, 22:28
mugen Can you make drivers for the ALC882M so I can get ... Feb 4 2007, 09:12
Dogbert QUOTE (mugen @ Feb 4 2007, 09:12) Can you... Feb 4 2007, 11:09
wdekler QUOTE (mugen @ Feb 4 2007, 09:12) Can you... Feb 4 2007, 11:30
Dogbert QUOTE (wdekler @ Feb 4 2007, 11:30) By th... Feb 4 2007, 11:55
Any2 QUOTE (Dogbert @ Feb 4 2007, 04:55) Dunno... Feb 4 2007, 14:00
mugen QUOTE (wdekler @ Feb 4 2007, 04:30) QUOTE... Feb 4 2007, 12:03![]() ![]() |
|
Lo-Fi Version | Time is now: 25th May 2013 - 17:03 |