Save up to 50% off any of our desktop apps in our 2021 spring sale, including
DisplayFusion, ClipboardFusion, FileSeek, LogFusion, TrayStatus, and VoiceBot!

Title

Message

Confirm

<< DiscussionsReply

Race Bug when Switching Monitors and Audio Simultaneously to HDMI

klaxian
16 discussion posts
When switching to a monitor profile that enables a previously disabled screen and changes the default audio device to that screen's HDMI connection (nvidia audio), it appears that a race condition occurs which sometimes results in the wrong audio device being selected. Furthermore, when this happens, audio will be changed to the display output for a different screen, even if that screen ends up being disabled in the target monitor profile. This prevents the audio device from functioning at all. Rebooting the computer or waking from sleep while the desired monitor profile is active resolves the problem temporarily. Is this the best place to report the bug? I am running version 9.4.3. Thanks.
May 9, 2019  • #1
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Could you try updating to DisplayFusion 9.5 Beta 2 and let me know if this still occurs?

Thanks!
May 9, 2019  • #2
klaxian
16 discussion posts
Thank you for getting back to me. I upgraded to 9.5b2 and I haven't had this problem since. However, since it's intermittent, it might come up again after some time. I'll let you know if it happens in the future. Thanks again.
May 14, 2019  • #3
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Sounds good! We did make a couple of changes to how the audio devices are loaded in B1 and B2, so hopefully those fixed this up for you.
May 15, 2019  • #4
klaxian
16 discussion posts
It turns out that this is still happening on 9.5b4. Did anything change in a recent beta, but it seemed better in 9.5b2. However, the problem is intermittent so it might be coincidence. It looks like a race condition to me.
May 21, 2019  • #5
Keith Lammers (BFS)'s profile on WallpaperFusion.com
We didn't change anything for this between B2 and B4, but it definitely could still be a race condition. We'll try increasing the delay before setting the audio device again to see if that helps. I'll be sure to let you know when we've posted an update with that change.

Thanks!
May 23, 2019  • #6
Keith Lammers (BFS)'s profile on WallpaperFusion.com
We've just released a new DisplayFusion beta version and this issue should be all fixed up. Please let us know if you run into any trouble after updating.

Thanks!
Nov 26, 2019  • #7
klaxian
16 discussion posts
Thank you very much! This problem hasn't occurred since I updated to v9.6 beta and it was happening consistently about 50% of the time before. It's intermittent so I'll keep testing. What was the problem? Was it a race?
Dec 2, 2019  • #8
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Yep! Seemed to be an issue where the audio device wasn't fully setup before DisplayFusion was trying to switch to it in some cases.
Dec 2, 2019  • #9
klaxian
16 discussion posts
Sorry, this is actually still happening at about the same rate as before. I thought it was fixed initally, but it is intermittent (although frequent). Please let me know if there's any additional information I can provide to help resolve this before the final release. Thanks.
Dec 7, 2019  • #10
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Ok, thanks for the update! I'll re-open the ticket and we'll see if we need to increase the delays a bit more.
Dec 9, 2019  • #11
klaxian
16 discussion posts
Thanks. I'm happy to provide more specifics if it helps. I also found a new workaround that wasn't working before. If I open Windows Sound Settings after switching the monitor profile, it will enumerate audio devices and correct the problem. It's visually noticeable that audio devices are re-scanned because the options in the Sound Settings pulldown menu visually flicker and change while it scans. I'm not sure if this new workaround is the result of the new DisplayFusion version or perhaps a Windows update.
Dec 9, 2019  • #12
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Ok, that's good info for sure. Thanks!
Dec 10, 2019  • #13
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Ok, we've just made another tweak to this for 9.6 Beta 6. Could you try it out and let me know how it goes?

Thanks!
Dec 14, 2019  • #14
klaxian
16 discussion posts
I installed the new version two days ago. I'll let you know if the problem happens again.
Dec 16, 2019  • #15
klaxian
16 discussion posts
Unfortunately, this is still happening with 9.6.1. Opening Windows Sound Settings still resolves it. Does this rule out a race? Can you enumerate the audio devices the way Sound Settings does?
Dec 28, 2019  • #16
Keith Lammers (BFS)'s profile on WallpaperFusion.com
I'm not sure, to be honest. I will pass this over to our devs to see if they have any other ideas here.
Jan 2, 2020  • #17
Keith Lammers (BFS)'s profile on WallpaperFusion.com
We've just released a new DisplayFusion beta version and we've made another tweak to this. Could you give it a try and let us know how it goes?

Thanks!
Feb 25, 2020  • #18
klaxian
16 discussion posts
I've been trying the new version and the bug still seems the same. However, the delay you've added is now long enough for me to actually see when the audio sources change. Ever since the previous version, I've been usually (but not always) seeing a duplicate source in the audio devices list after the profile change is complete. This duplicate ends up being selected, but it does not output any audio. If I manually change to the correct device (not the duplicate), it works normally. As always, opening the Windows audio settings correctly enumerates the devices and resolves any issues, even if I open it before DF finishes switching profiles. Perhaps I will try deleting the monitor profile and adding it back to see if that resolves the issue?

