Isaac Sim Version
6.0.1
6.0.0
5.1.0
5.0.0
4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):
Operating System
Ubuntu 24.04
Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):
GPU Information
- Model: RTX PRO 6000 Blackwell Q MAX
- Driver Version: 595.71.05
Topic Description
Headless rendering works perfectly. I cannot get an interactive GUI/livestream working because (a) WebRTC media needs UDP, which my network can’t carry, and (b) a headless NVIDIA Xorg fails at Failed to acquire modesetting permission because the container runs inside an unprivileged LXC that (by policy) can never be made privileged. Looking for any supported way to get an interactive view under these constraints.
Detailed Description
I run Isaac Sim 6.0.1 (nvcr.io/nvidia/isaac-sim:6.0.1) in Docker, and Docker itself runs inside an unprivileged LXC container (nested containerization). The LXC must remain unprivileged: 1 by policy — this cannot be changed, so --privileged and any DRM-master approach are permanently off the table. Remote access to the machine is TCP-only (SSH port-forwarding through a jump chain); there is no direct route and no way to carry UDP to the host.
My goal is an interactive Isaac Sim GUI (or an interactive livestream) that I can view remotely over this TCP-only connection.
Questions:
- Is there any supported way to run the interactive Isaac Sim GUI on a headless GPU inside an unprivileged container namespace (no DRM master, no privileged mode), viewable over a TCP-only connection?
- For the “backbuffers are not initialized” failure when rendering the GUI into a virtual display (Xvfb): is there a renderer/Kit setting that lets the RTX viewport render without creating a presentation swapchain (render offscreen and composite into the X window), so a normal X → VNC → TCP path could scrape it?
- Is there a WebRTC livestream configuration that operates fully over TCP (TCP media / ICE-TCP relay), so it could pass through an SSH tunnel without any UDP?
- If none of the above is possible, is the officially supported answer for this class of environment (unprivileged container + TCP-only) effectively “headless + programmatic rendering only” (Replicator / camera annotators / offscreen frames), with no interactive GUI?
Steps to Reproduce
-
Run
nvcr.io/nvidia/isaac-sim:6.0.1in Docker with--network=host --user root, where Docker itself is inside an unprivileged LXC./dev/nvidia-modeset(195:254) is passed into the container; host hasnvidia-drm modeset=1(/sys/module/nvidia_drm/parameters/modeset=Y). -
Attempt an interactive view via any of: (a) WebRTC livestream, (b) windowed GUI rendered into Xvfb + x11vnc/noVNC, (c) a headless NVIDIA Xorg with
AllowEmptyInitialConfiguration+ x11vnc. -
Headless (
./runheadless.sh) succeeds; all three interactive paths fail as described.
Error Messages
GUI into a virtual display (Xvfb), repeating indefinitely:
[Error] [omni.kit.renderer.plugin] advanceCurrentFrame: backbuffers are not initialized!
Headless NVIDIA Xorg — GPU is found correctly:
(--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:xxx:0:0
(II) NVIDIA(0): NVIDIA GPU NVIDIA RTX PRO 6000 Blackwell ... (GB202GL-A) at PCI:xxx:0:0 (GPU-0)
…then fails fatally:
(EE) NVIDIA(GPU-0): Failed to acquire modesetting permission.
(EE) no screens found
Additional Information
What I’ve Tried
- WebRTC livestream (native client and Docker Compose web viewer): not viable — media requires UDP (47998), which cannot traverse my TCP-only SSH tunnel; opening TCP-only is documented as insufficient.
- Windowed GUI into Xvfb + x11vnc/noVNC (pure TCP): fails with
backbuffers are not initialized. Tried both a bare Xvfb and a full window manager (fluxbox) withXvfb +extension GLX +render. My reading is that the RTX renderer still attempts a Vulkan swapchain/presentation surface even against a virtual display, and surface creation fails here. - Headless NVIDIA Xorg (
nvidiadriver +AllowEmptyInitialConfiguration, then x11vnc over TCP): got furthest — Xorg finds the GPU, loads GLX, enumerates outputs — but fails atFailed to acquire modesetting permission. This persists with--cap-add SYS_ADMIN,--cap-add SYS_RAWIO, and evendocker --privileged. Since the whole setup is inside an unprivileged LXC, I believe no inner-Docker capability can grant DRM master.