Steps to reproduce:
- Install ReactOS on the real PC which has Realtek HD Audio based soundcard.
- Replace hdaudbus.sys onto version from Win2k3. Without doing this, the driver will fail to install.
- Boot the system in Debug or LogFile mode (because you will need to use kdbg, an exception will appear during the driver installation, and it will not work in normal mode).
- Download Realtek HD Audio driver for XP from the official Realtek Website: https://www.realtek.com/en/agree-to-download?downloadid=01e8099f2da13d69df67821af2005b55. Type your email, agree with the terms, click Download, then solve the captcha and click Go. Although I used the version from CD of my motherboard instead, but the linked version should work as well too.
- Extract it from the downloaded archive.
- Install it via Device Manager. Select Manual installation, then specify the following path: driver_directory\WDM_R274\WDM.
- During the installation, the system will hang due to the exception that will appear. To continue the installation, simply type cont and then press Enter on the keyboard. Sicne you will be in Debug/LogFile mode, you will able to do that.
- When the installation will finish successfully, close Device Manager and reboot ROS.
- After the next boot, repeat steps 4-9 again, since the builds up to guilty still require to install the driver and reboot the system twice. But please note that the same exception will now appear during the system boot each time, so after loading all drivers, when you will see the black screen, just type cont and Enter again, and then the system will boot into desktop successfully.
- After 3rd boot, if you did all steps correctly, the sound will work up to the last non-guilty commit. But note also, if the sound will work with Realtek HD Audio driver installed, there also will appear 2 or more asserts, whose you will need just to ignore, by presing i and Enter on the keyboard requiured amount of times. If the sound will not work (e. g. starting from guilty build) they will not appear. Btw, these asserts are caused by our audio stack, because after replacing all audio drivers onto MS versions, they does no longer appear too.
As a result of doing all steps above,
Up to 0.4.15-dev-790-g78edea816477ac7d088a86ec1743d7a649c0c025 the sound will work after 2 reboots, but with all described sympthoms.
Since 0.4.15-dev-791-g6d7ebc20481a587bd19e8a8049317113071b0817 (or if just to replace wdmaud.drv from dev-791 in already installed system, which I did) it does no longer work at all, even after multiple reboots. Although Device Manager repors that it is installed and works properly, the Sound Properties will show that no any audio devices are installed.
See attached screenshots from real hardware and the HDAudio.log captured from the guilty build.
The following line seems suspicious to me:
which may indicate a problem, but it seems to me that USE_MMIXER_LIB hack, which has been committed in the guilty commit, most of all may cause the problem instead.