At this point, it doesn't seem like increasing the delay before enumerating audio devices will resolve this. The delay is now so long that I have time to open the Windows audio settings before DF updates devices - and then DF gets it wrong. If it helps, it seems like it takes about 9 seconds for my other screen to wake up. I don't know what APIs you have access to, but can you think of any other solution besides adding a delay before updating the audio devices? Have you been able to reproduce this issue yourselves? I'd be happy to provide any details you need. Thanks.
Mar 2, 2020  • #19
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Ok, thanks for the update! I will pass that info over to our developers to see if they have any other ideas on this.
Mar 4, 2020  • #20
Keith Lammers (BFS)'s profile on WallpaperFusion.com
We've just released a new DisplayFusion beta version and made another tweak for this. Could you give it a try and let me know how it works out?

Thanks!
May 8, 2020  • #21
klaxian
16 discussion posts
I installed the new version and I'll let you know how it goes. Thanks for working on this!
May 8, 2020  • #22
klaxian
16 discussion posts
Unfortunately, the problems appears the same after the latest updates. As always, opening Windows Sound Settings resolves the incorrect audio devices.

This bug was reported over a year ago and there really hasn't been any progress. Repeatedly increasing the lag time before enumerating audio devices didn't seem to help. Do you need any more information from me in order to reproduce the problem? Can you please devote some resources to this to fix it once and for all? Let me know how I can help. Thanks.
Jul 5, 2020  • #23
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Honestly we're really stumped on this. As far as we can see, we're setting the device correctly, and there's some issue with Windows not refreshing the list of devices properly. We haven't given up though, it's still open on our list, and we're working on trying to reproduce it here. If we can get it to happen here, we'll have an easier time tracking down what's going on with it.

We'll be sure to let you know if/when we're able to get it sorted out.

Thanks!
Jul 9, 2020  • #24
klaxian
16 discussion posts
Have you been able to reproduce the issue at least? That would seem to be a necessary first step. Let me know if you need any more information to reproduce the problem. Thanks.
Jul 24, 2020  • #25
Jon Tackabury (BFS)'s profile on WallpaperFusion.com
We haven't been able to reproduce the issue here, we're trying to figure that out first.
Jul 26, 2020  • #26
klaxian
16 discussion posts
I'm currently testing to see if this is perhaps an nvidia bug instead. There was one instance where my screen went to sleep after inactivity, but I woke it before the system was suspended. In that case, the nvidia HDMI audio device disappeared just like when switching monitor profiles. After further research, I discovered that many nvidia users reported this behavior over the past couple years, especially with VR headsets. Apparently the issues has been reported to nvidia a couple years ago, but they have not resolved it.

The following reddit post contains a registry fix to work around this problem by adjusting the audio device power settings. I am currently testing the proposed solution and I will report back if the problem happens again.

https://www.reddit.com/r/ValveIndex/comments/c72pg0/discussion_and_troubleshooting_for_index_hardware/esmjkz4?utm_source=share&utm_medium=web2x&context=3
Oct 22, 2020 (modified Oct 22, 2020)  • #27
klaxian
16 discussion posts
This has been pretty much confirmed to be an nvidia driver power HDMI management problem. It can be temporarily resolved by following the steps I linked to manually edit the registry. However, it always resurfaces after a driver upgrade. This seems like it could be a common problem for those who switch between multiple screens frequently. Even though this is not a DisplayFusion bug, would you consider adding a workaround into your software? You could periodically check and update the registry to work around the problem if the user enables that setting in DF. Thoughts?
Feb 25, 2021  • #28
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Thanks for the update! That's not really something that we would implement directly in DF, as it has some potential to be dangerous. We try to avoid messing with registry values that don't belong to us whenever we can, because we don't have control over when and how they might change with future updates to the software that owns those keys.
Feb 26, 2021  • #29
klaxian
16 discussion posts
Thanks for letting me know. In that case, would you be willing to implement a safer workaround instead? The issue happens frequently after a screen connected with HDMI wakes from its power save mode (not OS sleep), whether I'm switching between monitor configurations or not. However, I discovered I can always fix it by manually opening the Windows Sound Control Panel (not the Windows 10 Sound Settings). Can you automatically replicate whatever polling that the Sound Control Panel is doing a few seconds after a monitor wakes up? I realize this is not your bug, but I think a lot of multi-monitor users might suffer from this from time to time. I doubt nvidia will ever fix it. Thoughts?
Feb 26, 2021  • #30
Keith Lammers (BFS)'s profile on WallpaperFusion.com
We've tried that kind of fix already with no success. We put some delays in, and also tried calling the Windows API to enumerate the audio devices before trying to set it but it didn't make any difference

If we do think of anything else to try though, we will definitely give it a go!
Feb 26, 2021  • #31
klaxian
16 discussion posts
Thanks for trying. I wonder what the Sound Control Panel is doing behind the scenes that fixes it.
Feb 26, 2021  • #32
Keith Lammers (BFS)'s profile on WallpaperFusion.com
Yeah, Windows is a bit of a mystery box. They get to do all sorts of things that we can't because they don't expose every function via an API.
Mar 3, 2021  • #33
Was this helpful?    
<< DiscussionsReply