Adding video resolution modes to Windows guest operating systems
search cancel

Adding video resolution modes to Windows guest operating systems

book

Article ID: 313896

calendar_today

Updated On:

Products

VMware VMware Desktop Hypervisor VMware vSphere ESXi

Issue/Introduction

This article provides steps for increasing the maximum video resolution supported in the guest operating system.

The video resolution sizes available to the guest operating system are limited by the hardware version of the virtual machine. Hardware version 7 allows for 128 MB of video memory. Hardware version 6 and earlier allow for 16 MB of video memory. For more information on hardware versions, see Virtual machine hardware versions (1003746).
 
Note: svga.autodetect = "TRUE" is recommended for current versions of Fusion, Workstation, and Player. With this option, the virtual machine will automatically use enough video memory for large resolutions and multiple displays, and VMware Tools will set the guest resolution appropriately.
Disabling svga.autodetect and specifying custom resolution limits should be reserved for very rare cases in hosted products.


Resolution

Overview


To add additional video resolutions, several changes must be made. Not all changes are required for all products and guests. The changes required are indicated by this article.

The first changes are to the virtual machine itself. Additional video memory must be added to the virtual machine, if required, to support the higher resolutions. The virtual machine must also be edited to supply a larger monitor for the guest operating system to use.

Changes are also required within the guest operating system. The VMware-supplied video driver may need to be adjusted to add the new resolutions, and the new, desired resolution must be set.
 

Virtual Machine Changes

 
  1. Power off the virtual machine.
  2. Open the .vmx file in a text editor.
  3. If you are using ESX, you can proceed to step 4.

    If you are using an older version of hosted product (Workstation, ACE, Player, Server, or Fusion), add this line so that video memory settings changes made here will be respected by the virtual machine and not overridden by VMware Tools:

    svga.autodetect = "FALSE"

    Note: If you are using ESX, this value is set by default.
     
  4. Calculate the amount of video memory required to support the highest desired resolution. Multiply the width by the height of the largest resolution desired, then multiply the result by 4. If the result exceeds 16777216 (or 4194304 for ESX Server), the video memory must be increased. Add or update this line in the .vmx file and then append the resulting value of the calculation:

    svga.vramSize =

    Example: To add the resolution 2560 x 2048 to a Workstation virtual machine, multiply 2560 * 2048 * 4 to get 20971520. This is the amount of memory in bytes required for the resolution. The result, 20971520 bytes, exceeds the default of 16777216 bytes. Therefore, you must add this line to increase the video memory available:

    svga.vramSize = 20971520

    Notes:
    • The value must be evenly divisible by 65536 when the guest is running Windows.
    • If the value exceeds the maximum video RAM supported by your hardware version, it is automatically adjusted to the maximum.
       
  5. Add or update the maxWidth and maxHeight values to provide the desired resolution. This value is used to report the maximum size of the attached virtual monitor to the guest operating system. Values cannot exceed the resolutions used to calculate the video memory size in step 4, to ensure that there is enough video memory available to support the resolution.

    svga.maxWidth = 2560
    svga.maxHeight = 2048


    Note: Certain resolutions are not supported by all guests. Virtual machines running Netware or FreeBSD guest operating systems may not support this resolution change. The value must be evenly divisible by 65536 when the guest is running Windows.
  6. If you are using more than one display monitor in the virtual machine, add the following line to the .vmx file.

    svga.numDisplays = "number_of_displays"
    If you are using two display monitors then the entry would be svga.numDisplays = "2"

    Note: If the above value is not declared, the virtual machine will default to one display monitor.
     
  7. Save the file and open the virtual machine.

 

Guest Operating System Changes


Note: For Workstation 6.x and higher, and ESX 3.x and higher, the versions of VMware Tools provided by these products are capable of updating the available display resolutions in the guest automatically. If you are using these products and have VMware Tools installed, skip to step 7.

You can modify a Windows guest operating system to support some additional video resolutions, as long as your combination of monitor and video hardware supports them. To do this, edit the Windows registry in the guest operating system after having installed VMware Tools.

Caution: This article contains information about modifying the Windows registry. Before making any registry modifications, ensure that you have a current and valid backup of the registry and the virtual machine. For more information on backing up and restoring the registry,.
 
Note: The preceding link was correct as of December 10, 2015. If you find that the link is broken provide a feedback and a VMware employee will update the link.
 
Note: Take a full backup of the registry prior to editing it. Do not skip this step.
  1. Open the Windows Registry editor. Click Start > Run, type regedit , and press Enter.
  2. The specific registry key will vary by version of Windows. Search (go to Edit > Find) for this key: vmx_svga . The correct key has several sub-keys, but it is the main key that should be edited.
  3. Create a new string value (REG_SZ ) for each new resolution. Name the new value Resolution.x , where x is one higher than the highest number listed. Ensure that you correctly identify the highest number, as the values are not listed in numerical order.
  4. Modify the data in the new value. Enter the desired resolution using the format WIDTHxHEIGHT . For example, to add a resolution of 1600 x 1024 pixels, enter 1600x1024 .
  5. Repeat steps 4 and 5 for any other desired resolutions.
  6. Restart the guest operating system.
  7. Log on as an administrator, and verify that the new resolutions are available:
     
    1. Go to Start > Settings > Control Panel > Display > Settings.
    2. Adjust the Screen Area slider control.

      Note: Resolutions that are not supported by the physical monitor and video hardware are not available to be selected.

 

Additional Information


The previous steps describe how to add video resolutions using string type values. However, the registry keys for existing resolutions in your guest operating system use hexadecimal value keys as REG_BINARY . To view the string equivalent of the resolution, double-click the value. The string representation is displayed on the right side followed by a period.

This table lists string values commonly used in pixel resolutions, and the corresponding hexadecimal value:

 

Hexadecimal value String value (pixels)
36,34,30 640
34,38,30 480
38,30,30 800
36,30,30 600
37,36,38 768
38,36,34 864
39,36,30 960
31,30,32,34 1024
31,30,35,30 1050
31,31,35,32 1152
31,32,38,30 1280
31,34,30,30 1400
31,34,34,30 1440
31,36,30,30 1600
31,32,30,30 1200
31,37,39,32 1792
31,33,34,34 1344
31,38,35,36 1856
31,33,39,32 1392
31,39,32,30 1920
 
 

Additional Information: