Hey there! I was wondering on how the porting process from QT5 to QT6 is going for Krita? I can understand that this is a giant undertaking for a small dev team, so I was wondering if you guys have an idea of how much work is still remaining.
Here you can download the new builds and see how far along they are. Keep in mind that not all of them will work and that not everything is running smoothly yet, but it’s a good way to see what’s going on. Scroll through the list and look for the ones marked as Qt6 builds.
Thank you for the quick reply! However, that still doesn’t answer the question itself, if there are builds of QT6 is it already fully ported, we’re now in the “checking for bugs” phase? Because if that’s the phase we’re in, it’s better than I hoped!
Yep, first builds exist, and you already named the implication that follows from it.
And if you are curious, the first build I took notice of was out in March this year. But their current state tells me that there is a long way to go, half a year after the first builds were publicly accessible for those who know where to look for them.
@slightlyangrydodo from what I know the basic porting task has been done but it is not fully ready for testing phase yet. There is also wayland task going on on linux which includes new color management and hdr on linux.
Basic port has been done and builds are available and it would be good if we find bugs now. When it is ready for testing it will become the main branch and will be available as alpha for testing.
Awesome! I’m excited By the way, are you planning any “event” for the major release? I feel like this could be a “Blender 2.8 moment” for Krita
Krita 6 is in the “developers testing bugs phase”. Test builds are available on Invent as was previously linked, but not on the CDN alongside the regular Nightly builds as it’s not in the user testing phase yet (at least, I assume that’s why).
It has quite a few bugs compared to the Qt5 builds of 5.3 (which is the same branch as 6.x), but it’s still fairly usable. (I’ve been using it as my main Krita for months now without too much trouble, though I haven’t actually been drawing much.)
There are some big things left to do, though I don’t remember them all:
Krita 6 is not on Android yet at all. Updating the Qt6 version will help with this, since there were some major bugs in earlier versions.
It’s currently using Qt 6.8.0, there’s work being done to update it to Qt 6.9.2. That requires porting all of Krita’s custom Qt patches again. But it should fix some bugs on other platforms, too.
Work has been ongoing to support Wayland (as Qt6 makes this easier). With color management stuff now implemented, I’m not sure how much is left to do there.
Also,
Krita 6 crashes on Windows if the News is enabled on the welcome page, no one’s investigated that yet. It’s something to do with QDateTime using ICU on Windows.
Python plugins will need to be ported to PyQt6. Other than changing the version number of PyQt imports, there are some changes in Qt and PyQt’s APIs, especially with enums. I’ve already ported Krita’s builtin plugins, so you can take a look at those changes for an idea of it.
Updating Python to 3.13 is mostly unrelated to Qt6. (It’ll make it easier to update PyQt6 to a version that supports Qt 6.9.2.) It may also break some plugins, but it’s much less likely.
As for the release, I think the plan is to release the Qt5 5.3.0 version and the Qt6 6.0.0 version at the same time, with 6.0 being considered unstable. It’s going to be a big release either way, with the Text Tool update and everything else.
Thank you for the comprehensive answer! I miss using Krita (and drawing in general), so I was wondering whether I could go back for a round 3 of fleshing out the UI redesign plugin. I’ve been holding that off for a long time due to Krita 6, but I might give it another go
Are there any current artifacts available for Linux on that pipeline? What branch/mr is most up-to-date with the QT6 effort so I can download/build it to start testing myself?
For the dependencies, there hasn’t been much progress on updating to Qt 6.9.2, so if you want to try a newer version than 6.8.0 you’ll have to build Qt yourself.
To build Krita with the pre-built patched Qt 6.8.0, follow the regular build guide, but switch the deps branch to “transition.now/qt6” and configure Krita with -DBUILD_WITH_QT6=ON.