When you create certain Horizon 7 for Linux virtual machines, you must change the memory settings and configuration parameters to the minimum values recommended.

Virtual machines that are configured to use NVIDIA vDGA use the NVIDIA physical graphic card. Virtual machines that are configured to use NVIDIA GRID vGPU use the NVIDIA virtual graphic card, which is based on the NVIDIA physical graphic accelerator. You do not need to change the Video Memory (vRAM) settings and configuration parameters for these virtual machines.

Virtual machines that are configured to use 2D or vSGA graphics use the VMware virtual graphic card and you must change the following settings for these types of virtual machines:

  • Video Memory (vRAM) settings

  • Configuration parameters

  • 3D Memory settings

  • vCPU and virtual memory settings for performance requirement

Video Memory (vRAM) Settings

When you create a Linux virtual machine in vSphere Client, configure the vRAM size as shown in 1. Set the vRAM size that is recommended for the number and resolution of the monitors that you configure for the virtual machine.

Table 1. Recommended vRAM Settings for 2D or vSGA Graphics

vRAM Size

Number of Monitors

Maximum Resolution

10 MB

1

1600x1200 or 1680x1050

12 MB

1

1920x1440

32 MB

1

2560x1600

48 MB

2

2048x1536

80 MB

2

2560x1600

128 MB

3

2560x1600

128 MB

4

2560x1600

These vRAM sizes are the minimum recommendations. If more resources are available on the virtual machine, set the vRAM to larger values for improved video performance.

10 MB is the minimum vRAM size recommendation for a machine that is configured with a single monitor at the lowest resolution.

You must power off the virtual machine to set the number of displays and the amount of video memory to use, as described in Create a Virtual Machine and Install Linux.

Horizon Connection Server 7 does not automatically configure the vRAM settings on Linux virtual machines like it does on Windows virtual machines. You must manually configure the vRAM settings in vSphere Client.

If a Linux virtual machine is configured with a smaller vRAM size than is recommended, the following issues might occur:

  • Desktop sessions might be disconnected right after the initial connection is made.

  • Autofit might fail to work. The desktop is then displayed in a small area of the screen.

If a Linux virtual machine's Number of displays value is less than the actual required count, one or more monitors will display blank for the desktop.

If you encounter an autofit issue with the recommended settings, you can specify a larger vRAM size. vSphere Client permits a maximum vRAM size of 128 MB. If your specified size exceeds 128 MB, you must modify the vmx configuration file manually. The following example specifies a vRAM size of 256 MB:

svga.vramSize = "268435456"

Configuration Parameters

To display the Linux remote desktop on multiple monitors, you must set certain configuration parameters for the virtual machine. The general steps to set a configuration parameter for a virtual machine are as follows:

  1. Power off the virtual machine.

  2. In the vSphere Web Client, right-click the virtual machine and select Edit Settings.

  3. Click the VM Options tab and click Advanced.

  4. Click Edit Configuration and then Add Row.

  5. Enter the configuration parameter name and value.

  6. Click OK to save the changes.

You must set the following configuration parameters:

  • Set svga.autodetect to false.

    svga.autodetect="false"
  • Calculate the svga.maxWidth and svga.maxHeight values according to the number and orientation (horizontal or vertical) of the display monitors. The general rule is that the svga.maxWidth and svga.maxHeight values must be large enough to support all the displays. For example, to support 4 displays at the maximum resolution of 2560x1600, you must set the following values:

    svga.maxHeight="3200"
    svga.maxWidth="10240"
  • For RHEL 6.8, CentOS 6.8, and Ubuntu 16.04 that are running on vSphere 6.0 or later, the maximum screen size for 2D and vSGA is 4096x4096. Set the following option to get a screen size of 8192x8192.

    mks.enable3d = TRUE
  • For RHEL 6.8, CentOS 6.8, and SLED 11 SP3/SP4 that are running vSphere 5.5 U3, set the following option. Do not set this option for other distributions or your virtual machine will fail to start.

    svga.capabilitiesMask="0xFF7FFFFF"

If you have multiple monitors, you must set these configuration parameters. Otherwise, you might encounter one or more of the following problems:

  • The desktop is displayed on some of the monitors and the other monitors are blank.

  • A keystroke is displayed multiple times.

  • The desktop becomes very slow.

  • The desktop is displayed in a small area of the screen.

vCPU and Memory Settings

To improve the performance of a 2D or vSGA desktop, set more vCPUs and virtual memory for the Linux virtual machine. For example, set two vCPUs and two GB of virtual memory.

For the large screen of multiple monitors, such as four monitors, set 4 vCPUs and 4 GB of virtual memory for the virtual machine.

For the video playback purpose in a 2D or vSGA desktop, set 4 vCPUs and 4 GB of virtual memory for the virtual machine.

3D Memory Settings

To improve performance in a vSGA multiple monitor environment, set the 3D Memory setting for the virtual machine to 1 GB or larger.