Drew Hoffman Posted Friday at 09:02 PM Posted Friday at 09:02 PM https://github.com/andrew-hoffman/WDMHDA This audio driver now functions well in VMWare and VirtualBox, and may work on some real hardware with an Intel controller and Realtek audio codec. More testing and work is still needed. Any compatibility reports would be appreciated.
SweetLow Posted yesterday at 01:08 PM Posted yesterday at 01:08 PM Intel Sunrise Point-LP PCH - High Definition Audio Controller + Realtek ALC236 (Intel Core Gen 8 Notebook) (and HDMI Audio codec on the same HDA controller too). After installation of driver: With Normal boot temporary hangs on during the boot and then reboot. With Logged boot just hangs on with these last lines in BOOTLOG.TXT: [000FF0E5] INITCOMPLETE = mmdevldr [000FF0E5] INITCOMPLETESUCCESS = mmdevldr [000FF0E5] Loading PNP drivers of WDM Sample Driver for HD Audio (PCI\VEN_8086&DEV_9D71&SUBSYS_84A6103C&REV_21\BUS_00&DEV_1F&FUNC_03) JFYI, on this system CSM programs all PCI devices to one IRQ11.
Drew Hoffman Posted yesterday at 02:04 PM Author Posted yesterday at 02:04 PM Huh. Are you able to get kernel debug prints on that system by any methods? Try the version in the hdac\buildchk folder in the download. Does it hang on installation or just on the first reboot? If it lets you install and then hangs on restarting you might be able to get some debug output with DbgView, otherwise you really have to have a hardware serial port and the newest laptops I know with that are on Dell Latitude E series which have one on some docking stations. One possible issue is that the driver is not currently designed to be able to load for multiple devices and the PCH on that laptop will have HDMI display audio as well as the HDA bus. There might also be issues with IRQ sharing with the USB controller but if that's the case I'm not sure how to fix the problems. I know you are experienced with Windows Driver development so maybe you would have some suggestions.
SweetLow Posted yesterday at 02:31 PM Posted yesterday at 02:31 PM 20 minutes ago, Drew Hoffman said: how to fix the problems Check that you handle only YOUR interrupts and pass all other to system. You have to check some bit(s) responsible for indicating IRQ in controller register(s). 25 minutes ago, Drew Hoffman said: you might be able to get some debug output with DbgView Ok, I will try to do standard sequence Disable Controller - Reboot - Run DbgView - Enable Controller, But as it hangs probability to success not high.
MERCURY127 Posted yesterday at 02:58 PM Posted yesterday at 02:58 PM (edited) Huanazhi X99-TF (C612 chipset) Intel Wellsburg PCH - High Definition Audio Controller [B1] PCI\VEN_8086&DEV_8D20&SUBSYS_72708086&REV_05 RealTek ALC887 HDAUDIO\FUNC_01&VEN_10EC&DEV_0887&SUBSYS_10EC0887&REV_1003 hda.sys driver is loaded, no crashes, 9x system see audio device, try play, but no any sounds. on win10 with standart hdaudio.sys sounds ok. Edited yesterday at 03:00 PM by MERCURY127
Drew Hoffman Posted yesterday at 03:46 PM Author Posted yesterday at 03:46 PM (edited) 1 hour ago, SweetLow said: Check that you handle only YOUR interrupts and pass all other to system. You have to check some bit(s) responsible for indicating IRQ in controller register(s). In the ISR I am first reading the INTSTS register and returning False if it is 0 (or 0xFFFFFFFF which happens on controller shutdown sometimes ). As far as I can tell this is correct, but on the Wyse Rx0 thin client with AMD SB600 having my driver loaded slows the system down immensely and causes the USB ports to stop working suggesting that there might be an IRQ storm issue. If the driver will initialize and load and media players attempt to play sound but nothing is heard, please try all audio jacks. The codec node parser is also fairly rudimentary at the moment and I'm not going to guarantee it works with every codec or even most of them. I've had very little success getting Windows 98 installed and working on systems as new as that anyway though clearly some of the people here are able to manage it. Edited yesterday at 04:21 PM by Drew Hoffman
SweetLow Posted 18 hours ago Posted 18 hours ago 6 hours ago, Drew Hoffman said: In the ISR I am first reading the INTSTS register and returning False if it is 0 (or 0xFFFFFFFF which happens on controller shutdown sometimes ). No, you don't. NTSTATUS InterruptServiceRoutine ... if(!that->AcknowledgeIRQ() ){ return FALSE; } 1
Drew Hoffman Posted 15 hours ago Author Posted 15 hours ago (edited) Dangit. Good catch. I'll rework all of that and get another release up tonight. Edit: Fixed stupid interrupt eating bug and other problems with the Interrupt Service Routine. https://github.com/andrew-hoffman/WDMHDA/releases/tag/Alpha-011 Edited 12 hours ago by Drew Hoffman fixed the bug
SweetLow Posted 6 hours ago Posted 6 hours ago Now no hang on. Device is OK in Device Manager. But on the first step device does not work as expected - no sound. It shows in Multimedia but does not allow to select itself as audio output device. Ok, this is very base system installation. So I tried to setup DirectX8.1 and lo and behold - sound arrived. I did not do full tests (l will do lately) but it's working. Drew Hoffman, do you need tests on other systems (on Nvidia HDA controller and on Intel HDA controller, but I don't remember what codecs there are)?
Drew Hoffman Posted 44 minutes ago Author Posted 44 minutes ago Nvidia and ULI chipsets would be the highest priority to test as I don't have any of those myself and they need some PCI Configuration Space fixes that I blindly copied from VSBHDA. Tests on as many combinations of controller and codec as possible would be appreciated. I already know there's no sound on on IDT / Sigmatel codecs yet and will continue to debug that. The driver should function without DirectX 8, at least it does in Virtualbox, with maybe the only issue being choppier MIDI playback. I'm ignoring the requested interrupt interval from ks.sys (which is always 100ms) because Virtualbox seems to require a power of 2 audio buffer size not just a multiple of 128 bytes. Haven't tested on 98FE or 95 with the USB support added yet. DirectX 8.1 updates these audio related files: Ks.sys, Stream.sys, msksrv.sys There's also a Microsoft WDM Audio Update hotfix KB242937 which updates kmixer.sys, portcls.sys, usbaudio.sys, wdmaud.sys
MERCURY127 Posted 38 minutes ago Posted 38 minutes ago (edited) On 12/13/2025 at 6:46 PM, Drew Hoffman said: please try all audio jacks 1) downloaded latest version. 2) checked all five jacks on rear side. no sounds... for compare, i try mpxplay for DOS with default jack to play logon.wav — there was loud noises, slightly remember logon.wav... i think it will good option use some registry key for manual iteration of pins and volume control. i also have nvidia videocard with hda, connected to monitor with speakers. so i check playing this way soon... Edited 36 minutes ago by MERCURY127
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now