All Anki windows go blank after a video driver update

This is for 23.12beta2 but also for some previous versions (23.10, for instance).

Using the GeForce Experience app, a new video driver can be updated roughly every month or two, with the latest optimizations for various games and so forth. This is downloaded directly from NVIDIA, rather than going through the usual Windows Update process.

During the install process, as the new driver is installed, the entire screen goes blank for a few seconds and then refreshes. After the screen refreshes, all the other app windows such as the Chrome browser appear normally, but all of the Anki windows are now completely blank white, except for the title bar.

Minimizing the various Anki windows and then restoring them doesn’t fix it, nor does anything else. The only solution is to terminate Anki and restart it.

Minimizing the Browse window and restoring it by clicking on its taskbar-adjacent thumbnail leaves the Browse window blank white.

Minimizing the Browse window and restoring it by hitting the “b” shortcut key from the (equally blank) main window turns the Browse window blank black. A couple of minutes after this, Anki appeared to crash.

TL;DR:
In itself this is obviously a minor issue, but perhaps it suggests that some refresh event within Qt is not being caught or handled correctly? So perhaps unraveling this might solve some other blanking problems that get reported occasionally.

Under preferences, try different settings for Appearance => Video Driver.

(This is available in 23.10 but some of the older versions don’t have this option in the preferences.)

I think it’s more likely a Qt issue than a problem in Anki. I suspect they would not put a high priority on trying to fix it as it’s not going to happen frequently, but if you did wish to reproduce it and report it to them, please see Report an issue to Qt · Issue #2652 · ankitects/anki · GitHub

The original post from 2023 was here: All Anki windows go blank after a video driver update , please read the description there.

In 2025 I seem to have reported that it was fixed: Anki 25.07/08 Beta 1-2 - #25 by sprvlcn

But as of 26.08 it’s back. I think it was also present in some earlier versions.

After the Anki windows go blank, the only way to close them is to go to the Task Manager / Processes, right-click on Anki, and select “End task”. Clicking the X in the top right corner of the window doesn’t work, nor does right-clicking on the Anki icon in the tray and selecting “Close window”

Maybe it’s a Qt toolkit issue, but I can’t help but think that maybe there’s some event that isn’t being handled.

I am using the latest update of Windows 11.
Tools/Preferences/General/Video driver is Direct3D (default)

Have you tried the other options, restarting after each change? Troubleshooting Checklist #6

Have you considered that this is related to your NVIDIA card, similar to this recent solution?

I asked Google Gemini Pro, and it said that the problem happens because the loss of graphics context kills the QtWebEngineProcess.exe child process.

I then asked it to take a look at the Anki GitHub repository and look for a relatively simple fix, and it found something that seems very plausible.

I would possibly try to tackle this myself, except I’m in the middle of an unrelated vibe coding project of my own (which actually gives me tremendous faith in the coding ability of advanced models). But mostly also because for obvious reasons I’m currently using the absolute latest video driver version and would have to wait a few weeks for the next version to drop in order to be able to test any fix.

See the shared chat below. @abdo could you give it a quick glance, or pass it on to the right person, and what do you think?

If it’s really an issue of the Chromium process crashing (I cannot confirm that), renderProcessTerminated might help, but it’s more work than simply calling .reload() (at least, scripts need to be reloaded) and there’s a risk of getting Anki into a bad state that’s hard to debug. I also cannot find examples of Qt apps doing that: qutebrowser for example only shows a warning: Automatically reload tabs on a crashed renderer process · Issue #3887 · qutebrowser/qutebrowser · GitHub

In that case Anki should do a clean shutdown when render process termination is detected, if recovery isn’t feasible.

Right now it is just left in a zombie state that requires an “End task”, which I imagine is more likely to lose whatever progress was made during the current session.

Maybe some other Qt apps use more of a strictly partitioned model-view-controller architecture that makes it easier to repaint all windows? I am just speculating wildly of course. No idea.

The next time a driver update is available, I will do the update and check to see if “QtWebEngine internal process” disappears from the Task Manager.

That could work.

I think so. Anki also has add-ons to worry about - any change to AnkiWebView is a risk (see recent example).

I found another way to reproduce the problem: I have two CUDA programs that are both very hungry for GPU memory and I accidentally ran them both at the same time. They both crashed with “CUDA error unknown error at <source_code_file.cu>:”, and the effects on the system were the same as when doing a video driver update, including blanking the Anki windows.

I didn’t mention it earlier, but when doing a video driver update, it does have some effects on some other windows, but they are only temporary and recoverable. For instance, some but not all Windows Terminal windows go blank, but they can be refreshed by clicking on them and typing some input. That also happened in this incident.

Looking at the Task Manager in the immediate aftermath, the blank Anki windows (main window and Browse) are using a lot of CPU doing… something. And there are still four “QtWebEngine internal process” processes running.

When I did “End task” from the Task Manager on Anki, all the processes terminated.

When I restarted Anki, three “QtWebEngine internal process” processes were created, as well as mpv. Only the main window was open. When I opened the Browse window, a fourth “QtWebEngine internal process” process was created.

So this is reproducible, and not strictly limited to relatively infrequent video driver updates. But Google Gemini’s theory about the cause might need some refinement.

Any thoughts about how to go about debugging this?

Do you see any error messages if you run Anki from the console?