Skip to main content

2026 年 11 月 3 日

Wayland Support for Linux Desktops

Horizon Agent for Linux supports the Wayland display protocol on RHEL 10.2 and Ubuntu 26.04 for single-session virtual desktops, with a limited set of features.

Supported Scope

Wayland mode on RHEL 10.2 and Ubuntu 26.04 supports the following.

  • Single-session virtual desktops in manual, automated full-clone, and automated instant-clone pools
  • Gnome desktop environment
  • Virtual machines hosted on vCenter Server and ESXi
  • Horizon Connection Server 2606 or 2609
  • Horizon Client 2606 or 2609 for Windows, macOS, Linux, and Web
  • Horizon Agent for Linux 2609

Multi-session desktops, published desktops, and published applications are not supported in Wayland mode.

Core desktop connectivity and display rendering are production-ready. Some Remote Experience features are limited compared to X11 sessions. Validate specialized multimedia workflows before you migrate users to a Wayland environment.

Supported Features

The following features are supported on RHEL 10.2 and Ubuntu 26.04 Wayland desktops.

  • Single sign-on (SSO) and Greeter login with a local user
  • True SSO
  • Screen lock and unlock
  • Display topology changes
  • Multiple monitors
  • Clipboard redirection
  • Client Drive Redirection
  • USB redirection
  • Audio-in and audio-out
  • Printer redirection
  • Keyboard layout and locale synchronization
  • Session Collaboration
  • RPM installation (RHEL 10.2) and Easy install

Features That Are Not Supported

The following features and configurations are not currently supported on Wayland desktops.

  • Multi-session desktops and published applications
  • Physical machines and unmanaged mode
  • Smart card authentication and redirection
  • Webcam redirection and Real-Time Audio-Video
  • URL redirection and Browser Content Redirection
  • Screen-capture blocking and digital watermarks
  • DPI synchronization, display scaling, and 4K monitors
  • 3Dconnexion Mouse, Help Desk Tool, and Horizon Smart Policies
  • 3D graphics (vGPU)
  • FIPS mode
  • IPv6
  • FIDO2 redirection using USB redirection
  • MATE and KDE desktop environments
  • VDAC
  • Lossless PNG
  • RHEL 9.8 Wayland

System Requirements

  • Operating system: RHEL 10.2 or Ubuntu 26.04
  • Minimum Kernel version: RHEL 10.2: 6.12.0-211.37.1.el10_2.x86_64. Ubuntu 26.04: 7.0.0-31-generic.
  • CPU: 8 vCPUs minimum
  • Memory: 16 GB minimum
  • Privileges: Installation requires root privileges.

Dependency Packages

Install the following packages before you install Horizon Agent.

RHEL 10.2

sudo dnf install pipewire-devel libdrm-devel pulseaudio-utils kernel-headers-$(uname -r) kernel-devel-$(uname -r)

The dkms package is required only for USB redirection. If you plan to use USB redirection, enable the EPEL repository, and then install dkms.

sudo dnf install dkms

Ubuntu 26.04

sudo apt-get install -y libpipewire-0.3-0t64 libpipewire-0.3-dev libdrm2 libdrm-dev fuse3 linux-headers-$(uname -r)

The dkms package is required only for USB redirection. If you plan to use USB redirection, install dkms.

sudo apt-get install -y dkms

SELinux and Secure Boot

SELinux and Secure Boot are optional.

  • If you enable SELinux, the policy is applied to the driver.
  • If you enable Secure Boot, you must enroll the signing key after you install the agent. See the section "Enroll the Key for Secure Boot" in this topic.

To verify whether Secure Boot is enabled, run the following command.

mokutil --sb-state

Remove Xorg on Ubuntu 26.04

If you select Install third-party software for graphics and Wi-Fi hardware when you install Ubuntu 26.04 in a virtual machine, the Xorg binary can be present, which makes the system an X11 system. If the Xorg binary is present, remove it by running the following command.

apt purge xserver-xorg-core

Install Horizon Agent

Run the installation commands as the root user. Horizon Agent supports the tarball installer and Easy install on RHEL 10.2 and Ubuntu 26.04. The RPM installer applies to RHEL 10.2 only. For the installer parameters, see Command-line Options for Installing Horizon Agent for Linux.

Tarball installation

tar xvf Omnissa-horizonagent-linux-x86_64-2609-8.20.0-39391821414.tar.gz
cd Omnissa-horizonagent-linux-x86_64-2609-8.20.0-39391821414
./install_viewagent.sh -A yes

RPM installation (RHEL 10.2)

sudo rpm -ivh Omnissa-horizonagent-linux-2609-8.20.0-39391821414.el.x86_64.rpm

Restart the Linux machine after the installation.

Enable USB Redirection

To add USB redirection, use the -U yes parameter with the tarball installer, or run viewSetup.sh -U yes after an RPM installation.

sudo ./install_viewagent.sh -A yes -U yes
sudo /usr/lib/omnissa/viewagent/bin/viewSetup.sh -U yes

The installer builds the VHCI driver and registers it with Dynamic Kernel Module Support (DKMS). For the requirements, including offline installation, see the "VHCI Driver for USB Redirection" section of System Requirements for Horizon Agent for Linux.

To verify the installation, run dkms status. The usb-vhci-hcd/1.15 module must be listed as installed.

Enroll the Key for Secure Boot

If Secure Boot is enabled, the installer prompts you to set a one-time password for the DKMS signing key. After the next restart, complete the following steps.

  1. When the key management screen appears, press a key to continue.
  2. Select Enroll MOK.
  3. Select Continue.
  4. Select Yes to enroll the key.
  5. Enter the password that you set during the installation.
  6. Restart the machine.

You must complete this procedure only once for each machine. The same key continues to work after kernel upgrades.

