Nvidia driver update - reactor node

I updated my Nvidia drivers today prompted by comfyui not starting and showing a message to update to the latest drivers.

Since then, Comfyui is breaking more often than normal.. the ‘browser refresh’ message appears during a video generation about 3 out of 10 times. Also, although it was never great, reactor has simply stopped working completely even after a re-install through the Manager. when it did work almost every vid was hitting the NSFW block even though the content was nothing more than an adult kiss so I gave up with it anyway

I tried to install the NSFW version of reactor but that failed miserably, something to do with cuda, light sowething, dlls and wheels.. far too complex to understand and chatgpt had no clue… almost ruined my entire PC build with it’s hopeless ability to be used as a diag tool

Anyway, rant over, is anyone else experiencing these issues and/or knows a path to fix ? Many thanks in advance

Hmm, it looks like ReActor can be quite fragile around ComfyUI updates:


I do not think this is simply “the NVIDIA driver update broke ReActor.”

My guess is that your environment is now in a mixed state:

ComfyUI was updated or moved to a newer Python / PyTorch / CUDA stack
↓
The new ComfyUI stack required a newer NVIDIA driver
↓
The driver update made the base ComfyUI stack partially usable again
↓
But ReActor still depends on ONNX Runtime GPU / CUDA DLLs / cuDNN / Python wheels
↓
Those ReActor-side dependencies no longer match cleanly
↓
Trying an NSFW fork or another ReActor variant probably made the Python environment more mixed

So the problem is probably not one single thing. It is more likely a combination of:

  • ComfyUI base stack change
  • NVIDIA driver requirement
  • PyTorch CUDA version
  • ONNX Runtime GPU provider
  • CUDA / cuDNN DLL loading
  • ReActor install script / Python environment
  • possibly a fork or NSFW variant modifying dependencies
  • video workflow instability on top of that

That is why reinstalling only the NVIDIA driver, or only reinstalling ReActor from Manager, may not fix it.

The important distinction

There are two different GPU stacks involved here:

ComfyUI / PyTorch stack:
  used for most image generation

ReActor / ONNX Runtime stack:
  used for face analysis / face swap / face restore paths

These can break independently.

So this can happen:

torch.cuda.is_available() == True
ComfyUI can generate images
but ReActor still fails
because ONNX Runtime CUDAExecutionProvider is broken

That is a common source of confusion.

Why the driver update may have been necessary

The current ComfyUI Windows portable documentation says the portable build includes Python 3.13 and PyTorch CUDA 13.0, and it tells users to update NVIDIA drivers if ComfyUI does not start:

For CUDA 13.x, NVIDIA’s compatibility table requires a 580+ NVIDIA driver:

So updating the driver was probably reasonable.

But the driver is only one layer. ReActor can still fail if ONNX Runtime GPU, cuDNN, CUDA DLLs, or Python wheels are mismatched.

Why ReActor specifically can break after updates

ReActor is not just a simple ComfyUI node. It pulls in a separate face-processing stack.

Relevant docs and reports:

ONNX Runtime’s CUDA provider documentation is especially important because it explains that CUDA and cuDNN major versions must match the ONNX Runtime build. In particular, cuDNN 8.x and cuDNN 9.x builds are not interchangeable.

That means ReActor can fail even if the rest of ComfyUI looks okay.

There are also similar ReActor failure reports:

These are not all exactly the same as your case, but they show the same general pattern: ReActor can break when ComfyUI, Python, PyTorch, ONNX Runtime, CUDA, cuDNN, and custom-node updates move together.

I would not keep repairing the current folder in-place

Because you already tried several things, the current environment may be hard to reason about.

It may now contain some combination of:

official ReActor
old ReActor files
Manager-installed files
fork / NSFW variant files
onnxruntime
onnxruntime-gpu
changed numpy / opencv / protobuf / insightface packages
possibly packages installed into system Python
possibly packages installed into ComfyUI embedded Python

At that point, it is very hard to know which layer is broken.

So I would not keep pressing random fixes in the current folder.

I would do this instead:

1. Preserve the broken folder as a backup
2. Create a clean updated ComfyUI portable install next to it
3. Confirm the clean ComfyUI base works
4. Confirm PyTorch CUDA works
5. Move models only
6. Install official ReActor only
7. Verify ONNX Runtime providers
8. Test ReActor on one still image
9. Only then move old workflows and video nodes back

This is usually faster than trying to surgically repair a mixed Python environment.


Recommended recovery path

Step 0: Stop changing the broken install

Rename the current folder, but do not delete it:

ComfyUI_windows_portable
->
ComfyUI_windows_portable_broken_backup

