Jump to content

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


Recommended Posts

@Dave-H: You're right, no difference. So there is no need trying "pcipatchB" settings in HDACFG.INI. At least it seems that these registers of your HDA-controller are not the problem.

Summarizing you have following problems/ did following tests/ took following actions/ gained following results:

  1. Trying to install HDA2.DLL -> PASSED
  2. Try to hear "something" with the default settings: NOT PASSED
  3. Try to hear "something" with experimental general version of HDAICOUT.HDA: NOT PASSED
  4. Try to select "HDA Sound" as Preferred Playback device: NOT PASSED
  5. Try to hear "something" while using different Verb Interface: NOT PASSED
  6. Try resolving conflicts in System (conflicts between Motherboard resources System timer/ DMA controller): NOT PASSED
  7. Try to hear "something" with different "Mytimer setting" in combination with HDARUN: NOT PASSED
  8. Movement of the Slider of Sound recorder while playing a WAV-file: NOT PASSED
  9. Try to hear "something" without using HDATSR and setting [BUSMASTER] to memory addresses "out of the reach of Windows": NOT PASSED
  10. Try to hear "something" with different "wait" settings:  NOT PASSED
  11. Compatibility of actual HDA PCI-Registers with settings of working HDA-player: PASSED

If you like to move on, I see only the following possibilities where I can be of use:

  • Try to hear "something" trying ALL audio jack's
  • Change PCI settings of your Motherboard's BIOS
  • Check communication with the CODEC with help of AHDA17O
  • Write specific HDAICOUT.HDA for ALC883
Link to comment
Share on other sites


Just to add that I've now tried many different "wait" settings in HDACFG.INI.
None seemed to make any difference.
:no:
Is it actually possible that even if the DOS Media Player worked, that the Windows driver is sending the output to a different jack?
That will be very awkward if that's the case, as I have to maintain the hardware configuration for my other two operating systems!
I'm afraid there are no BIOS settings on my system that affect the on-board sound hardware, only the plug-in card expansion slots.
I think the most likely solution is probably writing a specific HDAICOUT.HDA for ALC883, but I wouldn't know where to start there!
:)

Link to comment
Share on other sites

Just out of interest, I also tried running the DOS Media Player in Windows in a DOS box,
It went through all the motions exactly as in pure DOS, but didn't produce any sound.
I connected the speakers to all the sockets, both in that mode and with testing the Windows sounds, but nothing.
:no:

Link to comment
Share on other sites

@Dave-H:

MPlayer will not work in a DOSBOX, because inside it cannot connect to the real hardware.

To move on we have to solve a few problems.

1) Not hearing soft "plops" or "clicks" during boot.
2) Not having Slider movement while playing an audio-file.
3) Check if the CODEC is fully programmable according to the data sheet.
4) Write a CODEC-specific HDAICOUT.HDA and test it.

Although I have a certain order in mind, I used bullets in my previous post, because I am still not fully sure that there is NO relation between the way a CODEC is programmed by HDAICOUT.HDA and sending some "device ready" message to the driver. My actual understanding is that they are independent and that such messages are sent/ received by the HDA controller in relation to both the CODEC and the driver. In that case concentrating on 3) and 4) will be a waste of time.

In many CODECS all, or almost all, Widgets that connect to Jacks, are in the default state set as Input devices. Drivers from ALSA, FreeBSD or Kolibri are using Widget parsers, asking all information (including all connections) from an unknown CODEC with so called "GET VERBS". By sending "SET VERBS" CODECS can be programmed. You can even redirect analog inputs like MIC and CD to analog outputs and mix then with digital audio. HDA2.DLL doesn't have a real Widget Parser onboard, but is using the settings of HDAICOUT.HDA. By absence of this file, some settings are set to a default value (at least the last three lines of HDACFG.INI).

All these "new" settings are reset to defaults by the BIOS during reboot. You don't have to worry about your triple-boot companions. 

I asked you earlier to test Jacks, just in case there is a problem with my version of HDAICOUT.HDA in relation to your specific CODEC. That will be the case if you're hearing soft "plops" or "clicks" during boot on other Jacks. So each jack has to be tested with one boot seqeunce. That's all, regarding first bullet.

With PCI related BIOS settings I didn't ment Audio settings. According to the manual of X7DAL-E+ disabling audio is done by a jumper. But in your BIOS setup there is on page 4-9 ONE entrance that can be tested: Enable "Emulated IRQ Solutions", default is Disabled. This option is ment for legacy systems. My (bit loose) idea to try this is because audio problems sometimes can be "healed" by disabling MSI (according to some Linux forum post's). Its difficult to find more information about this BIOS option, but I think it's worth a try (although first backup all your configuration files to be for sure, and better reset first to default when booting in your other OS). In my opinion there is real progress if the Slider of an audio player is moving with this BIOS setting enabled.

