Pixal3D-ComfyUI now has a guarded installer for ComfyUI Manager, portable Windows builds, normal venv installs, and Linux installs.
The installer does three things:
- Installs
requirements.txtinto the Python that is running ComfyUI. - Detects OS, Python ABI, PyTorch, CUDA, GPU, and import status.
- Optionally installs exact known Pixal3D CUDA extension wheels if explicitly enabled.
It does not install CUDA libnatten by default, and it does not change PyTorch.
requirements.txt installs plain natten==0.21.6 as the baseline package. That is not the same as a CUDA libnatten build; strict NAF still requires natten.HAS_LIBNATTEN == True.
If you prefer package-style installs, pip install . and uv pip install . read pyproject.toml, which mirrors the baseline runtime dependencies from requirements.txt. CUDA wheels are still manual or opt-in because they must match the exact Python/PyTorch/CUDA/platform stack.
Manager should run requirements.txt and install.py during node installation/update.
After install, restart ComfyUI and run Pixal3D Environment Check.
From the portable root:
python_embeded\python.exe -s ComfyUI\custom_nodes\Pixal3D-ComfyUI\install.pyCheck only:
python_embeded\python.exe -s ComfyUI\custom_nodes\Pixal3D-ComfyUI\install.py --checkInstall known exact CUDA wheels when the detected stack is in the bundled wheel map:
set PIXAL3D_INSTALL_KNOWN_CUDA=1
python_embeded\python.exe -s ComfyUI\custom_nodes\Pixal3D-ComfyUI\install.pyThe known wheel map currently covers selected Windows cp312 stacks from the documented Pozzetti wheel URLs. If your stack is not listed, the installer prints the detected key and links you back to the wheel docs.
FlashAttention 2 or 3 remains a prerequisite. --install-known-cuda installs Pixal3D extension groups such as flex_gemm, cumesh, o_voxel, and drtk; it does not install FlashAttention.
Native Windows libnatten is not installed automatically. Upstream NATTEN points Windows users to MSVC source builds. Use naf_mode=fallback_if_missing unless you build NATTEN/libnatten yourself.
From the ComfyUI root:
venv\Scripts\python.exe custom_nodes\Pixal3D-ComfyUI\install.pyCheck only:
venv\Scripts\python.exe custom_nodes\Pixal3D-ComfyUI\install.py --checkInstall exact known Pixal3D CUDA extension wheels:
set PIXAL3D_INSTALL_KNOWN_CUDA=1
venv\Scripts\python.exe custom_nodes\Pixal3D-ComfyUI\install.pyPackage-style dependency install from the node folder:
venv\Scripts\python.exe -m pip install .
uv pip install --python venv\Scripts\python.exe .From the ComfyUI root:
./venv/bin/python custom_nodes/Pixal3D-ComfyUI/install.pyCheck only:
./venv/bin/python custom_nodes/Pixal3D-ComfyUI/install.py --checkPackage-style dependency install from the node folder:
./venv/bin/python -m pip install .
uv pip install --python ./venv/bin/python .Linux generally has an easier path for NATTEN/libnatten because upstream NATTEN publishes wheel commands for Linux/WSL NVIDIA users. You still need matching PyTorch/CUDA wheels or local source builds for FlashAttention and the Pixal3D CUDA extensions.
For the full manual Linux/WSL install path, including flash-attn, flex_gemm, cumesh, o_voxel, drtk, optional nvdiffrast/nvdiffrec_render, and verification commands, see Linux / WSL CUDA Requirements.
Install official NATTEN+libnatten when the detected Linux/WSL stack is in the upstream wheel map:
PIXAL3D_INSTALL_NATTEN=1 ./venv/bin/python custom_nodes/Pixal3D-ComfyUI/install.pyor:
./venv/bin/python custom_nodes/Pixal3D-ComfyUI/install.py --install-nattenKnown NATTEN tags from upstream:
| PyTorch | CUDA | Package |
|---|---|---|
2.11 |
cu130 |
natten==0.21.6+torch2110cu130 |
2.11 |
cu128 |
natten==0.21.6+torch2110cu128 |
2.11 |
cu126 |
natten==0.21.6+torch2110cu126 |
2.10 |
cu130 |
natten==0.21.6+torch2100cu130 |
2.10 |
cu128 |
natten==0.21.6+torch2100cu128 |
2.10 |
cu126 |
natten==0.21.6+torch2100cu126 |
comfy-env is good when a node has a reliable environment map for every supported stack. TRELLIS2 uses it to run install() and setup_env() from tiny install.py and prestartup_script.py files.
Pixal3D-ComfyUI does not use full comfy-env automation yet because the difficult part is not pure dependency installation. It is exact CUDA wheel availability:
Python ABI
PyTorch ABI
CUDA runtime
OS wheel tag
GPU architecture
NATTEN/libnatten availability
The current installer is deliberately safer:
- installs pure Python deps everywhere,
- never changes Torch,
- installs plain
natten==0.21.6only as a baseline import/runtime package, - can install known exact CUDA wheels only when explicitly enabled,
- tells users exactly what is missing.
If a broader verified wheel index becomes available, comfy-env can be added later as a second install mode.
| Mode | Pure deps | Known CUDA wheels | NATTEN strict NAF |
|---|---|---|---|
| ComfyUI Manager | Yes | Pixal3D extensions explicit only | Manual/source build |
| Windows portable | Yes | Pixal3D extensions explicit exact-match only | Manual/source build |
| Windows venv | Yes | Pixal3D extensions explicit exact-match only | Manual/source build |
| Linux venv | Yes | Manual for now | Easier via upstream NATTEN wheels if stack matches |
- Do not run
pip install torchfrom this node. - Do not treat plain
nattenas strict NAF support; checknatten.HAS_LIBNATTEN. - Use
--no-depsfor CUDA wheel URLs inside an existing ComfyUI environment. - Restart ComfyUI after changing wheels.
- Confirm with Pixal3D Environment Check before loading the model.