Enable True SSO

Complete the general True SSO setup first, then follow the procedure for your distribution. See Set Up True SSO for Linux Desktops, Configure True SSO for RHEL 10.x/9.x/8.x and Rocky Linux 9.x/8.x Desktops for RHEL, and Configure True SSO with SSSD on Ubuntu/Debian Desktops for Ubuntu.

To enable True SSO during a tarball installation, run the following command.

./install_viewagent.sh -A yes -T yes

To enable True SSO after an RPM installation, run the following command.

sudo /usr/lib/omnissa/viewagent/bin/viewSetup.sh -T yes

Enable Session Collaboration

Enable Allow Session Collaboration for the desktop pool in Horizon Console, and then complete the Enabling Session Collaboration on a RHEL 10.2 Desktop or Enabling Session Collaboration on an Ubuntu 26.04 Desktop sections of Configuring Session Collaboration on Linux Desktops. For Ubuntu 26.04, you'll complete the steps for Debian 13.x.

Verify the Services

After the installation, verify that the following services are running.

systemctl status viewagent
systemctl --user status pipewire.service
systemctl --user status wireplumber.service
lsmod | grep omnkms

If a service is not running, start it with systemctl start and check the status again. If pipewire.service does not start and reports ConditionUser=!root was not met, comment out the ConditionUser=!root line in /usr/lib/systemd/user/pipewire.service, run systemctl --user daemon-reload, and start the service again.

Configure Wayland Desktops

Multiple Monitors

Wayland desktops support up to four monitors with different resolutions. No additional agent settings are required. The agent mirrors the monitor layout configured on the client. If the client monitors are positioned with gaps or in a disconnected layout, the agent reproduces that layout, which can cause inaccurate input positioning.

Note: The maximum resolutions and monitor arrangements listed for X11 desktops in Features of Linux Desktops in Horizon 8 do not apply to Wayland desktops. However, the screen goes black if the width or height of any individual monitor exceeds 4096 pixels. To avoid this issue, keep the width and height of each monitor at or below 4096 pixels by reducing its resolution if necessary.

Multi-monitor performance depends partly on the Mutter compositor. Mutter can introduce additional display delay for monitors positioned to the right of the leftmost monitor. To improve performance, place the monitor that you use most frequently as the leftmost monitor.

If gnome-shell uses excessive CPU, reduce the number of graphics worker threads.

  1. Edit /etc/omnissa/config.

  2. Add or update the following setting. As a starting point, set the value to the number of connected monitors.

    DesktopWorker.llvmpipe.threadCount=<number>
    
  3. Restart the Horizon Agent service.

    sudo systemctl restart viewagent
    

Keyboard Layout and Locale Synchronization

Set the following options in /etc/omnissa/viewagent-custom.conf.

OptionDescriptionDefault
KeyboardLayoutSyncSynchronizes the client keyboard layout with the Wayland Linux agent. Set to true to enable.true
LocaleSyncSynchronizes the client localization settings with the Wayland Linux agent. Set to true to enable.false

Upgrade and Uninstall

To upgrade Horizon Agent, run the installer again. No additional installer parameters are required.

Operating system updates after you install Horizon Agent are supported, but you must rebuild the OMNKMS driver. Run the following commands.

sudo /usr/lib/omnissa/viewagent/bin/OmnkmsDriverScript.sh -b
sudo systemctl stop viewagent
sudo systemctl start viewagent

To uninstall Horizon Agent, run the command for your installer type, and then delete the configuration files in /etc/omnissa.

  • Tarball: sudo /usr/lib/omnissa/viewagent/bin/uninstall_viewagent.sh
  • RPM (RHEL 10.2): dnf remove Omnissa-horizonagent-linux-2609-8.20.0-39391821414.el.x86_64

Troubleshooting

Horizon Agent logs are located in /tmp/omnissa-root, /tmp/omnissa-hznblast, and /tmp/omnissa-<user>. To collect logs, run sudo /usr/lib/omnissa/viewagent/bin/dct-debug.sh. To change the logging level, edit /etc/omnissa/config and restart the Horizon Agent service.

Secure Boot key was not enrolled. If you missed the key enrollment screen, import the key again as the root user, and then restart and complete the enrollment.

cd /usr/lib/omnissa/viewagent/resources/omnkms
ls MOK.der

If MOK.der does not exist, run /usr/lib/omnissa/viewagent/bin/OmnkmsDriverScript.sh -b. Then run the following commands.

mokutil --import MOK.der
reboot

A new session does not start. Verify that no previous session is running, and clean up any residual sessions. Run the following commands as the root user.

  1. List the sessions.

    loginctl list-sessions
    

    No session must use seat-hznfake. If one is listed, terminate the user session.

    loginctl terminate-user <username>
    
  2. Verify whether any GNOME sessions are running.

    ps -ef | grep gnome
    

    If a session is listed as /usr/bin/gnome-shell --wayland --display-server --wayland-display=wayland-###, end its parent process.

    kill -9 <parent-process-PID>
    
  3. Verify whether any devices are present.

    ls /dev/dri
    

    For each card, check whether it is an OMNKMS-managed device. X is the card number.

    udevadm info /dev/dri/cardX | grep omnkms
    

    If an OMNKMS-managed card exists, restart the Horizon Agent service.

    systemctl stop viewagent
    systemctl start viewagent
    

    If the device still exists, check whether a process has opened it.

    lsof /dev/dri/cardX
    

    If a process has opened the device, end it.

    kill -9 <PID>
    
  4. Restart the Horizon Agent service again.

    systemctl stop viewagent
    systemctl start viewagent
    

此頁面對您有幫助嗎?

針對本主題提供意見回饋

本主題對您有幫助嗎?

請勿填寫任何個人或機密資訊。

正在產生連結…