Maybe other members can give some input about this BIOS option. 

Before investing time in a CODEC-specific HDAICOUT.HDA I have to know if GET and SET verbs are fully functional, can be done with AHDA17O, or by another (less general) version of HDAICOUT.HDA.
 

Edited by deomsh
Correction, typo
Link to comment
Share on other sites

Thanks again!
I tried changing that BIOS setting, but it didn't seem to make any difference to anything.
I also tried booting up with the loudspeakers connected to all six of the jacks on the motherboard one by one, but not a peep from the speakers on any of them.
The "HDA Sound" entry in the Multimedia Control Panel applet still comes and goes.
There's always something there, but often it's unlabelled.
Strangely, even when it's unlabelled and blank, its registry entry at HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Sound Mapper is still there and looks correct, but the name isn't being displayed.
:dubbio:

Link to comment
Share on other sites

On 4/11/2019 at 1:46 AM, deomsh said:

Thanks for testing, does your IRQ-changing imply that the Controller had an exlusive IRQ? I am sorry but I can't understand your logic of facts related to a (even virtual) AC'97 controller.

I'm not an expert when it comes to IRQs, I can only tell what I've seen.

On 4/11/2019 at 1:46 AM, deomsh said:

About your Choppy sound: maybe a silly question. Did you rule out Guest/Host problems? How's HDA-sound with W2K or XP? I saw some interesting HDA-correspondence on the VirtualBox-Forum about W2k/XP and even WIN10 as a Guest (mainly on older versions of VirtualBox).

No issues on Windows 7 guest. No driver I tried worked on Windows XP though, got the error that the device cannot start (code 10) in Device Manager.

On 4/11/2019 at 1:46 AM, deomsh said:

Your (Virtual) HDA Codec should be STAC9221. According to the data sheet: "VolumeKnob Node (NID = 0x16)". So try VolumeWidget=$16 if you like.

Doesn't help with anything, including volume control.

Edited by UCyborg
Link to comment
Share on other sites

@Dave-H: Thanks for testing, after the BIOS option I do not see means to do something with the HDA-controller. In the Intel High Definition Audio Specification I found that the HDA controller is opaque for responses from the CODEC. In my (maybe simplified) understanding that means that rewriting HDAICOUT will have no influence on the HDA-controller. IF the controller is the real problem. :dubbio:

Regarding Sound Mapper, did you check following with your Win98se CD: MMSYSTEM.DLL, WINMM.DLL, MSACM.DLL, MSACM.DRV and MSACM32.DLL.

Check your Registry for Wavemapper too.

 

This is my (dutch) Sound Mapper Reg-entry in HKCU (same in HKU):

[HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Sound Mapper]
"Playback"="HDA Sound "
"Record"=""
"PreferredOnly"=dword:00000001
"UserPlayback"="HDA Sound "
"UserRecord"="Geen opnameapparaten"
 


 


 

Link to comment
Share on other sites

@UCyborg: I didn't ment to offend you. I am not an expert either, I only tried to say that using "facts" from experiences with other drivers like AC'97 doesn't say anything to me.

You didn't answer my question if you could give the HDA controller an EXCLUSIVE IRQ. If that's possible on your system and you have still choppy audio, I would tend to agree that IRQ's are not a (possible) problem.

Interesting that with Windows XP as a Guest in VirtualBox HD-audio is not possible, so your Windows 95 OSR2 with a Win3.x driver is already surpassing Windows XP! The (older) posts I red where from angry Win2k/XP users about not working HDA, in Windows 10 the problems where about choppy audio. Windows 7 was not mentioned, but I didn't do a full search yet (very time consuming). But I am becoming more interested in VirtualBox, if I have some spare time I will try an installation on my Windows 10 as a Host. But in the mean time I give Dave-H priority if you don't mind, it's his thread.

It would of interest too try MS-DOS HDA players, like I suggested Dave-H, but with respect to choppy audio.

About volume setting for your virtual STAC9921 codec: I have red somewhere that it's not fully implemented in VirtualBox. If you have some spare time I'd like to see the codec graph. My ALC662 looks like this one:

Win_HDA_Util_ALC662.thumb.jpg.4580f87d2d0d1b45445860e875115784.jpg

You can produce this graph with a Microsoft tool: High Definition Audio Utility 3.3. It needs Windows 7 or higher. If I understood well, you are running Windows 7 as a guest too.

https://en.freedownloadmanager.org/Windows-PC/Microsoft-High-Definition-Audio-Utility-FREE.html

After installing the msi, go to File -> Local Machine Codecs and load DEV9221 or something like that.

Link to comment
Share on other sites

13 hours ago, deomsh said:

