Comfy-Org / Comfy-Org/ComfyUI

--disable-dynamic-vram flag needed for Jetson (ARM64/Unified Memory) devices — please don't remove

Open
#15,285 9 comments 1 reaction 1 assignee Claimed by @rattus128 View on GitHub
Dominant language
Python
Stars
133k
Forks
15.7k
Avg merge
1d 7h
Merged PRs (30d)
158

Description

**Is your feature request / bug report related to a problem? Please describe.**

I am running ComfyUI on a **NVIDIA Jetson AGX Orin (32 GB)** with the JetPack7.2/Linux-for-Tegra (L4T) image (ARM64/aarch64, CUDA 13.2).

ComfyUI's **dynamic VRAM** system (powered by `comfy-aimdo`) is designed for discrete GPUs that have a **separate VRAM pool**. On the Jetson, VRAM and system RAM are the **same unified 32 GB pool** (UMA — Unified Memory Architecture). Because of this:

- When dynamic VRAM is enabled, `comfy_aimdo` reports/relies on a dedicated VRAM budget that does not reflect reality, and ComfyUI does not boot correctly or crashes during model loading.
- Launching with `--disable-dynamic-vram` works correctly and ComfyUI runs fine.

However, the startup warning says this argument "*will be removed soon*":

> [WARNING] Dynamic vram disabled with argument. ... this argument will be removed soon.

On a UMA/unified-memory device like the Jetson, disabling dynamic VRAM is the **recommended and only working** configuration, so removing the flag would make ComfyUI unusable on Jetson.

**Request**

Please either:

1. **Keep** `--disable-dynamic-vram` as a supported option, and automatically disable/avoid dynamic VRAM on ARM64/Jetson/unified-memory systems; OR
2. Detect unified-memory systems (e.g. Jetson) at startup and fall back to estimate-based model loading automatically.

**Environment**
- Device: NVIDIA Jetson AGX Orin (32 GB)
- Architecture: ARM64 / aarch64
- OS: JetPack L4T (Linux for Tegra)
- CUDA: bundled with JetPack 7.2 (13.2)
- ComfyUI: latest main
- comfy-aimdo: latest

**Additional context**

The relevant code path that enables dynamic VRAM is in `main.py`:

```
python
if args.enable_dynamic_vram or (enables_dynamic_vram() and comfy.model_management.is_nvidia() and not comfy.model_management.is_wsl()):
```

I believe is_nvidia() returns True on Jetson (it is an NVIDIA GPU), which is why ComfyUI tries to enable comfy-aimdo by default here — but comfy-aimdo is built around a discrete/VRAM-separated memory model. On Jetson (UMA), there is no separate VRAM pool, so comfy-aimdo's VRAM budgeting is incorrect and breaks ComfyUI.

Happy to provide verbose logs (--verbose DEBUG) or help test a Jetson detection fallback.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.