Why does this happen?
When connecting to a Windows computer you may notice that the list of resolutions in Windows' Display Settings is limited to a maximum of 1024x768 or 1280x1024.
This is caused by a limitation of Windows - since it cannot detect a connected display, a limited selection of "safe" resolutions is offered.
Is there a way to avoid this issue?
Connect a monitor to the RealVNC Server device and ensure it is powered on
If you are connecting to RealVNC Server on a physical computer, connect a monitor and ensure it is powered on. If you are connecting to a Virtual Machine, ensure that the Virtual Machine is configured to have an active graphical adapter and monitor device.
Connect a display emulation device to the RealVNC Server device
If you are connecting to RealVNC Server on a physical device, you can connect an EDID emulator to the RealVNC Server device. An example EDID emulator can be seen here.
Note: RealVNC has not tested this particular emulator and it is only provided as an example
Configure Windows to use a different resolution
It may be possible to force Windows to provide a specific resolution. This is usually only possible on desktop computers and not laptops.
PLEASE NOTE: The below option involves editing the Registry, and should only be attempted on a non-production/non-critical machine, before rolling out to your production environment. We recommend backing up the Registry prior to making any changes.
In this example, we will be setting a resolution of 1920x1080.
- Open Regedit
- Navigate to
HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
- Select the key(s) that start with the name
SIMULATED
(orNOEDID
ifSIMULATED
does not exist) and then select the child key named 00 - Change the value
PrimSurfSize.cx
to the desired horizontal resolution (1920). Be sure to select 'Decimal' when changing these values. - Change the value
PrimSurfSize.cy
to the desired vertical resolution (1080). - Select the child key of 00 also named 00.
- Change the value of
ActiveSize.cx
to the same horizontal resolution as before (1920). - Change the value of
ActiveSize.cy
to the same vertical resolution as before (1080).
After a reboot, the simulated display should now be at the resolution you set.
This method was sourced from https://superuser.com/questions/990398/setting-display-resolution-beyond-1024x768-with-headless-windows-10).
Comments
This is very helpful and seems to be going in the right direction. I have tried this and did not resolve the problem yet. I have also updated Stride and still not having any luck. Anything else that I should try?
As per the last comment. No effect at all :( Why Windows....why? Can someone have a go?
Same here, no joy. I'm not a huge fan of editing Windows registery but I was out of options. The article, references and general concept described here seem logical but have had absolutely zero effect on changing the resolution of a Windows VM. In my case, it's a Windows 10 VM running on Microsoft's cloud Azure services. 1920x1080 is what you're going to get with RealVNC regardless of how you set those registery keys.
I finally figured out how to get RDP to work with different resolutions ... now I just have to get realvnc in "user mode" to connect to the RDP session with the higher resolution. Not sure if this is going to work ... and seems a bit quirky ... but it'll have to do. :/
Please sign in to leave a comment.