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.
- When the key management screen appears, press a key to continue.
- Select Enroll MOK.
- Select Continue.
- Select Yes to enroll the key.
- Enter the password that you set during the installation.
- 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.
-
Edit
/etc/omnissa/config. -
Add or update the following setting. As a starting point, set the value to the number of connected monitors.
DesktopWorker.llvmpipe.threadCount=<number> -
Restart the Horizon Agent service.
sudo systemctl restart viewagent
Keyboard Layout and Locale Synchronization
Set the following options in /etc/omnissa/viewagent-custom.conf.
| Option | Description | Default |
|---|---|---|
| KeyboardLayoutSync | Synchronizes the client keyboard layout with the Wayland Linux agent. Set to true to enable. | true |
| LocaleSync | Synchronizes 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.
-
List the sessions.
loginctl list-sessionsNo session must use
seat-hznfake. If one is listed, terminate the user session.loginctl terminate-user <username> -
Verify whether any GNOME sessions are running.
ps -ef | grep gnomeIf a session is listed as
/usr/bin/gnome-shell --wayland --display-server --wayland-display=wayland-###, end its parent process.kill -9 <parent-process-PID> -
Verify whether any devices are present.
ls /dev/driFor each card, check whether it is an OMNKMS-managed device. X is the card number.
udevadm info /dev/dri/cardX | grep omnkmsIf an OMNKMS-managed card exists, restart the Horizon Agent service.
systemctl stop viewagent systemctl start viewagentIf the device still exists, check whether a process has opened it.
lsof /dev/dri/cardXIf a process has opened the device, end it.
kill -9 <PID> -
Restart the Horizon Agent service again.
systemctl stop viewagent systemctl start viewagent
Related Topics
此頁面對您有幫助嗎?