Keep it because it may contain:

models/
input/
output/
user/
workflows/
ReActor face models
logs
custom-node list

But do not copy these wholesale into the new install:

python_embeded/
custom_nodes/

Especially do not copy python_embeded. If that environment is already mixed, copying it transfers the problem.

ComfyUI Portable uses its own embedded Python environment:

So the Python environment matters a lot.

Step 1: Save a diagnostic snapshot of the broken install

From the broken folder, run:

cd C:\path\to\ComfyUI_windows_portable_broken_backup

nvidia-smi > recovery-baseline.txt

.\python_embeded\python.exe -c "import sys; print(sys.version)" >> recovery-baseline.txt

.\python_embeded\python.exe -c "import torch; print('torch=', torch.__version__); print('torch cuda=', torch.version.cuda); print('cuda available=', torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'no gpu')" >> recovery-baseline.txt

.\python_embeded\python.exe -c "import onnxruntime as ort; print('ort=', ort.__version__); print('providers=', ort.get_available_providers())" >> recovery-baseline.txt

.\python_embeded\python.exe -m pip freeze > pip-freeze-broken.txt

If some of these fail, that is okay. The failure itself is useful information.

Step 2: Verify the NVIDIA driver once

Run:

nvidia-smi

Check the driver version.

If your ComfyUI portable build is the new CUDA 13.0 one, the driver should be 580+ according to NVIDIA’s CUDA compatibility table:

Do not keep reinstalling drivers repeatedly. Verify it once, then move on.

Also note: the CUDA Version shown by nvidia-smi is the maximum CUDA API version supported by the driver. It is not necessarily the same as the CUDA version used by PyTorch inside ComfyUI. For that, use torch.version.cuda.

Step 3: Create a fresh ComfyUI portable install

Create a clean folder, for example:

C:\AI\ComfyUI_clean\

At this stage, do not install:

ReActor
ReActor NSFW fork
video custom nodes
old custom_nodes
old python_embeded

Start clean ComfyUI with custom nodes disabled:

cd C:\AI\ComfyUI_clean

.\python_embeded\python.exe -s ComfyUI\main.py --disable-all-custom-nodes --windows-standalone-build

ComfyUI documents this troubleshooting method here:

Then run a very basic built-in image workflow.

At this point you are only testing:

driver
ComfyUI base
embedded Python
PyTorch
basic image generation

You are not testing ReActor yet.

If this fails

If clean ComfyUI cannot generate one basic image, stop. ReActor is not the problem yet.

If this works

Then the base environment is probably good, and you can move to ReActor later.

Step 4: Verify PyTorch CUDA in the clean install

In the clean folder:

cd C:\AI\ComfyUI_clean

.\python_embeded\python.exe -c "import torch; print('torch=', torch.__version__); print('torch cuda=', torch.version.cuda); print('cuda available=', torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'no gpu')"

You want:

cuda available = True
GPU name printed

Reference:

If torch.cuda.is_available() is false, do not install ReActor yet. Fix the base GPU/PyTorch/driver problem first.

Step 5: Move models, not the entire old environment

Move or share only the model files.

Typical folders:

models/checkpoints/
models/vae/
models/clip/
models/clip_vision/
models/loras/
models/controlnet/
models/upscale_models/
models/diffusion_models/
models/text_encoders/
models/insightface/
models/reactor/

If the models are large, use extra_model_paths.yaml instead of copying everything:

The goal is:

new clean program environment
+
old model files

not:

new clean program environment
+
old broken Python packages

Step 6: Install only the official ReActor

Use the official repository:

Install it into the clean ComfyUI:

cd C:\AI\ComfyUI_clean\ComfyUI\custom_nodes

git clone https://github.com/Gourieff/ComfyUI-ReActor

cd ComfyUI-ReActor

install.bat

Important: the installer must use the ComfyUI portable embedded Python.

If you see a prompt like this:

I couldn't find an embedded version of Python,
but I did find Python <version> in your Windows PATH.
Would you like to proceed with the install using that version? (Y/N)

I would answer N and stop.

That is very close to this failure mode:

For portable ComfyUI, using system Python is usually the wrong direction. You want packages installed into the ComfyUI instance you actually run.

Step 7: Check ONNX Runtime after ReActor install

Before opening your old workflow, run:

cd C:\AI\ComfyUI_clean

.\python_embeded\python.exe -c "import onnxruntime as ort; print('ort=', ort.__version__); print('providers=', ort.get_available_providers())"

Ideal result:

['CUDAExecutionProvider', 'CPUExecutionProvider']

