Disable VM console display resizing

The other day my attention was drawn to an odd behavioural change when connecting to a VM using the VMware console, Web or Remote. This particular customer had an application which requires a specific resolution in order to function properly. When a user would open the remote console, it would automatically re-size the resolution to fit the window size. The behaviour was noticed shortly after an upgrade from vCenter 5.5 to VCSA 6.5, so the end users were not as fond of the VCSA as I was.

Attempting to force the resolution using the method defined in KB2058577 didnt help either as it would resize as soon as the window was modified. I was unable to find any other articles that had a permentant fix.

I got on the phone to support and didnt get much further, but they suggested updating tools to a newer version, so I went over to the release notes of some of the newer versions. Now, I am not entirely sure what introducted this behaviour, but what I do know is that in the release of VMware Tools 10.2.5 an option to disable the behavior was added.

To disable the auto resizing, add the advanced paramater guestInfo.svga.wddm.modeset="FALSE" to the virtual machine which is documented in KB53572.

Below are the steps that solved the problem for me:

  • Update VMware tools to 10.2.5
  • Set resolution to desired size using method in KB2058577 (This is to ensure the VM does not get stuck in a resolution it may have auto-sized to previously)
  • Shutdown VM
  • Upgrade VM hardware if required ( versions before 7 had a lower graphic memory allocation, will depend on your resolution, good opportunity to do it while the VM is offline)
  • Configure advanced option, PowerCLI method below:
$vmname = "AppServer-01"

$spec = New-Object VMware.Vim.VirtualMachineConfigSpec

$opt = New-Object VMware.Vim.OptionValue

$opt.Key = "guestInfo.svga.wddm.modeset"

$opt.Value = "FALSE"

$spec.ExtraConfig += $opt

$vm = Get-VM -Name $vmName


Once you power on the VM, it should retain the previously set resolution when you resize your remote console window. Note that you can force the resolution setting via group policy and probably skip the step to resize the resolution.