ESX: Adding video resolution modes to Windows guest operating systems

 Taken from the http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1003&sliceId=1&docTypeID=DT_KB_1_1&dialogID=16568975&stateId=1%200%2016572032

 

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

Overview

To add additional video resolutions, several changes must be made to the virtual machine. Not all changes are required for all products and guests. The changes required are indicated by this article.
  1. Add additional video memory to the virtual machine, if required, to support the higher resolutions.
  2. Edit the virtual machine to expose a larger virtual monitor.
  3. Adjust the virtual machine drivers to add the new resolutions, if required.
  4. Set the resolution in the virtual machine to use the new resolutions.

Adjust the virtual machine’s video memory and virtual monitor size

  1. Power off the virtual machine.

  2. Open the .VMX file in a text editor.
  3. Calculate the amount of video memory required to support the highest desired resolution. Multiply the width by 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 the following line to the .VMX file and append the resulting value of the calculation:Note: The value must be evenly divisible by 65536 when the guest is running Windows. For more information, see Certain graphical elements are not drawn in a virtual machine running Windows (1001558).

     

    svga.vramSize =

    For example, to add the resolution 2560 x 2048 to a Workstation virtual machine. Multiply 2560 * 2048 * 4 = 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 the following line to increase the video memory available:

    svga.vramSize = 20971520  (This is with out quotes)

  4. 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 can not exceed the resolutions used to calculate the video memory size in step 3 or there is not enough video memory available to support the resolution.

    svga.maxWidth = 2560
    svga.maxHeight = 2048
     (Both are with out quotes)

    Note: Certain resolutions are not supported by all guests. Virtual machines running Netware or FreeBSD guest operating systems may not support this resolution change. For more information, see Guest Crashes If Display Settings Specify Too Large a Size on Too Many Monitors (1000229).

     

  5. Save the file and open the virtual machine.

Update the guest to support and use the new resolutions

Notes for Workstation 6.x, ESX 3.x - The version 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 running under the VMware software to support some additional video resolutions, as long as your combination of monitor and video hardware supports them. To do this, you edit the Windows registry in the guest operating system.

Caution: This article contains information about modifying the Windows registry. Before you modify the registry, make a backup copy of it and be sure that you understand how to restore the registry if a problem occurs. For instructions on creating and restoring backups of the registry and modifying registry entires, see http://support.microsoft.com/kb/136393.
  1. Open the Windows Registry editor. Click Start > Run, type regedit press Enter.
  2. Browse to the registry key:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmx_svga\Device0 .

  3. Create a new string value (REG_SZ ) for each new resolution. Name the new value Resolution.x, where x is a the next number in sequence after the highest number listed, for example Resolution.10, if Resolution.9 is the highest number currently listed. Always choose the next consecutive number after the highest in the list ensuring that you correctly identify the highest number. The values are not listed in numeric order.
  4. Modify the data in the new value. Enter the desired resolution using the format <width>x<height>. For example, to add a resolution of 1600 x 1024 pixels, enter1600x1024
  5. Repeat steps 3 and 4 for any other desired resolutions.
  6. Restart the guest operating system.
  7. Verify that the new resolutions are available. Log on as an administrator.
  8. Click Start > Settings > Control Panel > Display > Settings.
  9. Adjust the Screen Area slider control, an option for the new screen resolution should now be available.

     

    Note: Resolutions that are not supported by the physical monitor and video hardware are not available as a selection.

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.

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

The following table lists string values commonly used in pixel resolutions, and the corresponding hexadecimal value.

 

You can leave a response, or trackback from your own site.
Print This Post Print This Post



Further Reading

54 views

Leave a Reply

Twitter Delicious Facebook Digg Stumbleupon Favorites More
113 queries in 6.225 seconds.