If you only see:

['CPUExecutionProvider']

then ReActor may still import, but ONNX Runtime GPU is not working.

Also check whether both CPU and GPU ONNX Runtime packages are present:

.\python_embeded\python.exe -m pip list | findstr /i "onnxruntime"

Be suspicious of a mixed state like:

onnxruntime
onnxruntime-gpu

The important documentation is here:

The key idea is:

PyTorch CUDA working does not automatically prove ONNX Runtime CUDA is working.

They are related, but not identical.

Step 8: Test ReActor with one still image

Do not test video first.

Do not test the old workflow first.

Do not turn on face restore / GPEN / Face Boost first.

Start with the smallest possible workflow:

Load Image
Load Image
ReActorFaceSwap
Save Image

Start with:

Face Restore: off
Face Boost: off
Video: off
Batch size: tiny

Then test in this order:

1. still image face swap
2. still image face swap + face restore
3. small image batch
4. short low-resolution video
5. normal video
6. face restore / boost / upscale in video

This order matters because some reports involve the restore/boost paths and CUDA DLL failures:

Step 9: Replace the ReActor node in old workflows

Do not simply open the old workflow and press Queue.

ReActor’s README says old workflow nodes may need to be deleted and re-added after updates, because node inputs or definitions can change:

So the safer process is:

open old workflow
delete old ReActor node
add new ReActor node from the current install
reconnect inputs
save as a new workflow
test on one image

This avoids confusing an old serialized node definition with a CUDA or ONNX problem.

Step 10: Bring video custom nodes back last

The “browser refresh” / reconnect symptom during video generation may be a separate issue from ReActor.

ComfyUI uses WebSocket communication for execution progress, node status, error/debug information, and queue updates:

If the backend process crashes, hangs, runs out of VRAM/RAM, or a custom video node throws an exception, the browser may appear to refresh or reconnect.

So test video in this order:

1. video workflow without ReActor
2. short low-resolution video without ReActor
3. short low-resolution video with ReActor
4. normal video with ReActor
5. face restore / boost / upscale only after that

If video fails without ReActor, ReActor is not the remaining main problem.


What I would avoid

Until the clean environment works, I would avoid:

ComfyUI Manager -> Update All repeatedly
installing several ReActor variants
mixing official ReActor with NSFW forks
copying old custom_nodes wholesale
copying old python_embeded
using system Python pip
running random pip install -U commands
testing directly with a large video workflow
enabling Face Boost / GPEN / restore in the first test

Especially avoid commands like this unless you know exactly why:

pip install -U onnxruntime-gpu numpy opencv-python torch

If you must use pip in ComfyUI portable, use the embedded Python for the specific ComfyUI install you are running:

C:\AI\ComfyUI_clean\python_embeded\python.exe -m pip <package>

not just:

pip <package>

ComfyUI custom-node dependency docs:

Success checklist

I would consider the updated environment repaired only after these are true:

nvidia-smi works
driver version is suitable for the ComfyUI CUDA stack
fresh ComfyUI portable starts
basic image generation works
torch.cuda.is_available() is True
ReActor imports without error
onnxruntime.get_available_providers() includes CUDAExecutionProvider
minimal still-image ReActor workflow works
old workflow works after replacing the ReActor node
short video workflow works without ReActor
short video workflow works with ReActor
full video workflow works

Short version

I would not try to keep repairing the current folder in-place.

I would:

1. rename the broken install and keep it as backup
2. install a fresh current ComfyUI portable
3. confirm basic ComfyUI + PyTorch CUDA first
4. move models only
5. install only official ReActor
6. verify ONNX Runtime providers
7. test one still image
8. replace old ReActor nodes in workflows
9. bring video workflows back last

That gives you the best chance of ending up with a properly updated environment instead of a half-rolled-back, half-updated one.

wow… very comprehensive… I take the point about a mixed up environment… makes sense

I did exactly as suggested, new install, all the tests and cmd commands appeared to work correctly with no errors and the basic reactor faceswap on a simple image also worked! However, I noticed the is the command window when using reactor
“2026-05-26 10:52:37.6787763 [E:onnxruntime:Default, provider_bridge_ort.cc:2369 onnxruntime::TryGetProviderInfo_CUDA] E:_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1962 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : Error loading “D:\ComfyUI_windows_portable\python_embeded\Lib\site-packages\onnxruntime\capi\onnxruntime_providers_cuda.dll” which depends on “cublasLt64_12.dll” which is missing. (Error 126: “The specified module could not be found.”)”

absolutely no idea how to fix this and chatgpt is hopeless at this stuff