Extension: omni.kit.compatibility_mode-1.5.3

Documentation Generated: Oct 09, 2025

Overview#

omni.kit.compatibility_mode handles GPU compatibility detection and manages application relaunching when RTX-capable hardware is not available. This extension automatically detects GPU capabilities and provides mechanisms to restart the application in non-RTX compatibility mode when necessary.

The extension loads very early in the startup process to ensure GPU compatibility checks occur before other systems initialize.

Concepts#

GPU Detection and Compatibility Modes#

The extension monitors GPU hardware changes and determines when the application should run in compatibility mode. When RTX-capable GPUs are unavailable, it can trigger an application relaunch with appropriate rendering fallbacks.

Relaunch Mechanism#

The extension provides a controlled relaunch process that preserves user workflow while switching to compatible rendering modes. This ensures applications remain functional across different hardware configurations.

Key Components#

CompatibilityMode Class#

The CompatibilityMode class serves as the primary interface for GPU compatibility management. It handles the decision-making process for when relaunches are necessary and manages the relaunch dialog presentation.

The class provides methods to:

  • Determine if a relaunch is required based on current GPU state

  • Display relaunch dialogs with customizable messaging

  • Generate additional command-line flags for compatibility mode

  • Detect available NVIDIA GPUs in the system

Settings Configuration#

The extension uses several settings to control compatibility behavior:

  • forceCompatibilityMode: Forces the application into compatibility mode regardless of GPU detection

  • enableRendererCompatibilityMode: Controls whether renderer compatibility mode is activated

  • disableRaytracing: Disables raytracing features when in compatibility mode

  • stormOnly: Restricts rendering to Storm renderer only in compatibility mode

  • knownGPUs: Maintains a persistent list of known GPUs to detect hardware changes

  • startupDialogWait: Controls the number of frames before showing compatibility dialogs

Usage Examples#

import omni.kit.compatibility_mode

# Create a compatibility mode handler
compat_mode = omni.kit.compatibility_mode.CompatibilityMode()

# Check if relaunch is needed
if compat_mode.should_relaunch():
    # Show relaunch dialog with custom message
    compat_mode.show_relaunch_dialog(
        message="Your GPU requires compatibility mode for optimal performance.",
        title="GPU Compatibility"
    )

# Get detected NVIDIA GPUs
gpus = omni.kit.compatibility_mode.CompatibilityMode.get_nvidia_gpus()
print(f"Detected GPUs: {gpus}")

# Retrieve additional flags for relaunch
flags = compat_mode.get_additional_flags()