Unreal Engine supports using SMPTE 2110 and Rivermax on Linux. This document explains the Linux-specific setup required to run the Rivermax UE plugin.
Prerequisites
You must meet the following prerequisites to use the Rivermax UE plugin on Linux.
Hardware
The hardware requirements for using SMPTE 2110 and Rivermax on Linux are the same as for Windows. Refer to the Setting Up SMPTE 2110 documentation for details on the hardware setup.
Software
Refer to the table below to find the version of Rivermax to use with UE on Linux.
Bluefield 2 and Bluefield 3
| Unreal Engine Version | Rivermax SDK Version | WinOF-2 Version | DPU Scripts Version |
|---|---|---|---|
5.8 | 1.90.18 | 25.7.50000 or later | 3.1.0, 3.3.0 |
Follow the Rivermax and Bluefield DPU instructions for deployment and installation provided by NVidia. Rivermax on UE uses the Dynamic Header Data Split feature. The following recommendations pulled from the Rivermax documentation are important:
Linux capabilities allow a non-root binary to perform specific privileged operations. The Rivermax library requires certain root permissions to run. Rather than running the entire editor as root, grant it only the two capabilities it needs.
Rivermax requires
CAP_NET_RAW(raw socket creation for DPCP) andCAP_SYS_NICE(real-time scheduling priority). Users without root access lack both by default.This must be repeated after every rebuild — the build system replaces the binary.
Capabilities cannot be set on binaries on network-mounted filesystems (NFS, SMB).
Setting capabilities requires root access.
Use the following command to grant the required access to the Rivermax library.
Command Linesudo setcap cap_net_admin,cap_net_raw+ep /path/to/Engine/Binaries/Linux/UnrealEditorIf the nosuid mount flag is used, setcap will be ignored.
To check if the Rivermax library has the required root capabilities:
Find the device that contains the UnrealEditor binary:
Command Linedf -P /path/toUE/Engine/Binaries/Linux/UnrealEditorOutput the device:
Command Line/dev/nvme2n1p1 ...Check the mount options for the device:
Command Linecat /proc/mounts | grep /dev/nvme2n1p1An example showing the problem with using nosuid:
Command Line/dev/nvme2n1p1 /media/nantstage/D ext4 rw,nosuid,nodev,relatime 0 0To apply an immediate fix, lost on next reboot, use the following command:
Command Linesudo mount -o remount,suid /dev/nvme2n1p1