This page outlines the steps you must perform to prepare a physical Linux machine for use in a desktop pool.


  • Verify that the physical machine is running a supported version of RHEL 8.x or 9.x, as described in Supported Linux Distributions for Horizon Agent. Horizon Agent is only supported on physical machines running the RHEL distribution.
  • To support software encoding in remote desktop sessions, verify that the physical machine is equipped with an NVIDIA GPU.
  • To support hardware encoding in remote desktop sessions, verify that the physical machine is equipped with an NVIDIA GPU that supports all the following features:
    • NVIDIA Capture SDK, including the NVIDIA Framebuffer Capture (NVFBC) API
    • NVIDIA Encoder (NVENC)
    • H.264 hardware encoding
    For example, the following GPU models meet all the support requirements:
    • Tesla
    • Quadro K2000 and later
    • Quadro M2000 and later
    • Quadro P2000 and later
    • Quadro RTX2000 and later

    Horizon Agent needs the GPU to support H.264 for performance requirements, in addition to the hardware encoding method you want to use for the rendering of remote desktop sessions. For information about the capabilities of specific GPUs, including supported encoding methods, refer to


  1. Open a Secure Shell (SSH) connection to the physical Linux machine.

    An SSH connection is recommended to perform Horizon Agent installation, upgrade, and uninstallation procedures on the machine. Alternatively, you can switch to a different console window (for example, press Ctrl+Alt+F3).

  2. Ensure that the machine host name is resolvable to
  3. If you are upgrading an existing version of Horizon Agent on the machine, stop the viewagent service.
    sudo systemctl stop viewagent
  4. Stop the X server and Gnome Display Manager (GDM) on the machine.
    sudo systemctl stop gdm
    sudo systemctl isolate
  5. Download and install Horizon Agent in unmanaged mode.

    For detailed installation instructions, see Install Horizon Agent on a Linux Machine. For information on unmanaged mode, see Command-line Options for Installing Horizon Agent for Linux.

    For example, the following commands can be used to install Horizon Agent in unmanaged mode.

    • Tarball installer:
      sudo ./ -M no -b <broker address> -u <user> -p <password> -d <domain>
    • RPM installer:
      sudo rpm -ivh VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm
      sudo /usr/lib/vmware/viewagent/bin/ -M no -b <broker address> -u <user> -p <password> -d <domain>
    Note: As an alternative to deploying the machine in unmanaged mode, you can configure the machine for direct connection using the Horizon Agent Direct-Connection Plug-In. For more information, see Horizon Agent Direct-Connection Plug-In on the VMware Horizon Documentation portal.
  6. After completing the Horizon Agent installation, configure the following settings in the /etc/vmware/config file.
  7. Restart the machine.

    Services that you stopped during the installation are resumed after the machine restarts.

  8. Configure the desktop environment.

    For more information, see Desktop Environment.

  9. Proceed to Prepare a Linux Machine for Remote Desktop Deployment.

Considerations for Physical Linux Machines

The following considerations apply to the physical machine after you install Horizon Agent.

  • To display the graphical desktop on the physical machine, you must press Ctrl+Alt+F7. To configure a different function key shortcut, use the DesktopWorker.ttyNum option in /etc/vmware/config, as described in Edit Configuration Files on a Linux Desktop.
  • If you add a monitor dynamically, you must restart the machine to detect the added monitor. Alternatively, you can reinstall Horizon Agent to enable detection of the added monitor.