Jump to content

Audio driver for Realtek HD Audio Hardware? [Testing thread]


Recommended Posts

I just had to change my motherboard, as the old one developed a fault.
It was a Supermicro X7DAL-E server board.
I was very lucky to find someone selling two of them which turned out to be unused, but they are X7DAL-E+ boards.
The only major difference between the X7DAL-E and the X7DAL-E+ is that the former has a Realtek AC'97 onboard sound system, and the latter has a Realtek ALC883 HD onboard sound system.
I've got one of the new boards up and running fine, and I found audio drivers for Windows 10 and Windows XP, but I'm having trouble finding a driver for Windows 98SE.
There are many listed online which claim to work on Windows 98, but they don't, the installer just says it's not compatible with the OS.
Is there any answer or workaround for this? I only want basic sound on Windows 98, nothing fancy.
BTW I have absolutely no idea why Supermicro thought that is was necessary to put a 5.1 HD audio  system on a server board!
Thanks, Dave.
:)

Link to comment
Share on other sites


 

5 hours ago, Dave-H said:

BTW I have absolutely no idea why Supermicro thought that is was necessary to put a 5.1 HD audio  system on a server board!

Surround sound comes for free with HD audio specification. The latter is universally supported across modern operating systems, so it just works out-of-the-box without having to install a special driver.

Link to comment
Share on other sites

9 hours ago, Dave-H said:

There are many listed online which claim to work on Windows 98, but they don't, the installer just says it's not compatible with the OS.
Is there any answer or workaround for this? I only want basic sound on Windows 98, nothing fancy.

Unfortunately no. :no:

Many, many hours or work by rloew, myself, and MERCURY127 have yielded no working solutions.

HDA uses an initial "BUS" driver that loads the HDA Bus and enumerates the actual HDAUDIO device. rloew did manage to get the 2K HDA Bus driver to load and enumerate the audio device with WDMEX, but the drivers for the actual audio device itself always fail, despite not having any missing WDM functions. A very annoying mess.

I think I do remember seeing a report somewhere of a working DOS/Win3x HDA driver. Might be possible to use it somehow as was done with the DOS LAN drivers... :unsure:

Link to comment
Share on other sites

@LoneCrusader

What drivers you've used to test the HDAUDIO device, the generic HDAUDIO.SYS or the Realtek one?

As for the Win3x driver, check here: https://web.archive.org/web/20180329132229/http://win3x.conforums.com/index.cgi?board=Pascal&num=1502071336&action=display&start=165

Haven't tested it myself, last time I've checked it caused startup delay and did nothin.

 

Link to comment
Share on other sites

