nomi-san / parsec-vdd

✨ Perfect 4K@240Hz Virtual Display
MIT License
1.78k stars 89 forks source link

Windows 10 Display Configurations Bug #23

Open nomi-san opened 3 months ago

nomi-san commented 3 months ago

On Windows 10, all connected display configurations will be saved in a specific registry. Each configuration is a combination of current connected displays and the key should be joined names of them. That will produce an issue that when you disconnect a middle display, then all others will be reset their configuration to default. I have not tested on Windows 11, but heard the display configurations system is smarter than Windows 10.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity

For example, you have plugged 3 displays, the registry keys look like:

DISP001                   // conf for display 1
DISP001_DISP002           // conf for display 1+2
DISP001_DISP002_DISP003   // conf for display 1+2+3
graph LR
Display1 .-> Display2 .-> Display3

Then you unplug the display 2, the registry keys look like:

DISP001                   // conf for display 1
DISP001_DISP002           // conf for display 1+2
DISP001_DISP002_DISP003   // conf for display 1+2+3
DISP001_DISP003           // conf for display 1+3 [new]
graph LR
Display1 .-> Display3 ~~~ Display2

The last registry key is added for display 1 and display 3, it has no configuration before, so these connected displays will be reset to default mode (resolution & refresh rate). To avoid this issue, please unplug each display from right to left (remove the latest first).

graph LR
Display1 ---x|2| Display2 ---x|1| Display3