2.1.50 Qt6 what are these qt5 compatibility shims?

I’m currently looking into running anki with qt6 instead of qt5.
Running anki with qt6 installed this results in the following output:

◆ ~ ❯❯❯ anki
Running with temporary Qt5 compatibility shims.
Run with DISABLE_QT5_COMPAT=1 to confirm compatibility with Qt6.
Preparing to run...

What exactly is the result of running with Qt5 compatibility shims? Skimming the internet this just looks like a temporary way for allowing Qt5 API implementations no longer present in Qt6.

Does this change anything with anki besides allowing for better Addon compatibility?

It will take a while before many add-on authors update their add-ons to support Qt6, so Anki implements a compatibility layer to avoid breaking a large part of them. The shims mostly redirect imports from PyQt5 to PyQt6, as far as I know.

It should not have any effect on Anki itself. You can try running with DISABLE_QT5_COMPAT and see if you get any errors from the add-ons you use. If you don’t get errors, your add-ons probably work fine with Qt6, so you can keep the variable defined.

2 Likes

Awesome, thanks for the info.