I’ve installed Looking Glass client in the Debian VM host and Looking Glass host in Windows VM guest.
I have a monitor with only one DisplayPort 1.4 supporting 3440x1440@175Hz resolution and two HDMI 2.0 ports supporting 3440x1440@100Hz resolution.
I’ve connected the AMD GPU used by Debian VM host to the monitor using DisplayPort 1.4 to have the maximum supporting resolution and I’ve connected the NVIDIA GPU used by Windows VM guest to the monitor using HDMI 2.0.
But with this setup I have only 100 Hz refresh rate in the Windows which is not optimal.
I’ve found that I can use virtual display drivers instead of connecting my monitor to the Windows GPU to support higher resolution/refresh rate:
https://github.com/ge9/IddSampleDriver
https://github.com/itsmikethetech/Virtual-Display-Driver
But it seems that this solution have some problems with performance so I want to avoid it.
Then I’ve found that I can use DP/HDMI dummy plug and reflash/override its EDID to support higher resolution/refresh rate.
I’ve bought a DisplayPort dummy plug and connected it to the Windows GPU but it was detected as if it was connected using DVI instead of DisplayPort.
I’ve tried to override the EDID using Custom Resolution Utility (CRU) and add higher resolution/refresh rate in the DisplayID 1.3 extension block with “Automatic PC” timing and 3440x1440@175Hz resolution:
https://www.monitortests.com/forum/thread-custom-resolution-utility-cru
But Windows couldn’t detect/use this higher resolution/refresh rate. I guess it was because the DVI limitation.
Then I’ve tried to read my monitor EDID and flash it into this DisplayPort dummy plug using edid-rw:
https://github.com/bulletmark/edid-rw
But my monitor DisplayPort has 384 byte EDID and for some reason I can’t write more than 256 bytes using this tool.
Maybe it’s a driver limitation in Linux the as in Windows:
https://www.monitortests.com/forum/Thread-EDID-DisplayID-Writer
Due to driver limitations, this program can only read and write up to 256 bytes. That is enough for an EDID with one extension block or one DisplayID block. Any data beyond 256 bytes will be preserved.
I’ve tried writing some general EDID with DisplayID extension block containing higher resolution/refresh rate but this higher resolution/refresh rate wasn’t detected in Windows.
Then I’ve bought an HDMI dummy plug and connected it to the Windows GPU and tried to configure it to support higher resolution/refresh rate with HDMI 2.1 support by setting maximum FRL rate to 48 Gbps and adding higher resolution/refresh rate in the DisplayID 1.3 extension block with “Automatic PC” timing and 3440x1440@175Hz resolution and this higher resolution/refresh rate was detected in WIndows but when I try to change to this resolution from the default 3440x1440@60Hz it keeps switching back to 3440x1440@60Hz.
I’ve tried to both write EDID to the HDMI dummy plug and override EDID in Windows using CRU with no success.
It seems that it’s possible to patch the GPU driver in Windows to support higher pixel clock:
https://www.monitortests.com/forum/Thread-NVIDIA-Pixel-Clock-Patcher
But I want to avoid it as well.
So I want to ask, how do other people get the higher resolution/refresh in the Looking Glass host to be the same as the monitor in the Looking Glass client in such cases?