Microsoft has a fix for unwanted program window rearrangements on multi-display systems
Multi-monitor systems are quite popular in the work place and also at home as they may improve productivity significantly. Developers may use multiple monitors to display more code on the screen or documentation, writers and researchers may use it for Office apps and research programs, and streamers to keep an eye on their channels while streaming a game.
If you worked on multi-monitor systems before, you may have run into a frustrating issue. When you recover a device from sleep, application windows may have been moved without your doing in the meantime. It is a frustrating experience, especially when you have to rearrange program windows after waking a device from sleep.
Up until now, third-party programs such as WindowManager, Auto Window Manager, or Window Resizer offered a workaround for the issue.
Microsoft has created a fix for the issue and is already testing it on the Windows Insider channel. According to a blog post on the Microsoft DirectX Dev Blog, it fixes issues on devices that connect to at least two (desktop) or one (laptop) external monitors.
Microsoft employee Michelle Xiong, program manager of the Grapics Team, explains why the issue occurs:
The technical terminology we use to describe this problem is known as Rapid Hot Plug Detect (Rapid HPD). This behavior impacts DisplayPort multi-monitor setups which results in unwanted desktop rearrangements. We have worked towards mitigating desktop rearrangements when Rapid HPD occurs.
The fix is available in Windows OS builds 21287 and newer, and a system that is connected to multiple monitors. Desktop systems require at least two external monitors, laptops at least one external monitor.
The build number suggests that the fix could find its way into Windows 10 version 21H2, out in the second half of 2021.
The solution works for all monitor manufacturers, hardware specs, connector types and cable brands according to Microsoft.
Now You: how many monitors do you use?
It’s 2024. I have Windows 11, and 3 monitors. Every single freaking time they wake up, it takes several attempts for the system to realize there are 3 monitors and turn them all on. Sometimes it rearranges things, but the most annoying part of the problem is it will usually change my audio source, so that I have to go into settings and try the other three sound options to get my music back. What is the fix, and how do I do it!?
It’s 2022, where’s the fix for me on Windows 10?
windows 10 21H2 is released and it does not fix this issue. I’ve heard some people say the fix will only be available on windows 11
I wish they’d roll out the fix to LTSC versions.
Good news, but the problem does not occur only with multiple monitor. I have this problem everyday on all PC with a single monitor and still can’t find a solution
@ci4noz: There are actually multiple different problems caused by hotplug detection. But not all problems are created equal. Your specific problem is actually very different from the problem discussed in this thread.
If you search for Displayport Hotplug problem you will find loads of people complaining about this, starting from many many years back. You will also find a lot of suggestions of things to try.
One of the solutions often mentioned is to disable USB selective suspend setting in the Advanced Power Options. This solutions does not work for the problem in this thread.
Another suggestion you often find is to go into device management, select “show hidden devices” and remove all monitors listed that are greyed out. Another way that is often described is to edit the registry for the same results. In this case the problem is caused because the resolution changes to “default windows settings” when you turn of your monitor, which causes Windows to rearrange your open windows so they will still fit on your monitor. This is most likely what is happening in your 1-monitor situation. So you may want to give that a try.
As for the problem discussed in this thread, the only solutions I know that actually work:
1. If your monitor has an option in the OSD menu to disable DCC (some Dell’s do for example)
2. If you have an nVidia Quadro graphics card, you can load the Edid settings from disk. Unfortunately this is not possible with nVidia’s Geforce GPUs.
3a. Create a hardware dongle that effectively keeps power on pin 18 (by connecting pin 20 with a resistor soldered inbetween). Schematics can be found easily if you google this. You have to do it like this, because unlike HDMI where you can just put tape over its hotplug pin, with Displayport the signal needs to be Up.
3b. If soldering is not your thing, there are also a few companies that sell these dongles ready made.
4. Use an *active* Displayport to HDMI converter and connect your monitor via a HDMI cable. Make sure it is an *active* type. Those unfortunately are the more expensive types, but should be available starting at around 10 to 15 dollars. The downside is that you will not be able to use refresh rates over 60 Hz, so no 144 Hz.
I really hope that Microsoft’s fix arrives soon. It has been years overdue and it would be the best of the solutions…. if it works. Keeping my fingers crossed.
All I can say is: FINALLY!! I’ve been using ShellFolderFix to fight this issue but it isn’t perfect.
Thank goodness this is getting some attention. It drives me crazy. I have 3 monitors and will change the input on one of them to work on a different system sometimes, while still wanting to view and use the other two monitors on the first system (I use Barrier to switch the keyboard and mouse between systems).
At random times, the hotplug detection will kick off for the monitor with the changed input, the resolution of the changed display gets changed, the windows rearrange, and Barrier gets confused, so I actually have to stop what I’m doing and change the input back to the first PC, let it fix the resolution, window positions, re-enable gsync, then swap back to the other input so I can continue working. It’s infuriating.
I’m hoping they allow you to disable hotplug detection entirely.
I’ve been using 2 monitors since it required 2 video cards and I’ve never had this issue.
Why would you leave programs open when your done using your pc? /dogheadtilt
>> Why would you leave programs open when your done using your pc?
If you actually bothered to read the article you’d know that this happens with DisplayPort connections (2 external screens with desktops, 1 with laptops) even while waking from sleep, so where does the question of “done using your pc” come in?
Last I checked they still haven’t solved the old windows not remembering their positions problem when you open and close them, which is why I still use ShellFolderFix to this day.
+1