[Air-gapped Deployment] App exits due to dependency solver failure (omni.flowusd) despite disabling registry sync in offline L20 cluster
Isaac Sim Version [x] 4.5.0
Operating System [x] Ubuntu 22.04
GPU Information Model: NVIDIA L20 (8-GPU Cluster)
Topic Description Detailed Description I am trying to run Isaac Sim 4.5.0 (via OmniGibson / BEHAVIOR-1K) in a strictly air-gapped (offline) GPU cluster environment. To achieve this, I pre-downloaded all assets, the extscache folder (approx. 3.5GB), and the appdata registry caches from an online machine, and transferred them to the offline cluster via OSS.
To prevent Isaac Sim from attempting to fetch extension registries online, I modified the omnigibson_4_5_0.kit file to disable all network syncs (registryEnabled = false, syncRegistry = false, etc.). However, during startup, the SimulationApp still attempts to sync with the online registry, fails to resolve the omni.flowusd dependency locally, and immediately exits, ultimately resulting in a ModuleNotFoundError: No module named 'omni.kit.usd'.
I need guidance on how to completely bypass the online dependency solver and force Isaac Sim to strictly use the local extensions provided in the --ext-folder.
Steps to Reproduce
-
Run Isaac Sim on an online workstation to populate
extscacheandappdata/local/cache/Kit. -
Package and transfer the
extscacheto the offline cluster (/opt/conda/envs/behavior/lib/python3.10/site-packages/isaacsim/extscache). -
Package and transfer the registry indices to the offline cluster (
/opt/BEHAVIOR-1K/OmniGibson/appdata/local/...). -
Modify
omnigibson_4_5_0.kitto disable online registries:Ini, TOML
[settings.exts."omni.kit.registry.nucleus"] syncRegistry = false registries = [] [settings.app.extensions] registryEnabled = false skipSyncOutdated = true -
Launch the application with explicit local extension folders:
Bash
python eval.py policy=websocket task.name=turning_on_radio \ --ext-folder /opt/conda/envs/behavior/lib/python3.10/site-packages/isaacsim/extscache \ --ext-folder /opt/conda/envs/behavior/lib/python3.10/site-packages/isaacsim/exts
Error Messages
[00:00:09.374] [INFO] [omni.kit.registry.nucleus.registry_manager] 'trusted' is not set for registry 'kit/default' in '/exts/omni.kit.registry.nucleus/registries'
2026-03-30 11:59:29 [1,152ms] [Error] [omni.kit.registry.nucleus.index_v2.index_sync] Syncing registry index failed for url: 'https://ovextensionsprod.blob.core.windows.net/exts/kit/prod/106/shared/v2'. Exception: Failed to connect to the registry
...
2026-03-30 11:59:32 [4,099ms] [Error] [omni.ext.plugin] Failed to resolve extension dependencies. Failure hints:
[omnigibson_4_5_0-1.5.0] dependency: 'omni.flowusd' = { version='^' } can't be satisfied. Available versions:
(none found)
...
2026-03-30 11:59:32 [4,099ms] [Error] [omni.kit.app.plugin] Exiting app because of dependency solver failure...
...
ModuleNotFoundError: No module named 'omni.kit.usd'
Additional Information What I’ve Tried
-
Explicitly appending multiple
--ext-folderarguments in the launch command to point directly to the localextscacheandextsdirectories. -
Manually migrating the exact
local/cache/Kitandlocal/data/Kitdirectories from the online machine to ensure registry map consistency. -
Checking the local
extscachedirectory. Interestingly,omni.flowusddoes not seem to be packaged inside the downloadedextscacheon the online machine either.
Additional Context Is there an official script or standard procedure to package ALL required extensions (including lazy-loaded ones like omni.flowusd and omni.kit.usd) for a completely offline cluster deployment? I am running this for robotic VLA training without any internet access on the node.