11

I have a Windows 10 desktop that I run headless. When I plug in a display, it correctly uses that display's native resolution. When I disconnect the display and connect to the computer over VNC, the resolution is locked to 1024x768. There are several places to adjust the resolution (classic Control Panel, new Settings panel, Nvidia control panel) but all fail with various errors along the lines of "settings could not be saved."

Is it possible to change the display resolution to something under than 1024x768 when running headless?

2
15

I experienced something similar when trying to stream from a computer that only had network and power connected; here's what worked for me (source):

  1. Open regedit, navigating to
    HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
    
  2. Select key starting with SIMULATED, then child key 00
  3. Change the decimal value of PrimSurfSize.cx to the desired horizontal resolution (i.e 1920)
  4. Change the value PrimSurfSize.cy to the desired vertical resolution (i.e. 1080)
  5. Change the value Stride (for 1920x1080 this is 7680: ((1920 * 32 + 7) / 8))
  6. Select the child key of 00, also named 00, and change ActiveSize.cx to the same horizontal resolution value above
  7. Change the value of ActiveSize.cy to the same vertical resolution above
  8. While you can change the other values in this key that are set to 1024 and 768, I haven't noticed an impact.
6

It appears that with recent Windows versions the regedit paths had changed. Keys starting with SIMULATED are no longer showing up, but NOEDID are the ones to use (as of October 2020).

I managed to set the resolution by only changing PrimSurfSize.cx and PrimSurfSize.cy in a couple of places:

  1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers\Configuration\NOEDID_blah_change_me>\00
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\GraphicsDrivers\Configuration\NOEDID_blah_change_me>\00\00

Search for PrimSurfSize.cx and PrimSurfSize.cy and change the NOEDID ones as above, restart the machine.

Good luck. Hope this helps.

1
  • I'm not going to write as an answer because I'm not adding much - but, FYI to others, you don't need to restart the machine - go to computer management, right click the display adapter and select disable, then, enable it again and it should apply the new resolution. Mar 31 at 6:00
0

Either this has changed again in the current Win10 (Oct 2021), or it depends on various factors.

I had no "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration" keys starting in "NOEDID", just some (it seems) legacy 'SIMULATED' ones, but they didn't work. Registry spying with Process Monitor revealed it was

"MSNILSIMULATED_1414_008D_FFFFFFFF_FFFFFFFF_0^E05DF7FBE6BC1262616DEB19B2C37C01"

(the numbers may not be essential, just try your 'MSNILSIMULATED_" entry)

-1

After much trial and error, the actual fix is to install a virtual monitor. See the link https://www.amyuni.com/forum/viewtopic.php?t=3030

1
  • Welcome to Super User! Please quote the essential parts of the answer from the reference link(s), as the answer can become invalid if the linked page(s) change.
    – DavidPostill
    Jun 11 at 6:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.