how to change the video memory on vmware esxi
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
- Power off the virtual machine.
- Open the .vmx file in a text editor.
- If you are using ESX, you can proceed to step 4.
If you are using a 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.
- 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:
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
- 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).
- If the value exceeds the maximum video RAM supported by your hardware version, it is automatically adjusted to the maximum.
- 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 3, 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. For more information, see Guest Crashes If Display Settings Specify Too Large a Size on Too Many Monitors (1000229).
- 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 8.
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, see the Microsoft article 136393.
- Take a full backup of the registry prior to editing it. Do not skip this step.
- Open the Windows Registry editor. Click Start > Run, type regedit, and press Enter.
- 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.
- 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.
- 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.
- Repeat steps 4 and 5 for any other desired resolutions.
- Restart the guest operating system.
- Log on as an administrator, and verify that the new resolutions are available:
- Go to Start > Settings > Control Panel > Display > Settings.
- 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.
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)|
For older Windows operating systems, see Configuring the SVGA video driver on older versions of Windows virtual machines (1001819).