Initial: ComfyUI + Trellis2 on Rocky 9.x / RTX 4090
Documents all pitfalls encountered during setup: - CUDA arch mismatch (sm_120 vs sm_89) — source rebuild needed - utils3d empty pip package → GitHub fork required - transformers v5 DINOv3 API change → sed patch - xformers version pinning (0.0.33.post2 for torch 2.9.1) - Missing Eigen headers for cumesh build - visualbruno forks needed for o_voxel and cumesh (newer functions) - /tmp disk space issues during pip builds Includes: - SETUP.md: Full step-by-step guide - requirements.txt: Pinned dependency versions - fix_transformers_v5.sh: Apply DINOv3 layer patch - build_cuda_extensions.sh: One-shot source build of all CUDA extensions
This commit is contained in:
@@ -1,3 +1,48 @@
|
||||
# comfyui-trellis2-rocky-setup
|
||||
# ComfyUI + Trellis2 on Rocky Linux 9.x / RTX 4090
|
||||
|
||||
ComfyUI + Trellis2 on Rocky Linux 9.x / RTX 4090 — all pitfalls, fixes, working config
|
||||
**Working setup as of June 2026.** Documents every pitfall, fix, and the exact working configuration
|
||||
for running [ComfyUI-Trellis2](https://github.com/visualbruno/ComfyUI-Trellis2) on Rocky Linux 9.7
|
||||
with an NVIDIA RTX 4090 (sm_89 / Ada Lovelace).
|
||||
|
||||
## Quick Reference
|
||||
|
||||
| Component | Source | Build | Version |
|
||||
|-----------|--------|-------|---------|
|
||||
| CUDA Toolkit | DNF (`cuda-toolkit-12-8`) | system | 12.8 |
|
||||
| PyTorch | pip `--index-url https://download.pytorch.org/whl/cu128` | prebuilt | 2.9.1+cu128 |
|
||||
| flex_gemm | `JeffreyXiang/FlexGEMM` (GitHub) | **source (sm_89)** | 1.0.0 |
|
||||
| o_voxel | `visualbruno/TRELLIS.2#subdirectory=o-voxel` | **source (sm_89)** | 0.0.1 |
|
||||
| cumesh | `visualbruno/CuMesh` (GitHub) | **source (sm_89)** | 1.0 |
|
||||
| nvdiffrast | `NVlabs/nvdiffrast` (GitHub) | **source (sm_89)** | 0.4.0 |
|
||||
| xformers | pip `--index-url https://download.pytorch.org/whl/cu128` | prebuilt | 0.0.33.post2 |
|
||||
| natten | `-f https://whl.natten.org` | prebuilt | 0.21.5+torch290cu128 |
|
||||
| utils3d | `EasternJournalist/utils3d.git@3fab839` | source | 1.3 |
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```
|
||||
~/Documents/ComfyUI_trellis2_pixal/
|
||||
├── venv/ # Python 3.12 virtual environment
|
||||
├── main.py # ComfyUI entry point
|
||||
├── custom_nodes/
|
||||
│ └── ComfyUI-Trellis2/ # visualbruno/ComfyUI-Trellis2
|
||||
├── models/
|
||||
│ ├── facebook/
|
||||
│ │ └── dinov3-vitl16-pretrain-lvd1689m/ # DINOv3 model (download manually)
|
||||
│ └── trellis2/
|
||||
│ └── TRELLIS.2-4B/ # TRELLIS.2-4B model (download manually)
|
||||
└── conda-libs/ # Conda libstdc++ workaround (legacy)
|
||||
```
|
||||
|
||||
## Start ComfyUI
|
||||
|
||||
```bash
|
||||
cd ~/Documents/ComfyUI_trellis2_pixal
|
||||
source venv/bin/activate
|
||||
python main.py --listen 127.0.0.1
|
||||
# GUI at http://127.0.0.1:8188
|
||||
```
|
||||
|
||||
## Key Learnings
|
||||
|
||||
See [SETUP.md](SETUP.md) for the full step-by-step installation guide with all pitfalls documented.
|
||||
|
||||
@@ -0,0 +1,337 @@
|
||||
# Full Setup Guide: ComfyUI + Trellis2 on Rocky Linux 9.x / RTX 4090
|
||||
|
||||
## Environment
|
||||
|
||||
- **OS:** Rocky Linux 9.7
|
||||
- **GPU:** NVIDIA GeForce RTX 4090 (24 GB VRAM)
|
||||
- **CUDA:** 12.8 (system toolkit)
|
||||
- **CPU:** 128 GB RAM
|
||||
- **Python:** 3.12
|
||||
|
||||
## Step 1: System Dependencies
|
||||
|
||||
### CUDA 12.8 Toolkit
|
||||
|
||||
Required for building sm_89 CUDA kernels from source.
|
||||
|
||||
```bash
|
||||
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
|
||||
sudo dnf install -y cuda-toolkit-12-8
|
||||
```
|
||||
|
||||
### Eigen3 Headers (for CuMesh build)
|
||||
|
||||
```bash
|
||||
sudo dnf install -y eigen3-devel
|
||||
```
|
||||
|
||||
### Verify CUDA
|
||||
|
||||
```bash
|
||||
/usr/local/cuda/bin/nvcc --version
|
||||
# Should show: Cuda compilation tools, release 12.8
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Virtual Environment
|
||||
|
||||
```bash
|
||||
mkdir -p ~/Documents/ComfyUI_trellis2_pixal
|
||||
cd ~/Documents/ComfyUI_trellis2_pixal
|
||||
python3.12 -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install --upgrade pip
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 3: PyTorch
|
||||
|
||||
```bash
|
||||
pip install torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 \
|
||||
--index-url https://download.pytorch.org/whl/cu128
|
||||
```
|
||||
|
||||
**⚡ Pitfall:** Do NOT install xformers yet. xformers ≥0.0.34 requires torch ≥2.10, but torchvision
|
||||
is pinned to torch 2.9.1. Install xformers last with the correct version constraint.
|
||||
|
||||
---
|
||||
|
||||
## Step 4: ComfyUI
|
||||
|
||||
```bash
|
||||
cd ~/Documents/ComfyUI_trellis2_pixal
|
||||
git clone https://github.com/comfyanonymous/ComfyUI.git temp_comfy
|
||||
mv temp_comfy/* temp_comfy/.[!.]* . 2>/dev/null
|
||||
rmdir temp_comfy
|
||||
```
|
||||
|
||||
Install ComfyUI dependencies:
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Trellis2 Custom Nodes
|
||||
|
||||
```bash
|
||||
cd custom_nodes
|
||||
git clone https://github.com/visualbruno/ComfyUI-Trellis2.git
|
||||
cd ..
|
||||
```
|
||||
|
||||
Install Trellis2 Python dependencies:
|
||||
|
||||
```bash
|
||||
pip install meshlib requests pymeshlab opencv-python scipy open3d plotly rembg
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 6: The CUDA Architecture Problem
|
||||
|
||||
**⚠️ CRITICAL PITFALL:** Almost every prebuilt CUDA wheel in the Trellis2 ecosystem
|
||||
(flex_gemm, o_voxel, cumesh, nvdiffrast) is compiled **only for sm_120 (Blackwell)**.
|
||||
The RTX 4090 is **sm_89 (Ada Lovelace)**. Using prebuilt wheels causes:
|
||||
|
||||
```
|
||||
CUDA error: no kernel image is available for execution on the device
|
||||
```
|
||||
|
||||
**Solution:** Rebuild all CUDA extension packages from source with `TORCH_CUDA_ARCH_LIST="8.9"`.
|
||||
|
||||
Before each source build, ensure CUDA is in PATH:
|
||||
|
||||
```bash
|
||||
export PATH=/usr/local/cuda/bin:$PATH
|
||||
export TORCH_CUDA_ARCH_LIST="8.9"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 7: Source Builds (in order)
|
||||
|
||||
### 7a. utils3d — The Right GitHub Fork
|
||||
|
||||
**⚡ Pitfall:** `pip install utils3d` installs an empty placeholder package (v0.1.3) without
|
||||
the `utils3d.pt` submodule that MoGe needs.
|
||||
|
||||
```bash
|
||||
pip install "git+https://github.com/EasternJournalist/utils3d.git@3fab839f0be9931dac7c8488eb0e1600c236e183"
|
||||
# Results in: utils3d-1.3
|
||||
```
|
||||
|
||||
### 7b. flex_gemm — JeffreyXiang/FlexGEMM
|
||||
|
||||
```bash
|
||||
pip uninstall flex_gemm -y 2>/dev/null
|
||||
pip install "git+https://github.com/JeffreyXiang/FlexGEMM.git" --no-build-isolation
|
||||
# Results in: flex_gemm-1.0.0
|
||||
```
|
||||
|
||||
**Verification:** `.so` file should be ~3.4 MB (the prebuilt sm_120-only wheel is smaller).
|
||||
|
||||
### 7c. o_voxel — visualbruno Fork (NOT upstream main!)
|
||||
|
||||
**⚡ Pitfall:** The upstream `microsoft/TRELLIS.2` main branch is missing
|
||||
`tiled_flexible_dual_grid_to_mesh`. The ComfyUI-Trellis2 author maintains a fork with
|
||||
the required functions.
|
||||
|
||||
```bash
|
||||
pip uninstall o_voxel -y 2>/dev/null
|
||||
pip install "git+https://github.com/visualbruno/TRELLIS.2.git#subdirectory=o-voxel" --no-build-isolation
|
||||
# Results in: o_voxel-0.0.1
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
```python
|
||||
import o_voxel.convert
|
||||
assert hasattr(o_voxel.convert, 'tiled_flexible_dual_grid_to_mesh')
|
||||
```
|
||||
|
||||
### 7d. cumesh — visualbruno/CuMesh (needs Eigen)
|
||||
|
||||
**⚡ Pitfall:** The `remesh_narrow_band_dc_quad` function only exists in visualbruno's fork.
|
||||
The upstream `JeffreyXiang/CuMesh` only has `remesh_narrow_band_dc` (no `_quad` variant).
|
||||
|
||||
Also needs Eigen3 headers. Set `CPLUS_INCLUDE_PATH`:
|
||||
|
||||
```bash
|
||||
pip uninstall cumesh -y 2>/dev/null
|
||||
CPLUS_INCLUDE_PATH=/usr/include/eigen3 pip install "git+https://github.com/visualbruno/CuMesh.git" --no-build-isolation
|
||||
# Results in: cumesh-1.0
|
||||
```
|
||||
|
||||
**Verification:**
|
||||
```python
|
||||
import cumesh.remeshing
|
||||
assert hasattr(cumesh.remeshing, 'remesh_narrow_band_dc_quad')
|
||||
```
|
||||
|
||||
### 7e. nvdiffrast — NVlabs/nvdiffrast
|
||||
|
||||
**⚡ Pitfall:** The pip prebuilt wheel lacks sm_89 kernels. Build from source:
|
||||
|
||||
```bash
|
||||
pip uninstall nvdiffrast -y 2>/dev/null
|
||||
pip install "git+https://github.com/NVlabs/nvdiffrast.git" --no-build-isolation
|
||||
# Results in: nvdiffrast-0.4.0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 8: Attention Backend (xformers)
|
||||
|
||||
**⚡ Pitfall:** xformers version hell! Here's what works:
|
||||
|
||||
```bash
|
||||
pip install xformers --index-url https://download.pytorch.org/whl/cu128
|
||||
# This resolves to xformers-0.0.33.post2 with torch 2.9.1
|
||||
```
|
||||
|
||||
**Why not newer?**
|
||||
- xformers 0.0.34 → requires torch ≥2.10, pulls torch 2.10 which breaks torchvision
|
||||
- xformers 0.0.35 → requires torch ≥2.10, same conflict
|
||||
|
||||
If pip pulls the wrong torch version, force-install all together:
|
||||
```bash
|
||||
pip install torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 xformers \
|
||||
--index-url https://download.pytorch.org/whl/cu128
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 9: nATTen — Prebuilt Wheel
|
||||
|
||||
**⚡ Pitfall:** Building natten from source requires CMake + CUDA compiler + ~2 GB of `/tmp` space
|
||||
for build dependencies. Use the prebuilt wheel instead:
|
||||
|
||||
```bash
|
||||
pip install "natten==0.21.5+torch290cu128" -f https://whl.natten.org
|
||||
# Results in: natten-0.21.5+torch290cu128
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 10: transformers v5 API Fix
|
||||
|
||||
**⚡ Pitfall:** `transformers ≥5` changed the DINOv3 ViT model structure. The internal
|
||||
`self.model.layer` attribute moved to `self.model.model.layer`. This causes:
|
||||
|
||||
```
|
||||
AttributeError: 'DINOv3ViTModel' object has no attribute 'layer'
|
||||
```
|
||||
|
||||
Three files need patching in `custom_nodes/ComfyUI-Trellis2/trellis2/`:
|
||||
|
||||
```bash
|
||||
cd ~/Documents/ComfyUI_trellis2_pixal/custom_nodes/ComfyUI-Trellis2/trellis2
|
||||
|
||||
# Fix all occurrences at once
|
||||
sed -i 's/self\.model\.layer/self.model.model.layer/g' \
|
||||
modules/image_feature_extractor.py \
|
||||
trainers/flow_matching/mixins/image_conditioned.py \
|
||||
trainers/flow_matching/mixins/image_conditioned_proj.py
|
||||
```
|
||||
|
||||
Reference: [ComfyUI-Trellis2 Issue #144](https://github.com/visualbruno/ComfyUI-Trellis2/issues/144)
|
||||
|
||||
---
|
||||
|
||||
## Step 11: Disk Space
|
||||
|
||||
**⚡ Pitfall:** Building packages from source fills `/tmp` with pip build artifacts
|
||||
(especially torch copies, 2+ GB each). Rocky Linux 9 default root partition is 70 GB.
|
||||
|
||||
```bash
|
||||
# Clean pip build artifacts periodically
|
||||
rm -rf /tmp/pip-* /tmp/pip-build-env-*
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 12: Models
|
||||
|
||||
Download manually (too large for automation):
|
||||
|
||||
| Model | Destination | Size |
|
||||
|-------|-------------|------|
|
||||
| `dinov3-vitl16-pretrain-lvd1689m` | `models/facebook/dinov3-vitl16-pretrain-lvd1689m/` | ~1.2 GB |
|
||||
| `TRELLIS.2-4B` | `models/trellis2/TRELLIS.2-4B/` | ~8 GB |
|
||||
|
||||
---
|
||||
|
||||
## Verification
|
||||
|
||||
Start ComfyUI and run the "Trellis2ShapeCascadeGenerator" workflow:
|
||||
|
||||
```bash
|
||||
cd ~/Documents/ComfyUI_trellis2_pixal
|
||||
source venv/bin/activate
|
||||
python main.py --listen 127.0.0.1
|
||||
```
|
||||
|
||||
Expected output:
|
||||
```
|
||||
[INFO] ComfyUI version: 0.24.0
|
||||
[INFO] pytorch version: 2.9.1+cu128
|
||||
[INFO] xformers version: 0.0.33.post2
|
||||
[INFO] Device: cuda:0 NVIDIA GeForce RTX 4090
|
||||
[INFO] Import times for custom nodes:
|
||||
[INFO] 0.8 seconds: .../ComfyUI-Trellis2
|
||||
```
|
||||
|
||||
A full generation pipeline should complete in ~130 seconds.
|
||||
|
||||
---
|
||||
|
||||
## Package Version Summary
|
||||
|
||||
```
|
||||
torch==2.9.1+cu128
|
||||
torchvision==0.24.1+cu128
|
||||
torchaudio==2.9.1+cu128
|
||||
xformers==0.0.33.post2
|
||||
natten==0.21.5+torch290cu128
|
||||
utils3d==1.3
|
||||
flex_gemm==1.0.0
|
||||
o_voxel==0.0.1
|
||||
cumesh==1.0
|
||||
nvdiffrast==0.4.0
|
||||
transformers>=5.0.0
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Common Errors & Fixes
|
||||
|
||||
| Error | Cause | Fix |
|
||||
|-------|-------|-----|
|
||||
| `CUDA error: no kernel image is available` | Package compiled for sm_120 only | Rebuild from source with `TORCH_CUDA_ARCH_LIST="8.9"` |
|
||||
| `No module named 'utils3d'` | Empty pip package | Install GitHub fork (Step 7a) |
|
||||
| `utils3d has no attribute 'pt'` | Wrong utils3d package | Install GitHub fork (Step 7a) |
|
||||
| `DINOv3ViTModel has no attribute 'layer'` | transformers v5 API change | Apply sed fix (Step 10) |
|
||||
| `No module named 'flash_attn'` / `'xformers'` | Missing attention backend | Install xformers (Step 8) |
|
||||
| `No module named 'natten'` | Missing neighborhood attention | Install prebuilt wheel (Step 9) |
|
||||
| `No module named 'tiled_flexible_dual_grid_to_mesh'` | Wrong o_voxel source | Use visualbruno fork (Step 7c) |
|
||||
| `No module named 'remesh_narrow_band_dc_quad'` | Wrong cumesh source | Use visualbruno fork (Step 7d) |
|
||||
| `Cuda error: 209` in nvdiffrast | Wrong nvdiffrast arch | Build from source (Step 7e) |
|
||||
| `No space left on device` | /tmp filled by pip builds | Clean /tmp (Step 11) |
|
||||
| `No CMAKE_CUDA_COMPILER could be found` | nvcc not in PATH | `export PATH=/usr/local/cuda/bin:$PATH` |
|
||||
| `fatal error: Eigen/Dense` | Missing Eigen headers | `dnf install eigen3-devel` + set CPLUS_INCLUDE_PATH |
|
||||
| xformers/torch version conflict | xformers≥0.0.34 needs torch≥2.10 | Pin to xformers 0.0.33.post2 (Step 8) |
|
||||
|
||||
---
|
||||
|
||||
## Credits
|
||||
|
||||
- [ComfyUI](https://github.com/comfyanonymous/ComfyUI)
|
||||
- [ComfyUI-Trellis2](https://github.com/visualbruno/ComfyUI-Trellis2) by visualbruno
|
||||
- [TRELLIS.2](https://github.com/microsoft/TRELLIS.2) by Microsoft
|
||||
- [FlexGEMM](https://github.com/JeffreyXiang/FlexGEMM) by JeffreyXiang
|
||||
- [NATTEN](https://github.com/SHI-Labs/NATTEN) by SHI-Labs
|
||||
- [nvdiffrast](https://github.com/NVlabs/nvdiffrast) by NVIDIA
|
||||
- [MoGe](https://github.com/microsoft/MoGe) by Microsoft
|
||||
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
# Build all CUDA extension packages from source for sm_89 (RTX 4090)
|
||||
# Must run inside the activated venv with CUDA toolkit installed
|
||||
#
|
||||
# Usage: source venv/bin/activate && bash build_cuda_extensions.sh
|
||||
|
||||
set -e
|
||||
|
||||
export PATH="/usr/local/cuda/bin:$PATH"
|
||||
export TORCH_CUDA_ARCH_LIST="8.9"
|
||||
|
||||
echo "=== Building CUDA extensions for sm_89 (RTX 4090) ==="
|
||||
echo ""
|
||||
|
||||
# 1. utils3d (MoGe dependency — GitHub fork, NOT pip package)
|
||||
echo "[1/5] utils3d (EasternJournalist fork)..."
|
||||
pip install --quiet "git+https://github.com/EasternJournalist/utils3d.git@3fab839f0be9931dac7c8488eb0e1600c236e183"
|
||||
echo " ✓ done"
|
||||
|
||||
# 2. flex_gemm
|
||||
echo "[2/5] flex_gemm..."
|
||||
pip uninstall -y flex_gemm 2>/dev/null || true
|
||||
pip install --quiet "git+https://github.com/JeffreyXiang/FlexGEMM.git" --no-build-isolation
|
||||
echo " ✓ done"
|
||||
|
||||
# 3. o_voxel (visualbruno fork — has tiled_flexible_dual_grid_to_mesh)
|
||||
echo "[3/5] o_voxel..."
|
||||
pip uninstall -y o_voxel 2>/dev/null || true
|
||||
pip install --quiet "git+https://github.com/visualbruno/TRELLIS.2.git#subdirectory=o-voxel" --no-build-isolation
|
||||
echo " ✓ done"
|
||||
|
||||
# 4. cumesh (visualbruno fork — has remesh_narrow_band_dc_quad, needs Eigen)
|
||||
echo "[4/5] cumesh..."
|
||||
pip uninstall -y cumesh 2>/dev/null || true
|
||||
CPLUS_INCLUDE_PATH="/usr/include/eigen3:$CPLUS_INCLUDE_PATH" \
|
||||
pip install --quiet "git+https://github.com/visualbruno/CuMesh.git" --no-build-isolation
|
||||
echo " ✓ done"
|
||||
|
||||
# 5. nvdiffrast
|
||||
echo "[5/5] nvdiffrast..."
|
||||
pip uninstall -y nvdiffrast 2>/dev/null || true
|
||||
pip install --quiet "git+https://github.com/NVlabs/nvdiffrast.git" --no-build-isolation
|
||||
echo " ✓ done"
|
||||
|
||||
echo ""
|
||||
echo "=== Verification ==="
|
||||
python -c "
|
||||
import utils3d; print('utils3d:', utils3d.__version__)
|
||||
import flex_gemm; print('flex_gemm: OK')
|
||||
import o_voxel.convert; assert hasattr(o_voxel.convert, 'tiled_flexible_dual_grid_to_mesh'); print('o_voxel: OK (tiled_flexible_dual_grid_to_mesh found)')
|
||||
import cumesh.remeshing; assert hasattr(cumesh.remeshing, 'remesh_narrow_band_dc_quad'); print('cumesh: OK (remesh_narrow_band_dc_quad found)')
|
||||
import nvdiffrast.torch; print('nvdiffrast: OK (RasterizeCudaContext available)')
|
||||
"
|
||||
echo "=== All CUDA extensions built successfully ==="
|
||||
@@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
# Apply transformers v5 API fix to ComfyUI-Trellis2
|
||||
# Fixes: AttributeError: 'DINOv3ViTModel' object has no attribute 'layer'
|
||||
# Reference: https://github.com/visualbruno/ComfyUI-Trellis2/issues/144
|
||||
|
||||
TRELLIS2_DIR="${1:-custom_nodes/ComfyUI-Trellis2/trellis2}"
|
||||
|
||||
if [ ! -d "$TRELLIS2_DIR" ]; then
|
||||
echo "ERROR: Trellis2 directory not found: $TRELLIS2_DIR"
|
||||
echo "Usage: $0 [path/to/ComfyUI-Trellis2/trellis2]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Patching DINOv3 model.layer → model.model.layer in:"
|
||||
for f in \
|
||||
modules/image_feature_extractor.py \
|
||||
trainers/flow_matching/mixins/image_conditioned.py \
|
||||
trainers/flow_matching/mixins/image_conditioned_proj.py
|
||||
do
|
||||
file="$TRELLIS2_DIR/$f"
|
||||
if [ -f "$file" ]; then
|
||||
if grep -q 'self\.model\.layer' "$file"; then
|
||||
sed -i 's/self\.model\.layer/self.model.model.layer/g' "$file"
|
||||
echo " ✓ $f"
|
||||
else
|
||||
echo " - $f (already patched)"
|
||||
fi
|
||||
else
|
||||
echo " ✗ $f (not found)"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Done."
|
||||
@@ -0,0 +1,29 @@
|
||||
# ComfyUI base (from ComfyUI/requirements.txt)
|
||||
# Install with: pip install -r requirements_comfyui.txt
|
||||
-r https://raw.githubusercontent.com/comfyanonymous/ComfyUI/master/requirements.txt
|
||||
|
||||
# Trellis2 Python dependencies
|
||||
meshlib
|
||||
requests
|
||||
pymeshlab
|
||||
opencv-python
|
||||
scipy
|
||||
open3d
|
||||
plotly
|
||||
rembg
|
||||
|
||||
# Core
|
||||
torch==2.9.1
|
||||
torchvision==0.24.1
|
||||
torchaudio==2.9.1
|
||||
|
||||
# Attention backends
|
||||
xformers==0.0.33.post2
|
||||
natten==0.21.5+torch290cu128
|
||||
|
||||
# Source-built CUDA extensions (use pip install from GitHub, see SETUP.md)
|
||||
# flex_gemm @ git+https://github.com/JeffreyXiang/FlexGEMM.git
|
||||
# o_voxel @ git+https://github.com/visualbruno/TRELLIS.2.git#subdirectory=o-voxel
|
||||
# cumesh @ git+https://github.com/visualbruno/CuMesh.git
|
||||
# nvdiffrast @ git+https://github.com/NVlabs/nvdiffrast.git
|
||||
# utils3d @ git+https://github.com/EasternJournalist/utils3d.git@3fab839
|
||||
Reference in New Issue
Block a user