Nodes/Dobidop ComfyStereo/Check Native VR Status
ComfyUI Node

Check Native VR Status

Why Won't the Native Viewer Launch? Run This First

By Dobidop·Created 2 years ago·Updated 3 months ago· 56
Check Native VR Status
    • status_message
    • is_available

    Every "native VR" node in ComfyStereo fails silently in a specific way: if it can't talk to OpenXR, it prints a banner and gives up. When that happens - viewer not opening, nothing in the headset - you need to know which layer is broken, and this node exists to tell you. It's the pack's built-in diagnostic, and it's the first thing you should run when the native viewers misbehave.

    It's the simplest node in the pack, which makes it the easiest to dismiss and the most useful to know about. No inputs, no settings, one run, one answer.

    How it works

    The node calls the same check_openxr_available() check the viewer nodes use before they launch, then builds a text report from the result. If everything's ready it confirms PyOpenXR is installed, an OpenXR runtime is detected, and VR viewing is good to go. If not, it tells you exactly what's missing - the Python package, the runtime, or the headset connection - and prints the fix for each case. The same text is echoed to the console, so even if you don't wire the output anywhere, the diagnosis lands in your terminal.

    The outputs

    • status_message (STRING) - the full diagnostic text, a "NATIVE VR VIEWER STATUS" block explaining what's available and what's not, including the detected runtime.
    • is_available (BOOLEAN) - the distilled verdict: True if PyOpenXR and a runtime are both present, False otherwise.

    There's nothing to configure and nothing to wire in. If you want to use is_available programmatically - say, to drive a conditional that skips the viewer when it's unavailable - you can, but for most people this is a run-it-once node whose message you read in the console.

    The two failure modes it separates

    • PyOpenXR not installed - the pack actually hides the native viewer nodes from the menu entirely in this case, so if you can't even find them, this is the problem. Fix: pip install -r requirements.txt and restart.
    • Runtime missing or headset not connected - the nodes are in the menu and the viewer reports "NOT AVAILABLE". That's a SteamVR / Oculus runtime / Windows Mixed Reality problem, not a code problem. Start the runtime, connect the headset, retry.

    Install

    It ships with the pack, so it's the same story as the rest:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Dobidop/ComfyStereo.git
    cd ComfyStereo
    pip install -r requirements.txt
    

    Or grab it via ComfyUI Manager by searching "ComfyStereo" and restarting.

    The honest caveat

    This node checks the runtime layer - it verifies PyOpenXR imports and that the OpenXR system is reachable. It won't tell you why the video in NativeStereoVideoViewer is silent (that's the separate ffmpeg requirement) or why a specific file won't play. It answers exactly one question: is the VR plumbing itself working? That's a narrow but crucial job, and it's the fastest way to avoid twenty minutes of debugging the wrong layer.

    Categorystereo/native

    Inputs (0)

    No inputs

    Outputs (2)

    NameTypeDescription
    status_messageSTRING
    is_availableBOOLEAN