docs(comfyui): bake RTX VSR provisioning into canonical README
Record the RTXVideoSuperResolution node clone + the nvidia-vfx pip install (scoped --extra-index-url, uid 1000) in the stacks/comfyui runbook. Flag the durability split: the node is persistent (basedir/custom_nodes) but nvidia-vfx lives in the disposable venv (run/), so it must re-run after every fresh bootstrap. Deliberately not a global PIP_EXTRA_INDEX_URL (torch-pin safety). Closes the comfy-dev provisioning ticket.
This commit is contained in:
@@ -118,4 +118,49 @@ ssh irv-ml1 '
|
||||
```
|
||||
|
||||
User state under `/worktank/comfyui/basedir/` is untouched by either
|
||||
pattern.
|
||||
pattern. **But a `run/*` wipe drops any pip deps that live only in the
|
||||
venv — see RTX VSR below; re-run its pip step after every fresh bootstrap.**
|
||||
|
||||
## Custom nodes needing extra provisioning — RTX Video Super Resolution
|
||||
|
||||
The **RTX Video Super Resolution** node (`Nvidia_RTX_Nodes_ComfyUI`, Comfy-Org)
|
||||
needs the NVIDIA MAXINE Video Effects SDK bindings (`nvidia-vfx`, import name
|
||||
`nvvfx`), served from NVIDIA's package index, not public PyPI. Two pieces with
|
||||
**different durability**:
|
||||
|
||||
| Piece | Lives in | Survives a `run/*` venv wipe? |
|
||||
|---|---|---|
|
||||
| the node `Nvidia_RTX_Nodes_ComfyUI` | `basedir/custom_nodes/` (persistent, restic-included) | yes |
|
||||
| the `nvidia-vfx` wheel | the venv under `run/` (disposable, restic-excluded) | **NO — re-install it** |
|
||||
|
||||
So the node itself is durable, but **any venv rebuild (`rm -rf run/*`, the
|
||||
fresh-bootstrap on an image bump) drops `nvidia-vfx`** and the node breaks on
|
||||
`import nvvfx` until it's reinstalled. irv-ml1 already meets the node's
|
||||
requirements (A6000 Ampere+ Tensor cores; driver 595.58 ≥ 590.44; container OS
|
||||
fine).
|
||||
|
||||
Provision from scratch — **both commands run as UID 1000**; a root / `-u 0`
|
||||
install corrupts venv ownership and crash-loops the boot torch step (see the
|
||||
`chown -R 1000:1000 venv` lesson):
|
||||
|
||||
```bash
|
||||
# 1. The node — only if basedir/custom_nodes was wiped (normally persistent):
|
||||
ssh irv-ml1 'git clone https://github.com/Comfy-Org/Nvidia_RTX_Nodes_ComfyUI \
|
||||
/worktank/comfyui/basedir/custom_nodes/Nvidia_RTX_Nodes_ComfyUI'
|
||||
|
||||
# 2. The pip dep — RE-RUN AFTER EVERY venv rebuild (it lives in the disposable venv):
|
||||
ssh irv-ml1 'docker exec -u 1000:1000 comfyui \
|
||||
/comfy/mnt/venv/bin/pip install nvidia-vfx --extra-index-url https://pypi.nvidia.com'
|
||||
|
||||
# Verify:
|
||||
ssh irv-ml1 'docker exec -u 1000:1000 comfyui \
|
||||
/comfy/mnt/venv/bin/python -c "import nvvfx; print(\"nvvfx OK\")"'
|
||||
```
|
||||
|
||||
The `--extra-index-url` is kept **scoped to this one install**, deliberately NOT
|
||||
promoted to a global `PIP_EXTRA_INDEX_URL` in compose: a fleet-wide extra index
|
||||
could perturb the delicate pinned torch/cuda + SageAttention resolution the boot
|
||||
bootstrap depends on (`DISABLE_UPGRADES=true`, torch 2.12.1). The node's own
|
||||
`requirements.txt` lists `nvidia-vfx`, so if ComfyUI ever auto-installs node
|
||||
requirements it will need this index reachable — but scoping it to the manual
|
||||
step keeps the boot bootstrap untouched.
|
||||
|
||||
Reference in New Issue
Block a user