Failed to initialize graphics environment with VNC (original) (raw)
October 29, 2024, 7:41pm 1
Problem
I am attempting to run the Isaac Sim main application through a VNC desktop session. I have set the DISPLAY
environment variable to :4
. To enable server-side hardware rendering, I have installed and configured VirtualGL. However, when I try to execute the application using the command vglrun ./isaac-sim.sh
, the application crashes during startup with the following error messages:
Xlib: extension "NV-GLX" missing on display ":4".
2024-10-29 18:14:34 [3,612ms] [Error] [carb.graphics-vulkan.plugin] VkResult: ERROR_INITIALIZATION_FAILED
2024-10-29 18:14:34 [3,612ms] [Error] [carb.graphics-vulkan.plugin] vkCreateSwapchainKHR failed.
2024-10-29 18:14:34 [3,612ms] [Error] [carb.graphics-vulkan.plugin] Failed to create a swapchain.
2024-10-29 18:14:34 [3,612ms] [Error] [omni.kit.renderer.plugin] createSwapchain failed. Width: 1440, height: 900, Format: 9
2024-10-29 18:14:34 [3,613ms] [Error] [omni.kit.renderer.plugin] Failed to initialize graphics environment.
I have attached the complete run log from the Isaac Sim session below.
Additional Information
- VNC Configuration: I am running the app through a VNC desktop session with TigerVNC, and the
DISPLAY
variable is set to:4
. - VirtualGL: I have installed and verified VirtualGL functionality. The command
glxinfo
shows that the NVIDIA driver is being utilized, indicating that VirtualGL is set up correctly. - Local Execution: When I run the Isaac Sim application directly on a local physical display, it loads successfully without any errors.
- Vulkan Setup: I executed
vulkaninfo
within the VNC session, and it listed the GPUs correctly. I have provided the completevulkaninfo
output if needed. - NVIDIA Driver: I am using the dirver version
550.54.14
for my GPUs.
kit_20241029_140620.log (492.8 KB)
vulkaninfo.txt (204.2 KB)
Isaac Sim Version
4.2.0
Operating System
Ubuntu 22.04
I met the same issue under almost the same setting(with two 4090 GPUs). My solution is to set CUDA_VISIBLE_DEVICES to the same GPU used for display. But I don’t actually under stand the reason behind this :)