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 requirements

Video Memory (vRAM) Settings

When you create a Linux virtual machine in vSphere Client, configure the vRAM size as shown in Table 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 2048x1536

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 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. To save the changes, click OK.
You must set the following configuration parameters:
  • Set svga.autodetect to 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 four displays at the maximum resolution of 2560x1600, you must set the following values:
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 slow.
  • The desktop is displayed in a small area of the screen.

Screen Size Limitation of 8192x8192 Monitors

For RHEL 6.8/6.9/6.10/7.3/7.4, CentOS 6.8/6.9/6.10/7.3/7.4, Ubuntu 16.04, SLED 12 SP2/SP3, and SLES 12 SP2/SP3, the maximum screen size for 2D and vSGA is 4096x4096. When you run the xrandr command, the first line of the output has maximum 4096x4096.

For Ubuntu 18.04, RHEL 7.5, and CentOS 7.5, the maximum screen size for 2D and vSGA is 8192x8192.

Multiple-monitor connection might require a screen size larger than 4096x4096. To bypass this limitation, use one of the following solutions:
  • If you have to use VMware Hardware version 11 (HWv11) or later for your virtual machine, add the following line into the virtual machine's VMX configuration file:
    mks.enable3d = TRUE

    With this solution, the Linux operating system can report 3D capabilities to software applications, such as Chrome. However, doing so might impact the Linux system's performance.

  • If your virtual machine can use VMware Hardware version 10, use the following line in your virtual machine's VMX file:
    virtualHW.version = "10"

    This solution is not applicable for RHEL 6.8 and CentOS 6.8.

    To make this solution work on Ubuntu 16.04 systems, you must install the latest patches from the official Ubuntu repositories.

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 2 vCPUs and 2 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.