How to Disable Auto-Resizing VM Display in ESXi 6.5 Web Console After VMware Tools Installation


2 views

After installing VMware Tools on an ESXi 6.5 virtual machine, many administrators notice an unwanted behavior where the VM's display resolution automatically adjusts to match the web console window size. This becomes particularly problematic when:

  • Working with applications that require fixed resolutions
  • Maintaining consistent screen layouts across sessions
  • Using remote desktop protocols that conflict with dynamic resizing

The automatic resolution adjustment is actually a feature (not a bug) designed to enhance user experience in typical scenarios. However, for production environments or specific use cases, this "helpful" feature becomes a nuisance. The web console in ESXi 6.5 implements this through:

vmx svga.autodetect = "TRUE" (default)
vmx svga.maxWidth = "dynamic"
vmx svga.maxHeight = "dynamic"

To lock the resolution, you'll need to modify the VM's configuration parameters. Here's the most reliable method I've found after testing multiple approaches:

# Power off the VM first
# Edit the VMX file directly or use ESXi CLI:

vim-cmd vmsvc/getallvms | grep [your-vm-name]
vim-cmd vmsvc/get.config [vmid] | grep svga

# Add these lines to the VMX file:
svga.autodetect = "FALSE"
svga.maxWidth = "1920"
svga.maxHeight = "1080"
monitor_force.vga_width = "1920"
monitor_force.vga_height = "1080"

For those managing multiple VMs, here's a PowerCLI script to apply these settings across your environment:

$vms = Get-VM | Where {$_.PowerState -eq "PoweredOff"}
foreach ($vm in $vms) {
    $spec = New-Object VMware.Vim.VirtualMachineConfigSpec
    $spec.extraConfig += New-Object VMware.Vim.OptionValue -Property @{
        Key = "svga.autodetect"; Value = "false"
    }
    $spec.extraConfig += New-Object VMware.Vim.OptionValue -Property @{
        Key = "svga.maxWidth"; Value = "1920"
    }
    $spec.extraConfig += New-Object VMware.Vim.OptionValue -Property @{
        Key = "svga.maxHeight"; Value = "1080"
    }
    $vm.ExtensionData.ReconfigVM($spec)
}

If the changes don't take effect:

  1. Verify VMware Tools is properly installed (check running processes)
  2. Ensure the VM was powered off before making changes
  3. Check for duplicate entries in the VMX file
  4. Try lower resolution values if your hardware doesn't support the specified resolution

For Linux VMs, you can also configure Xorg to override the dynamic resolution:

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth 24
    SubSection "Display"
        Depth     24
        Modes     "1920x1080"
    EndSubSection
EndSection

Many administrators encounter this frustrating behavior: After installing VMware Tools on a virtual machine in ESXi 6.5's web-based console, the guest OS display automatically resizes to match the browser window dimensions. While this feature aims to improve usability, it becomes problematic when you need:

  • Consistent screen resolution for remote sessions
  • Stable application layouts
  • Predictable GUI element positioning
  • Multi-monitor configurations

The commonly suggested solution of setting SVGA parameters in the VMX file often doesn't work in ESXi 6.5's web console environment because:

svga.MaxWidth = "1920"
svga.MaxHeight = "1080"

These parameters were designed for the legacy vSphere Client, not the HTML5-based web interface. The web console implements a different display management system.

For Windows Guests

Modify the VMware Tools configuration through the registry:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Tools]
"EnableDynamicResize"=dword:00000000

Alternatively, use PowerShell:

Set-ItemProperty -Path "HKLM:\SOFTWARE\VMware, Inc.\VMware Tools" -Name "EnableDynamicResize" -Value 0
Restart-Service VMTools -Force

For Linux Guests

Edit the Xorg configuration file (location may vary by distribution):

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth 24
    SubSection "Display"
        Depth     24
        Modes     "1920x1080"
    EndSubSection
EndSection

Then restart the X server or reboot the VM.

Sometimes the simplest solution is to lock the resolution at the OS level:

  • Windows: Use Display Settings to set a fixed resolution
  • Linux: Use xrandr or display managers
  • Mac OS: Use System Preferences > Displays

If the problem persists, check these logs:

Windows: C:\ProgramData\VMware\VMware Tools\vmtoolsd.log
Linux: /var/log/vmware-tools.log
ESXi Host: /var/log/vmkernel.log

Remember that disabling auto-resize means you'll need to use the console's scroll bars when working with resolutions larger than your browser window. For optimal results:

  1. Set both the VM and guest OS to matching resolutions
  2. Consider using RDP/VNC for better remote display control
  3. Test changes in a development environment first