Thanks guys!
I guess this is just too big an ask, even for the geniuses here.
:(
I could just do without sound on Windows 98, but an alternative might be just to fit a cheap PCI plugin sound card, and use that for Windows 98. I can free a slot for it.
I would want to connect the speakers just to that to avoid having to switch the source when I change operating systems (I do this with my dual graphics cards, using the input switching on a multi-input monitor, but I'd rather not have to do this with the speakers as well!)
It would be great if I could use the PCI plugin card just for the actual listening audio, but use the HD onboard hardware for the microphone and line input on Windows XP and Windows 10.
Would that be possible? It works OK with the graphics cards, Windows XP is the only OS that both cards have drivers for, and they are both installed and seem to coexist (one card is ATI, the other Nvidia needless to say!)
I would hope to find a sound card that has drivers for all three operating systems. :dubbio:
There are drivers for all three for the old motherboard's AC'97 sound system, so if I could find a card based on that I would have thought it would do the job.
I've had a look, and I found a couple of possibles, but none of them seemed to have Windows 10 drivers, which also have to be 64 bit!
Any advice gratefully received.
Cheers, Dave.
:)

Edited by Dave-H
Amendment
Link to comment
Share on other sites

The Win3x HDA-driver is working nice in my WIN98se system, even better than under Windows 3.1 (playback only).

You can find the driver here: http://turkeys4me.byethost4.com/programs/
You can install the driver manually, or you can use following INF-file I wrote for easy testing.
The INF-file has following functions (quasi Plug&Play):
1. Recognizing a PCI-Card with yellow exclamation-mark in Device Manager as a HDA-controller and name it as such. 
2. Copy four files from the folder "HDAFILES" to their respective directories.
3. Write strings for HDA2.DLL and HDATSR.EXE in SYSTEM.INI/AUTOEXEC.BAT. 

I added an uninstall-string to remove everything related tot this driver. The System Device "High Definition Audio Controller" is not affected by uninstall, it has to be deleted manually in Device Manager (if one prefer the PCI-card with yellow exclamation-mark, but can be left to give information about this specific device). :cool:

-----------------------------------------------------
GENHDA16.INF
----------------------------------------------------
;; GENHDA16.INF
;; 2018/03/26
;; "Watlers World" 16-bit High Definition Audio Driver
;; INF-file Win9x only
;; (c) Copyright 2018

[Version]
Signature=$CHICAGO$
Class=System
ClassGUID={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider=%W_W%
DriverVer=12/23/2017,9j

[Manufacturer]
%GEN%=GEN.Mfg

[GEN.Mfg]
%GEN_HDA.DeviceDesc%=HDA2,PCI\CC_0403

[HDA2]
DelFiles=HDA2.DelFiles
CopyFiles=HDA2DLL.CopyFiles,HDAHLP.CopyFiles,HDA2Inf.CopyFiles
UpdateInis=HDA2.UpdateInis
UpdateAutoBat=HDA.UpdateAutoBat
AddReg=HDA2.AddReg
Reboot

[SourceDisksNames]
1="HDAFILES",,0

[SourceDisksFiles]
hda2.dll=1
hdarun.exe=1
hdatsr.exe=1
genhda16.inf=1

[DestinationDirs]
HDA2DLL.CopyFiles=11
HDAHLP.CopyFiles=25
HDA2Inf.CopyFiles=17
HDA2DLL.DelFiles=11
HDAHLP.DelFiles=25
HDA2Inf.DelFiles=17
WATLERInf.DelFiles=17,Other

[HDA2.DelFiles]
drvidx.bin,,,1
drvdata.bin,,,1

[HDA2DLL.CopyFiles]
hda2.dll,,,1
;;hda2.dll,hda2.dll,hda2.000,1

[HDAHLP.CopyFiles]
hdarun.exe,,,1
hdatsr.exe,,,1

[HDA2Inf.CopyFiles]
genhda16.inf,,,1

[HDA2.UpdateInis]
system.ini,drivers,"wavehda=*",,0    ; deletes existing
system.ini,drivers,,"wavehda=hda2.dll",1    ; adds new

[HDA.UpdateAutoBat]
CmdDelete=HDATSR    ; deletes existing
CmdAdd=HDATSR.EXE    ; adds new

[HDA2.AddReg]
HKLM,"Software\Microsoft\Windows\CurrentVersion\Uninstall\High Definition Audio 16-bit"
HKLM,"Software\Microsoft\Windows\CurrentVersion\Uninstall\High Definition Audio 16-bit",DisplayName,,"High Definition Audio 16-bit"
HKLM,"Software\Microsoft\Windows\CurrentVersion\Uninstall\High Definition Audio 16-bit",UninstallString,,"rundll.exe %11%\setupx.dll,InstallHinfSection HDA2.Remove 132 %17%\genhda16.inf"

[HDA2.Remove]
DelFiles=HDA2DLL.DelFiles,HDAHLP.DelFiles,HDA2Inf.DelFiles,WATLERInf.DelFiles
UpdateInis=HDA2.DelInis
UpdateAutoBat=HDA.DelAutoBat
DelReg=HDA2.DelReg

[HDA2DLL.DelFiles]
hda2.dll,,,1    ; deleted after reboot

[HDAHLP.DelFiles]
hdarun.exe
hdatsr.exe
hdacfg.ini,,,1    ; deleted after reboot
hdalog.txt

[HDA2Inf.DelFiles]
genhda16.inf,,,1    ; deleted after reboot
genhda16.pnf

[WATLERInf.DelFiles]
WATLER~1.INF

[HDA2.DelInis]
system.ini,drivers,"wavehda=*",,0    ; delete

[HDA.DelAutoBat]
CmdDelete=HDATSR    ; delete

[HDA2.DelReg]
HKLM,"Software\Microsoft\Windows\CurrentVersion\Uninstall\High Definition Audio 16-bit"

[Strings]
;Localized strings
W_W = "Watlers_World"
GEN = "GENERIC"
GEN_HDA.DeviceDesc = "High Definition Audio Controller"
SystemClassName = "System Devices" ; ENG
;;SystemClassName = "Systeemapparaten" ; DUT
-----------------------------------------------------
By trial and error I found a new 'class' of wave devices accepted by the Drivers-section of SYSTEM.INI, the so called "wavehda"-devices, so other wave-devices remain untouched.

Installation:
1) Place the four Sourcedisk files in a directory named "HDAFILES".
2) Go to Device Manager and try reinstalling yellow exclamation marks, mostly named "PCI-Card", by pointing to GENHDA.INF, or delete PCI-Cards and do the installation after reboot while Windows is detecting new hardware. 
If you hear a plopping noise during startup, the driver is connecting to your codec. If you don't hear the Window s Startup Sound, you have to place HDAICOUT.HDA in your Windows directory. The  problem is that the "Widgets" (programmable function blocks) in the codec have default values. HDA2.DLL does not change these values (except a few). This can be done with the textfile HDAICOUT.HDA. If the file exist, HDA2.DLL sent the so called "Verbs" in this file to the addressed Widgets and change values at start-up. Try the one below. Worked for me in case of three different codecs (digital playback only). Copy the file to your Windows-directory and reboot.

