Nodes/Pixal3D-ComfyUI/Pixal3D Environment Check
ComfyUI Node

Pixal3D Environment Check

Pixal3D Environment Check

By Saganaki22·Created 3 months ago·Updated 2 months ago· 204
Pixal3D Environment Check
    • report

    If your Pixal3D workflow fails to load, the model is almost never the problem. The problem is a missing CUDA kernel, and this node is the two-minute diagnostic that tells you which one. Pixal3D is Tencent ARC's image-to-3D model (built on the TRELLIS.2 backbone, MIT-licensed), and the pack around it needs FlashAttention plus four custom CUDA extensions - flex_gemm, cumesh, o_voxel, and drtk - that have to match your exact Python, PyTorch, CUDA, and GPU. That's where almost everyone's first hour with this pack goes, which is exactly why the README tells you to run this node right after installing, before you ever touch the Model Loader.

    What it does

    The node has zero inputs. Double-click it, add it to the graph, hit Run - it inspects the same Python that launched ComfyUI and prints a report to the UI (it's an output node, so the text appears in the node's output area). It also returns that same text as a report STRING output if you want to pipe it somewhere.

    The report covers, in order:

    • PyTorch / CUDA - Python and torch versions, torch.cuda.is_available, your GPU name, its compute capability, and whether it's a Blackwell / sm_120-class card. That last flag matters: the prebuilt Pixal3D wheels top out below sm_120, so a Blackwell GPU shows up here as a special case before you hit a cryptic "no kernel image available" crash later.
    • Required CUDA modules - each of flex_gemm / flex_gemm_ap, cumesh / cumesh_vb, o_voxel / o_voxel_vb_ap, and drtk, reported as OK via <module> or MISSING.
    • Attention - flash_attn (FlashAttention 2) and flash_attn_interface (FlashAttention 3). You need at least one.
    • Optional modules - things like nvdiffrast that are nice-to-have but not required.
    • NAF / NATTEN - whether natten imports and, crucially, whether natten.HAS_LIBNATTEN is True.

    How to read it

    Scan for any MISSING under "Required CUDA/Pixal3D modules", or both attention lines missing. Those are the ones that stop you cold.

    Don't panic at natten.HAS_LIBNATTEN: False. That just means strict NAF (Pixal3D's feature-refinement upsampler, which needs a CUDA libnatten build) isn't available - you set naf_mode=fallback_if_missing on the Model Loader and keep going. Slower, slightly lower quality, but it runs. It's one line in the report; treat it as a setting, not a failure.

    Fixing what it flags

    When a required kernel is missing, you need a wheel built for your exact stack. Don't let pip decide: install with --no-deps so it can't replace a working Torch install while you're hunting wheels. On Windows the README points at prebuilt wheels (the PozzettiAndrea CUDA wheel index for flex_gemm_ap/cumesh_vb/o_voxel_vb_ap/drtk, plus a matching FlashAttention 2 or 3 wheel) and the whole thing must line up on Python ABI, torch build, CUDA version, and OS tag.

    One more sanity check worth knowing: if the report is all green and generation still fails, you've left the environment and entered model-files territory - check that ComfyUI/models/Pixal3D/TencentARC_Pixal3D/ actually has the pipeline.json and weights, or that download_if_missing on the loader is doing its job.

    Install

    If you haven't got here yet: ComfyUI Manager, search Pixal3D by Saganaki22, install the normal/stable entry (deliberately not the Nightly), restart, then run this check. Manual install is the same git clone + pip install -r requirements.txt dance as any custom node, followed by python install.py --check. Either way, Environment Check is the official first step after restart - the pack's docs are built around you running it.

    CategoryPixal3D

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    reportSTRING