Audio Issue with HDMI


#1

I’m having an issue with RetroArch and HDMI audio to my TV. Audio is through Intel Graphics Audio.

First of all, when audio sync is enabled, FPS seems capped to 30 in all emulators. But this is only true when using audio over HDMI. If i disable HDMI audio and use my laptop’s regular audio, everything runs smooth. If I disable audio sync of course everything also runs smooth.

Next, I have no actual sound being generated either when using HDMI. Are there settings specific to Intel Graphics Audio for intel 4600 card that I should be setting?


#2

Have you installed Intel’s drivers? I.e., rather than using the ones that come with Windows?


#3

Yep, I’m using the Intel ones, and also tried updating to the latest drivers


#4

Have you tried using any different audio drivers? That is, settings > driver, change it from xaudio2 to … whatever’s available. Be sure to exit retroarch and re-launch after each change


#5

Hmm, i did try but didn’t realize I had to exit retroarch, I’ll give it a shot


#6

Ok, i just tried and it didn’t work. I did notice another thing that might be useful. After running retroarch, it’s not just retroarch with no sound, it breaks sound for the entire computer over HDMI. I can recover the sound by rebooting the computer and it works fine everywhere else, but once I run retroarch it seems to break the Interl Graphics sound over HDMI (regular sound driver still works fine).


#7

I found the solution in this thread: No sound on any core

The summary is to install DirectX9.0c from here: https://www.microsoft.com/en-us/download/details.aspx?id=35 and then restart the PC. (I tried without restarting and it did not work, despite the fact that the installer did not ask me to restart).

Not sure why this is required but apparently using graphics card onboard sound on Windows 10 doesn’t work without it.


#8

Hmm, turns out this is only a partial fix. If I run a game, then select close content, then exit retroarch, the sound breaks again computer-wide. Works again when restarting the computer.

I guess there’s some sort of incompatibility with Intel Graphics Audio.

Interestingly, when the audio is broken (either ifI don’t install directx 9.0c, or after the procedure just described above that breaks audio) FPS seems to be locked to 30.2 and that lock is caused by the Audio Sync, suggesting there’s just something wonky going on with the Intel Driver and Retroarch.

Out of ideas at this point.


#9

Yeah, weird. I haven’t heard anyone else mention this issue, but I’ll keep an eye out and let you know if we have any diagnostic/troubleshooting questions.

Thanks for the info.


#10

It’s probably related (or even the same issue) to that other post I linked, so that’s probably two reports :slight_smile: Happy to try any troubleshooting steps - but I’ll try to find on my end what exactly it’s doing to the audio driver to make it stop working, and why restarting the PC fixes it, but disabling and re-enabling the driver does not. If I can pin that down maybe it will shed more light on the issue


#11

Did more troubleshooting and determined that the issue is not related directly to Retroarch, but posting my findings here in case others are running into the issue.

The issue seems to be caused when sound is active in some way, and then is switched over to Intel Display Audio while it’s active. In that case, somehow Intel Display Audio stops working. It seems to reproduce reliably when I do this, e.g.if I turn off the TV and back on while sound is playing, or if I pull out the HDMI cable and plug it back in while sound is playing. If sound is not playing it is fine, but if it is, it seems to mess things up.

This seems consistent with the behavior in retroarch only causing an issue when a game has been started, but not otherwise. Presumably exiting retroarch may temporarily trigger sound to go back to the main sound driver, and then back to the intel audio driver - perhaps due to the resolution change of the full screen or some other such reason.

Anyway, since I can reliably reproduce it outside of retroarch, I’m convinced that while retroarch may be triggering the issue, it is not the cause of the issue, and so it’s not an issue for the retroarch team to solve.


#12

Ok, just to close this out in case someone else runs into this. As I thought, it’s some weird driver issue. Although I still don’t know what causes the bug, I found a configuration that doesn’t seem to triger it.

I downgraded the Intel Graphics Driver to 20.19.15.4300, as that was the latest version posted by my laptop manufacturer. This in and of itself did not fix the problem. However, it enabled more sampling rate and bit depth settings in the HDMI to TV sound channel. I then changed that setting to 24 bit 96000 Hz (prior to this I only had 24 bit 48000 Hz and 16 bit 37000 Hz available, both of which suffered from the bug).

Once I did that, the issues with sound breaking when turning the tv off and on went away, and as suspected, so did the issues with RetroArch.


#13

Thanks for your investigation.

I have a similar issue; sometimes when turning on my PC, sound does not come from the TV (HDMI), regular jack from PC worked fine. I ended up placing a bat script in the startup that basically restarts the audio controller and that seemed to patch the issue.

Even though all works “fine” now, I will try to test increasing the sample like you did and if not, downgrading the drivers.

Cheers.