BTW in case of stability problems set MinFileCache=8192 & MaxFileCache=8192 (or both lower).

Latest versions of HDAICOUT.HDA:

https://msfn.org/board/topic/178295-audio-driver-for-realtek-hd-audio-hardware/?page=10&tab=comments#comment-1163305

 

Edited by deomsh
File deleted, Link to updated File added
Link to comment
Share on other sites

Wow, thank you so much! :thumbup
I never thought for a moment that the answer to this might be a driver designed for Windows 3.1!
I will try this out later on and let you know how it goes, I'm working in Windows 10 at the moment. :whistle:
Cheers, Dave.
:)

Link to comment
Share on other sites

7 hours ago, MrMateczko said:

@LoneCrusader

What drivers you've used to test the HDAUDIO device, the generic HDAUDIO.SYS or the Realtek one?

Both, and also a third HDA driver, CMUDAX.SYS from this package.
http://download.msi.com/dvr_exe/CMI9880Ch_PI001.zip

Also tried multiple versions of the Realtek driver, going back to very early versions. All versions die in BSOD's. Debugging led nowhere (my debugging knowledge is very limited, but I had a lot of help from rloew :angel).

The Microsoft HDAUDIO.SYS only works with the controllers specified in it's original INF (ID's embedded in the file), so it's not really generic.

I have an Intel D915GAG motherboard and a MSI 925X Neo Platinum motherboard that both have early HDA controllers that are supported by the Microsoft HotFix and work with just KB888111 under 2K. We were able to get to the desktop under 98SE on the D915 board and using the HDAUDIO.SYS without crashing; but the driver just doesn't work. No audio output whatsoever. :(

If we could just turn up a copy of the "IHV Enabling Kit" mentioned in the other thread it might get us somewhere, but otherwise we have nothing to work with. Microsoft provides sample AC'97 driver code but I have yet to see a single instance of sample HDA driver code.

5 hours ago, Dave-H said:

I would hope to find a sound card that has drivers for all three operating systems. :dubbio:
There are drivers for all three for the old motherboard's AC'97 sound system, so if I could find a card based on that I would have thought it would do the job.
I've had a look, and I found a couple of possibles, but none of them seemed to have Windows 10 drivers, which also have to be 64 bit!
Any advice gratefully received.
Cheers, Dave.
:)

Theoretically, a card with Vista x64 drivers should still work.. I assume Vista drivers can still be used under Windows 10; :dubbio: I know I have used Vista drivers under Windows 7 for some machines I've worked on for people.

I've got some Chinese PCI-E cards that use an older 9x-compatible audio chip that I bought on eBay for use in systems with no PCI slots; IIRC I successfully tested one of them a while back, but I haven't put one to use on anything close to a daily basis. Also it's possible PCI-E has issues under 9x.. (there's another thread about it).

I see the Win3x HDA driver has been provided - let's see how that goes. If another solution is needed I'll try to dig something up.

Link to comment
Share on other sites

@deomsh

I've followed your instructions, and everything seemed to go OK, with no crashes or error messages.
I now have an entry called "High Definition Audio Controller" in my Device Manager "System Devices" section.
It says it's working but has no driver files loaded, I assume that's correct.
The relevant entries seem to be there in autoexec.bat and system.ini.
No sound so far though.
I copied the Hdaicout.hda file you linked to to my Windows folder, but no difference.
Does this mean that the contents of that file need modifying somehow?
:dubbio:

Link to comment
Share on other sites

The driver is inside SYSTEM.INI and will not be shown in Device Manager. If HDA2.DLL is loaded, there will be a HDA-entry in Multimedia Devices "Sounds and Audio Devices" / "Multimedia" (as part of Control Panel).

1) Can you see that HDA-entry? Please write down the memory address in Properties. Do NOT change it.

