Jump to content

Native (WDM) HD Audio driver for Windows 98se/Me


Recommended Posts

Posted

VIA VT1708B 8-ch @ nVIDIA MCP78

Driver installed and loaded, but I got only errors on any device access (like general error).

WDM audio stack is working (I tested USB audio device).

  • 2 weeks later...

Posted

I tested your audio driver on WindowsMe installed on real hardware with Realtek ALC662 HDA on-board. The driver is installed without any problems as "WDM Sample Driver for HD Audio", the system boots and works fine but there is no sound in the speakers (tried all the audio jacks).

Anyway, thank you very much for your contribution to the win9x community :)

Posted

It seems it is only working for the Realtek ALC2xx at this time, for other Realtek codecs it is not finding the correct output pathway. Will troubleshoot more when I have a chance.

If anyone here is getting a resource conflict at 0000-3FFF like mskrzynski, please try the latest version of Patcher9x released a few days ago to correct the above 4gb resources bug. https://github.com/JHRobotics/patcher9x/releases/tag/v0.9.91

 

  • 2 weeks later...
Posted

Here is version Alpha-013 which rearranges a lot of the codec init code and tries to init all the Line Outs no matter what. 

https://github.com/andrew-hoffman/WDMHDA/releases/tag/Alpha-013

My SFF with an ALC887 codec now produces some sound but it is garbled; small segments will keep looping until I do something that causes hard drive activity and then it will play a bit more into the buffer. It's possible that the interrupt is not firing or is being suppressed. The problematic system has most devices sharing IRQ 11. 

Posted
On 1/7/2026 at 8:10 AM, Drew Hoffman said:

ALC887 codec now produces some sound but it is garbled; small segments will keep looping

The same is here. And sound is on Line In instead of Line Out.

On 1/7/2026 at 8:10 AM, Drew Hoffman said:

It's possible that the interrupt is not firing or is being suppressed. The problematic system has most devices sharing IRQ 11. 

Highly unlikely. As I said my first system with Realtek ALC236 has exactly the same config, but sounds good.

Posted

yes, new build now prodice sounds on line out... garbled exactly as

On 1/7/2026 at 8:10 AM, Drew Hoffman said:

small segments will keep looping until I do something that causes hard drive activity and then it will play a bit more into the buffer.

i make some tests with SoundCheck (req KernelEx), and sometimes get slightly stuttered, almost pure sound, but this result was very unstable.

Posted (edited)

I'm trying to enable as many output paths as possible so that's why you might get sound on Line-In if there is a path in the codec from a DAC to that pin to support re-tasking as an output. 

For the next version I am printing the color of the connector associated with the pin in the debug output and ignoring pins disabled in the codec Pin Config registers (need to add a Registry key to control this)

Also I added a (quick, hacky) way to reprint the pin config on the Debug version so it can be seen in DbgView; Open 2 copies of the Volume Control window, enable Advanced options on one and open the bass/treble controls, then move the Volume Control slider followed by the Treble slider.

The garbled sound may be caused by using the Link Position in Buffer register so I should also add a config option to use the DMA Position Buffer instead. Another possibility is that newer chipsets are trying to send Message Signaled Interrupts for the HDA controller which aren't converted properly to legacy level signaled ones but if this is the issue I am not sure how I would fix this.

Still need to add separate volume controls for each type of output. For Windows 98 it is not possible to change the topology dynamically so I need to create all the Kernel Streaming topology pins in the inf and then disable ones that are not used.

Edited by Drew Hoffman
Posted (edited)

Right now I'm trying to focus on basic Functionality and Compatibility. Eventually I do intend to connect up the input streams as well and improve everything as much as possible under the limitations imposed by Windows 9x and the HD Audio spec. There will be no EAX support or 24-bit Dolby Atmos, and I can't use the lower latency WavePCI miniport because user mode programs can't respect the required 128 byte alignment. 

 

The latest committed version on Github that ignores outputs marked as No Connection by the pin config verbs now works quite well on an Intel 915g chipset with ALC880 codec. Still have a less severe version of the garbled audio problem on a Wyse Rx0 thin client with AMD SB600 chipset and Realtek ALC272. The issue with garbled sound seems to depend more on the controller than the codec.

 

Also I am having a very hard time getting Win98 to work without using QuickInstall on 2010 and newer motherboards for testing. Even with the memory size patches I get issues with Configmg or repeated freezes during hardware detection. Is there a guide I should be looking at besides Omores's videos? 

Edited by Drew Hoffman
Posted (edited)
2 hours ago, Drew Hoffman said:

Is there a guide I should be looking

 

2 hours ago, Drew Hoffman said:

I get issues with Configmg

https://msfn.org/board/topic/186768-bug-fix-vmmvxd-on-handling-4gib-addresses-and-description-of-problems-with-resource-manager-on-newer-bioses/

Carefully read this manual (you really referenced it right in this topic). 4G wall (which is solved by patch) is smaller problem from two. SMM hole is bigger.

5 hours ago, Drew Hoffman said:

newer chipsets are trying to send Message Signaled Interrupts for the HDA controller which aren't converted properly to legacy level signaled ones

WHAT? PCI Level Interrupt emulation over PCI-E Link is the basis in PCI-E specification. When MSI are disabled on HDA Controller (and CSM have to do exactly this) its behaviour should not differ from usual PCI device.

P.S. Try to disable PCI Interrupt Steering too.

Edited by SweetLow

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...