mirror of
https://github.com/Comfy-Org/ComfyUI_Nvidia_VFX_Nodes.git
synced 2026-11-04 23:37:30 +00:00
[GH-ISSUE #39] RTXVideoSuperResolution always returns an all-zero (black) tensor on Linux, no exception raised #29
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/ComfyUI_Nvidia_VFX_Nodes#29
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @sucubus666 on GitHub (Aug 31, 2026).
Original GitHub issue: https://github.com/Comfy-Org/ComfyUI_Nvidia_VFX_Nodes/issues/39
Summary
RTXVideoSuperResolution(and the underlyingnvvfx.VideoSuperResfrom thenvidia-vfxpip package) runs without raising any exception, but always returns an all-zero tensor (black output) on Linux, for everyqualitylevel (LOW/MEDIUM/HIGH/ULTRA) and bothresize_typeoptions tested.Reproduced outside ComfyUI (standalone Python)
Output:
No exception anywhere in the call chain (
sr.load(),sr.run(), DLPack conversion all "succeed"), just an all-zero result.Environment
torch.cuda.current_device()→ RTX 5060 Ti). A second GPU (GTX 1660 Super) is present in the system but not selected by default.nvidia-vfxpackage: initially got a broken metadata-only install from PyPI (import nvidia_vfx→ModuleNotFoundError, despitepip showreporting it as installed). Reinstalled viapip install nvidia-vfx --extra-index-url https://pypi.nvidia.com, which pulled the real ~597MB wheel. The real module name isnvvfx(notnvidia_vfx), which is not obvious from the pip package name — might be worth a note in the README/install docs.import nvvfxworks and the module loads fine (no import errors), but inference output is all zeros as shown above.--use-sage-attentionon and off, and with the node isolated in a minimal workflow (LoadImage → RTXVideoSuperResolution → PreviewImage, no other nodes).Suspected root cause
libnvidia-ngx-vsr.so(bundled inside thenvvfxwheel) appears to depend on the NGX model store (the same system used by DLSS) being initialized on the machine. Checked for it under typical Linux paths (~/.local/share,/usr/share/nvidia, etc.) — nothing found.nvidia-ngx-updater(present at/usr/bin/nvidia-ngx-updater) runs with exit code 0 but produces no visible output and does not appear to create any NGX model tree on this Linux install. No.trt/.engine/.onnxfiles ship inside thenvvfxwheel itself, so the actual super-resolution model seems to need to come from NGX at runtime — and on this system that step silently produces nothing usable, with the SDK still reporting success.Question
Is there a documented way to manually initialize/download the NGX model store for
VideoSuperReson Linux, or is Linux NGX support for this specific effect still incomplete? Happy to test further if there's a diagnostic step to check.@sucubus666 commented on GitHub (Aug 31, 2026):
Found the real root cause with NGX debug logging enabled (
__NGX_LOG_LEVEL=3,__NGX_ENABLE_OVERRIDE_LOG_PATH=1,__NGX_LOG_PATH_OVERRIDE=<path>):GPU detection is correct (Blackwell, chip 59), libraries load fine, but the bundled CUDA kernel binaries (cubins) in
libnvidia-ngx-vsr.so.1.8.2don't include a compiled image for this architecture.cuModuleLoadDatafails, and instead of surfacing that as an exception, the SDK silently falls through and returns an all-zero tensor.This looks like RTX 50-series (Blackwell, sm_120) simply isn't in the precompiled kernel set for VSR 1.8.2 yet — not a config/environment issue on my end. Anyone on Blackwell hitting this: enabling NGX debug logging (env vars above, writes
nvsdk_ngx.log+nvngx_VSR_*.logto the override path) will show the samecuModuleLoadDatafailure and confirm it.@sucubus666 commented on GitHub (Aug 31, 2026):
Root cause confirmed from NVIDIA's own official SDK repo (NVIDIA-Maxine/Maxine-VFX-SDK):
nvidia-vfxpip wheel either. They're fetched by the Windows SDK Installer specifically.This matches exactly what I found by enabling NGX debug logging: the pip wheel loads and correctly detects Blackwell, but
cuModuleLoadDatafails because the actual compiled kernel for this architecture was never delivered — there's no Linux-side installer step that provides it.So this isn't a config/driver issue on Linux — the model/kernel distribution channel for this SDK appears to be Windows-only by design, at least as of the current
nvidia-vfxwheel (0.1.0.1, the only version on pypi.nvidia.com). Would be great to get confirmation from a maintainer on whether a Linux-compatible model distribution is planned.@sucubus666 commented on GitHub (Aug 31, 2026):
Full picture now, after checking the official NVIDIA-Maxine/VFX-SDK-Samples repo and the Linux install docs (https://docs.nvidia.com/maxine/vfx/latest/LinuxVFXSDK/InstalltheVFXSDK.html):
Linux is officially supported by the VFX SDK — my earlier comment saying it looked Windows-only was wrong, sorry for the noise. But the real model/kernel distribution path on Linux is completely separate from the
nvidia-vfxpip wheel this node depends on:.tgzfrom NGC, extract to/usr/local(creates/usr/local/VideoFX) — this directory doesn't exist on my system, confirming the pip wheel alone never provides it./usr/local/VideoFX/features/install_feature.sh --gpu <gpu> --feature nvvfxvideosuperres --ngc-org ... --ngc-team ...with an NGC API key to actually fetch the per-architecture compiled kernel.The
--gpuflag's documented value list is datacenter-only:t4, a100, a30, a2, a10, a16, a40, l4, l40, h100, b100, b200, b40— no GeForce/RTX consumer entries at all. So even following the full official Linux install path, it's unclear there's a valid--gpuvalue for a GeForce card (Blackwell or otherwise).So the pip-only install this ComfyUI node relies on never receives the actual VSR kernel on Linux, and the documented official path (NGC +
install_feature.sh) appears to target datacenter GPUs specifically, not GeForce/RTX cards. Would be good to know if there's a GeForce-specific way to fetch this feature on Linux, or if this node's VSR effect is effectively datacenter-only there for now.@HugoGR-7 commented on GitHub (Oct 20, 2026):
Same issue here, with a same-machine A/B that points to the GPU rather than the setup:
CUDA_VISIBLE_DEVICES) → works correctlyEnvironment:
So this still happens on nvidia-vfx 0.2.0.0, and the install and dependencies seem fine; the failure looks specific to the 5060 Ti. Since it fails silently, it would help a lot if the node or SDK raised an error when the kernel can't load on the device instead of returning zeros. Happy to run more tests if useful.
@sucubus666 commented on GitHub (Oct 20, 2026):
Lo pude solucionar, los drivers de nvdia no se instalan correctamente para la gpu secundaria, si tienes la 2070 para monitores, esa es la que recibe el driver que permite usar super resolution. Lo hizo claude, no recuerdo los detalles. Mi solucion, cambiar en los pci el orden de las gpu, porque mi bios no permite especificar que gpu es la principal. intercambie las gpu de orden en los pci, no veo el inicio de video hasta que linux no da señal, pero no me preocupa, ahora la rtx 5060 esta como gpu principal y me funciona super resolution. Espero que me haya explicado lo suficiente.