2) Did you hear a soft plopping sound during startup? Best use earphones. This is crucial information!

3) Did you reboot after copying HDAICOUT.HDA to your Windows directory?

4) Is HDATSR loaded? Check with MEM /A /C /P after booting into MS-DOS only (command-prompt with processing of MS-DOS configuration files, mostly number 5. of startup options).

The HDAICOUT.HDA I posted is a sort of experimental 'general one', but can be modified for individual codec's, which will take some time seeking and reading documentation.

Edited by deomsh
Corrections
Link to comment
Share on other sites

If it was me I would put a soudblaster in there and never use onboard audio.  Then again I play games, and I like soundblasters on windows 98.  I never use onbnoard audio on any system regardless of operating system.  There are always better options.  Just like no one uses onboard video.  becasue its weak.

Edited by Destro
Link to comment
Share on other sites

@deomsh

There is a "High Definition Audio Controller" entry in the "System Devices" section of Device Manager, but nothing in the "Sound, video and game controllers" section.
There is no "Multimedia Devices" section, is "Sound, video and game controllers" what you meant? :dubbio:
There is definitely no sound at all coming from the speakers during startup.
I did reboot after copying Hdaicout.hda to the C:\Windows folder (not C:\Windows\System?)
I'm getting a message from autoexec.bat on startup which say "TSR loaded", I assume this means it has correctly loaded.

@Destro

Yes, that is my fallback intention if the Windows 3.1 driver won't work for the onboard hardware.
I only need sound at a basic level as I'm not a gamer and I don't use the PC to watch movies.
I haven't used a Soundblaster card since my first Windows 3.1 PC back in 1993! :lol:
Are there any Windows 10 64 bit drivers for them though? :dubbio:

Edited by Dave-H
Typo
Link to comment
Share on other sites

Yes, its "Sound, video and game controllers" It's "Sounds and Audio Devices" / "Multimedia" as part of Control Panel" (I am using a Dutch version).

"TSR loaded" is a good sign for HDATSR, but it seems that HDA2.DLL is not loaded. Please check if its in your System directory, maybe it was not correctly renamed by Windows Setup.

Further: what is in the [Drivers] section of your SYSTEM.INI?

Last: is Virtual Memory enabled (Swapfile)?

Edited by deomsh
Corrections
Link to comment
Share on other sites

HDA2.DLL is in my C:\Windows\System folder.
(In fact my Windows folder is C:\WIN-98, but that shouldn't make any difference.)
HDA2.DLL is listed as a loaded module in msinfo.
These are the relevant sections from my system.ini -

[386Enh]
device=*COMBUFF
device=TURBOVCD.VXD
device=*dynapage
device=*vpd
device=*int13
device=*enable
device=convmem.vxd
device=c:\programf\afterdar\adw30.386
ebios=*ebios
woafont=app850.fon
keyboard=*vkd
display=*vdd,*vflatd
mouse=*vmouse,msmouse.vxd
device=dva.386
MinSPs=16
ConservativeSwapfileUsage=1
Paging=on
PagingDrive=C:
;Entry MaxPhysPage=40000 limits memory use to 1024MB
EMMExclude=C000-CFFF

[Drivers]
wavemapper=*.drv
MSACM.imaadpcm=*.acm
MSACM.msadpcm=*.acm
Adwrap=c:\programf\afterdar\adwrap.drv
MSVideo.VfWWDM=vfwwdm.drv
MSACM.lhcodec=lhcodec.acm
Voice=C:\UTILITIE\EXTERNAL\BITWARE\is101.drv
VIDC.YV12=ATIYUV12.DLL
VIDC.VCR1=ATIVCR1.DLL
VIDC.VYUY=ATIVYUY.DLL
VIDC.YVU9=IYVU9.DLL
wave=mmsystem.dll
midi=mmsystem.dll
wavehda=hda2.dll

As you can see, I'm using the ConservativeSwapfileUsage=1 option.
I have never needed in recent years to use a swapfile on Windows 98, as it can access over 3GB of RAM!
I did try changing it to ConservativeSwapfileUsage=0, and rebooting, but no difference.
Cheers, Dave.
:)

Link to comment
Share on other sites

Fine, no problems with my INF-file or virtual memory (not the size of the swapfile matters, but Paging must be enabled as far as I know).

But maybe wavehda=hda2.dll is not good on your system, rename to wave1=hda2.dll and reboot. Another option, give (your) full path: wave1=C:\WIN-98\SYSTEM\HDA2.DLL (I have never tried this driver with other WinDir).

Link to comment
Share on other sites

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