@Dave-H: Thanks for testing, after the BIOS option I do not see means to do something with the HDA-controller. In the Intel High Definition Audio Specification I found that the HDA controller is opaque for responses from the CODEC. In my (maybe simplified) understanding that means that rewriting HDAICOUT will have no influence on the HDA-controller. IF the controller is the real problem. :dubbio:

Regarding Sound Mapper, did you check following with your Win98se CD: MMSYSTEM.DLL, WINMM.DLL, MSACM.DLL, MSACM.DRV and MSACM32.DLL.

Check your Registry for Wavemapper too.

 

This is my (dutch) Sound Mapper Reg-entry in HKCU (same in HKU):

[HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Sound Mapper]
"Playback"="HDA Sound "
"Record"=""
"PreferredOnly"=dword:00000001
"UserPlayback"="HDA Sound "
"UserRecord"="Geen opnameapparaten"

I checked those files, and they are all present in the WIN-98\System folder.

MMSYSTEM.DLL 4.3.0.1998
WINMM.DLL 4.3.0.2201
MSACM.DLL 4.3.0.1998
MSACM.DRV 4.3.0.1998
MSACM32.DLL 4.3.0.1998

msacm.drv is shown under the wavemapper entry in the registry.
:)

Link to comment
Share on other sites

@Dave-H: Thanks for the file information. I assume that "checked" means also the files are binary identical with the files from your WIN98se CD. :angel

I am searching for some spare time to work at step: Check if the CODEC is fully programmable according to the data sheet. I will have to write HDAICOUT.HDA adjusted for your chipset. I'd like to see to log-files that should reside in your WinDir: HDALOG.TXT and HDAICIN.TXT. If they exist, will you be so kind to attach them? 

BTW: about your Sound Mapper problems: do they disappear with a normal PCI sound card, while HDA2.DLL is disabled? Disable is very easy: with semicolon before the wave-entry in SYSTEM.INI [Drivers] ;;wavehda=HDA2.DLL.

Link to comment
Share on other sites

I will check the versions against the original Windows 98SE CD versions, but can you tell me where they are?
In one or more of the cabinet files presumably, and there are lots of them!
Some of my system files have been updated over the years, in fact some are replaced with the Windows ME versions!
Here are the two files you asked for -

HDAICIN.TXT
HDALOG.TXT

I'll check the last thing you mentioned out tomorrow and leat you know.
Cheers, Dave.
:)

Link to comment
Share on other sites

@Dave-H: The files resides in WIN98_32.CAB and WIN98_43.CAB.

If checking is a difficult, you can use System File Checker (Run -> SFC). Watch the settings. :crazy:

Best is: let SFC do a first run and choose everywhere "ignore". If you want to restore original files, let SFC make a backup.

Link to comment
Share on other sites

Thanks!
WINMM.DLL and MSACM.DRV were in WIN98_44.CAB on my disk, but I soon found them.
They are all the original versions except for WINMM.DLL, which is 4.3.0.2201 instead of 4.3.0.1998.
I suspect the file was updated at some point back in the mists of time.
Is that likely to cause an issue here? :dubbio:

I use the Windows 98 SFC all the time to check changes to the system files on Windows XP (sadly system updates have now just ended) but I haven't used it to actually replace a file for donkeys' years!
:lol:

On 4/15/2019 at 9:29 PM, deomsh said:

@Dave-H: BTW: about your Sound Mapper problems: do they disappear with a normal PCI sound card, while HDA2.DLL is disabled? Disable is very easy: with semicolon before the wave-entry in SYSTEM.INI [Drivers] ;;wavehda=HDA2.DLL.

Not sure what you mean here. I don't actually have a "normal PCI sound card", I've been using boards with only on-board sound for years now.
It is my fallback to get one if what we're doing here doesn't work out.
:)

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

@Dave-H: I am sorry to hear you don't possess such a card. Nevermind, was just an idea to test if your Sound Mapper is working. Same for the four files I ment. 98 SFC will test the three original one's too for integrity. Just to be certain your installation is valid, but it's up to you.

I have a new HDAICOUT.HDA version to test. Please rename your first one to HDAICOUT.HDA.000 and rename te new one to HDAICOUT.HDA. Afterwards please attach HDAICIN.TXT and HDALOG.TXT again. This version is mainly to test if the Verb Interface is fully functional and if Play-related functions of your codec are set correctly.

Edited by deomsh
Delete file
Link to comment
Share on other sites

Big problem with the new version of HDAICOUT.HDA I'm afraid.
After the boot gets to the desktop I get this -

20190418_133218.thumb.jpg.e87cce3d150ed632fdcdb8bc17a346d3.jpg

If I press "OK" it briefly tries to continue booting, but then permanently freezes.
Restoring the original file makes everything return to normal.
:(

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