Krita Weekly Update – December 2022 – week 49

Welcome to this week’s edition of the Krita Weekly Development Update, brought to you by the @Krita-promo team. This meeting was led by @Halla.

Statistics

  • Commits: Excluding merges, 9 authors have pushed 21 commits to master and 40 commits to all branches.
  • Downloads (downloads.kde.org): 75,556 unique downloads last week.
  • Web traffic: 145,511 visits, 385,317 unique page views last week
  • Donations: 6,730 in the past month
  • Fund.krita.org: 189 subscribers (peak was 202, last week 189)
  • Krita-artists.org: Pageviews last week – 236,000
  • Twitter: 59,124 (58,954)
  • Mastodon: 5,382 (5340)
  • Peertube: 714 (703)
  • YouTube: 60,800 (60,500 last week)

Highlights of this week

  • Updating to a newer version of Qt – the core technology that krita is built on – is going smoothly. Windows and Linux builds are done, macOS needs a little more testing. @sh-zam has ported all required Android patches and is almost done fixing Krita to build against Qt 5.15.
  • The team is planning to make a bug fix release next Thursday.
  • On the website update, @scottyp is working adding KDE hugo module. This module is developed to be used for KDE websites using common components on the websites like the language chooser.
  • @RamonM is working on the script for a new YouTube video.
  • @Halla was sick last week. She did all the admin work on Sunday.
  • @Wolthera got all the fonts for the automated testing of the text engine sorted out.
  • @Tiar ported the curve brush engine to the new Lager library that @dkazakov implemented. She has started porting the spray brush engine now.
  • This week @eoinoneill and @emmetpdx worked mainly on making changes to the render animation GUI and related bits to make sure that Krita reacts properly to different builds of FFmpeg. It will check with FFmpeg which codecs are available on the system and use that to determine which options we should provide to the export options.
  • @dkazakov spent a couple of days porting linux patches to Qt 5.15. He also fixed the Windows subwindow bug in Qt 5.15. Later he switched back to porting the MyPaint brush engine to Lager which is really complicated given all the options it has. He managed to complete 30% of the work this week.
  • @sh-zam removed some actions and layouts on Android which detach canvas or create a separate main window. Since the main window is typically maximized on Android, this only creates problems. They worked on implementing a checkbox for selecting layers that will help users who are on touch devices to select multiple layers. The MR is under review and some styling and theming issues need to be sorted out.
  • @Amyspark is still in the dependency and library work, mainly for FFmpeg. They also triaged some bugs relating to CMYK library code. They are also reviewed the color profile fixes that @Kampidh has been sending us, and will triage the big bug about TIFF and EXR exports being broken. They will follow up on the rest of the contributions that were done for upstream libraries this week.
  • @Deif_Lou tried to replicate the bevel and emboss layer effect. It is more complex than the others due to the number of parameters involved. By the end of the week they tackled the “outer bevel” with “chisel hard” technique, except for the texture. Here is a demonstration - bevel & emboss test 02 - YouTube

Summary

Another full week for the dev team. Work has begun to update to a newer version of Qt. This is an important project as Krita is based on Qt. Another brush engine has been ported to Lager (that is the new brush editor build) and two more are underway. There will be a bug fix release (5.1.4) likely this week.

Looking for a way to help Krita? Here are three ways. You can suggest text edits for the new website on this thread, assist new users by answering questions in the Support and Advice category on K-A, and contribute to the Krita Development Fund.

Commits

This is compiled by @freyalupen.

Commits (Click to expand and read)

What follows is a list of changes made to Krita’s code over the last week (November 28 to December 5, 2022). These changes are available in the latest nightly builds:

Major changes (new features, major bugfixes):


5.1.x branch (Krita Plus):

** Crash bugfix:


Minor changes (small bugfixes, small tweaks to features):


5.1.x branch (Krita Plus):

** File formats:

** Colorspaces:

5.2.x branch (Krita Next):

** Dockers:

** Colorspaces:


Technical changes (mostly invisible to users; code refactors, build fixes, tests, logging):


5.1.x branch (Krita Plus):

** Build:

** Unittests:

23 Likes

Thanks For the news!

2 Likes

Qt6 is finally happening? :exploding_head: This is the hype!!!

I did notice yesterday that there was a painter class in the Qt site yesterday this is amazzzzing

2 Likes

Is it Qt6? I thought it was Qt 5.15. Correct me if I’m wrong.

Above all, keep up the good work to the dev. :+1:

I donno I assumed it was Qt6 since it was a new version of it.

Krita currently uses Qt 5.12, and is being ported to Qt 5.15, a newer minor version. Since even that has its share of troubles, porting to Qt 6, the newest major version, which would require even more major changes, is quite a ways off.

Krita itself use Qt 5.12; PyKrita already use QT 5.15 :slight_smile:

Grum999

Isn’t there any sort of roadmap or any rough schedule, like by 2024, about when QT6 will be adopted? QT 5.XX does not seem to support Wayland well under Gnome, so things look blurry. I need QT 6.

I’m kind of a simpleton on the matter, but what does porting over mean for the future of the program? Or I guess even: what are the big differences it would bring?

For that you could refer to the release notes of Qt 6. Basically, porting from Qt 5.X to 6.X means updating the underlying UI framework of Krita. Qt is the ‘module’ that is used to build the UI. So porting to a new version means getting access to new Qt features that can materialise as new possibilities for the UI (some things aren’t possible now, but may be in the future). Perhaps it could enable collapsing dockers to icons like Photoshop, whereas Qt 5.X would only support opening and closing dockers, to give a simple example. 3d interactivity is one of the things included in Qt 6 AFAIK.
But porting may also introduce issues where certain Qt features are deprecated, thus forcing the Krita devs to patch Qt with code to allow it to do the things it used to do before.

3 Likes