Linux Troubleshooting — Omniverse Kit (original) (raw)

Instructions for resolving issues when running Omniverse-kit on Linux.

Q1) How to install a driver.#

Q2) Omniverse kit logs only listed one of my GPUs, but nvidia-smi shows multiple GPUs.#

How to support enumeration of multiple GPUs in Vulkan

Q3) How to verify a correct Vulkan setup with vulkaninfo or vulkaninfoSDK utility#

Q4) I have a single GPU, but I see multiple GPUs of the same type reported in Omniverse kit logs.#

Q5) Startup failure with: VkResult: ERROR_DEVICE_LOST#

A startup device lost is typically a system setup bug. Potential bugs:

  1. A bad driver installation.
    • Uninstall and re-install it.
  2. Driver bugs prior to the 460.67 driver when you have different GPU models. e.g. Turing + Ampere GPUs.
    • Solution: Install driver 460.67 or higher, which has the bug fix.
    • Workaround on older drivers: Remove Non-rtx cards, and re-install the driver after removing any GPU.
    • This issue has been known to crash other raytracing applications. However, regular raster vulkan applications won’t be affected.
    • If you have multiple GPUs, --/renderer/activeGpu=1 setting cannot change this behavior.
  3. Old Shader caches are left in the folder
    • Delete the contents of folder /home/USERNAME/.cache/ov/Kit/101.0/rendering
    • It is known with omniverse-kit SDK packages that are not built from the source, or not using the omniverse installer to remove the caches.

Q6) Startup failure with: GLFW initialization failed#

This is a driver or display issue:

Q7) Startup failure with: Failed to find a graphics and/or presenting queue.#

Q8) Startup failure for carb::glinterop with X Error of failed request: GLXBadFBConfig#

OpenGL Interop support is optional for RTX renderer in the latest build, and is only needed for Storm renderer. However, such failures typically reveals other system setup issues that might also affect Vulkan applications.

Q9) How to specify what GPUs to run Omniverse apps on#

Note

Q10) Viewport is gray and nothing is rendered.#

This means that RTX renderer has failed and the reason of the failure will be printed in the full .log file as errors, such as an unsupported driver, hardware or etc. The log file is typically located at /home/USERNAME/**/logs/**/*.log

Q11) Getting spam of failures: Failed to create change watch for xxx: errno=28, No space left on device#

This is a file change watcher limitation on Linux which is usually set to 8k. Either close other applications that use watchers, or increase max_user_watches to 512k. Note that this will increase your system RAM usage.

To view the current watcher limit:#

To update the watcher limit:#

You may follow the full instructions listed for Visual Studio Code Watcher limit

Q12) How to increase the file descriptor limit on Linux to render on more than 2 GPUs#

If you are rendering with multiple GPUs, file descriptor limit is required to be increased. The default limit is 1024, but we recommend a higher value, like 65535, for systems with more than 2 GPUs. Without that, Omniverse applications will fail during the creation of shared resources, such as Vulkan fences, and will lead to crash at startup.

To increase the file descriptor limit#