cancel
Showing results for 
Search instead for 
Did you mean: 

Changing Screen Resolution on Resource PC's running in "Headless" (No monitor connected) mode

MichaelBrown
Level 2
Most Windows machines default to 1024 x 768 for the screen resolution when they run in "Headless" mode. In order to change the default screen resolution some of the registry keys for the "SIMULATED" or "MSBDD" graphics drivers need to be changed. We've found in our environment the "SIMULATED" display shows up in Windows versions prior to the Win 10 1709 patch. Since the Win 10 1709 patch we see the "MSBDD" (Microsoft Basic Display Driver) driver in the registry.   Here are the instructions for the SIMULATED driver which was first posted on a Steam community forum (steamcommunity.com/app/353380/discussions/0/490125737470862532/) they work the same for the MSBDD. Open regedit and navigate to HKLM/SYSTEM/CurrentControlSet/Control/GraphicsDrivers/Configuration Select the key that starts with the name SIMULATED and then select the child key of SIMULATED... named 00 Change the value PrimSurfSize.cx to the desired horizontal resolution (1920 in my case). Be sure to select 'Decimal' when changing these values. Change the value PrimSurfSize.cy to the desired vertical resolution (1080 in my case). Change the value Stride, for 1920x1080 this is 7680. ((1920 * 32 + 7) / 8) Select the child key of 00 also named 00 Change the value of ActiveSize.cx to the same horizontal resolution as before Change the value of ActiveSize.cy to the same vertical resolution as before After a reboot without a display connected, the simulated display should now be at the resolution you set. Additional note for Resource PC's running on VMWare. In order to support higher screen resolutions such as 1920 x 1080 we had to change our default video memory from 8MB to 20MB in the VMWare settings.
3 REPLIES 3

MaxMcConchie
Level 5
Thanks Michael. Changing registry keys introduces more risk and overhead for supporting VDIs. We have been experiencing the issue of a lower runtime resolution across multiple clients and changing registry keys is simply not a viable solution. I'm wondering does anyone know of an alternate solution? Our IT area seems to have exhausted all options and have come up with nothing.  

AmiBarrett
Level 12
I ended up writing a powershell script to handle this. If it's a VM, it seems to be most reliable to unlock the session to desktop via tsdiscon, wait 2-5 seconds, then use powershell commands to change the screen resolution. This can be done with a hybrid batch/powershell combination, or entirely in powershell. The good news is, you only need to do it once. The semi-bad news, is that this will require administrator privileges in order to run. On most of our VMs, we've found that the maximum resolution we can set it to is 1200x800.

AmiBarrett
Level 12
Correction: 1280x800 .