Krita is an art program created by digital artists for digital artists. With the aim of providing professional-grade art tools to everyone free of cost, the team behind Krita designed the program to work on a touchscreen phone, pod, computer screen or tablet. It responds to apple pencil, pressure and touch. It is easy to use the software. Krita is a free and open-source software created by volunteer artists who want to create accessible tools for artists all over the world. It runs on every available software.
Krita in 2020Published 12/31/2020
The last day of the year… So, let’s look back a bit. First off: none of the Krita developers has died this year. It feels strange to write that, but it might reassure some of our readers. Some of us have had some extended periods of down time, or have been less productive, both because of the effect of the different pandemic measures all over the world, and because it was at times really hard to stay motivated and find the energy for coding. That shouldn’t come as a surprise to anyone. It feels surreal to think we actually had a real, physical development sprint — in February.
So, what did we do? In the first place, we made four releases: Krita 4.2.9, 4.3.0, 4.4.0 and 4.4.1, and now we’re working on 4.4.2. Krita came to ChromeOS and Android, too!
With these releases came improved brush outlines while painting, new features for the color smudge brush, watercolor brush presets, new filters, extended scripting support, the snapshot docker, a magnetic selection tool, new fill layers, new features for the pixel brush engine, mesh gradients, mesh transforms, improvements to the gradients — and much, much more, as well as hundreds of bug fixes.
Still, bugzilla is a disaster area. We get too many bug reports that are actually user support requests, but apart from that, it’s a never ending stream of things that need to be cleaned up. Check the link if you want to read about the nightmares…
And we coded… A lot. Over all the branches, there were 5486 commits in 2020. Apart from the new features that ended up in releases, we also worked on supporting MyPaint brushes, making the appimages updatable, a new plugin for recording your painting process, storyboarding, a ton of new features and updates for animations and a lot of work on a project that we have been working on for three years now: the resource system rewrite.
You can test all of that in the nightly builds for Windows, Linux and macOS: KDE’s binary factory certainly has been the single most important thing for improving our development process! Though the move to gitlab also did wonders for our productivity.
The resource rewrite project still isn’t done, though pretty much everything is in place. It is taking a lot of work to convert all the places where resources (like brushes, gradients, presets) are used to the new system. And as a project, it turns out it’s simply too large. We decided to change too many things in one big refactoring and, frankly, it’s motivation-sapping especially in a year that’s already hard on everyone. And yes, we also mentioned that already last year. The 2020 February sprint was intended to be a kick-off for a concerted attack on the resource system with four people working on until it was done, but then came March…
Krita Apple Store App
We will have to finish this next year, so we can release Krita 5.0 and can start spending time on fun things like the text tool, machine learning based image scaling, dithered and HDR gradients and other fun and fancy features.
We also had Four Google Summer of Code: Sharaf Zaman with Mesh Gradients, Amyspark with the SeExpr-based scriptable fill layers, Saurabh Kumar with storyboarding and Ashwin Daikata with the MyPaint brush engine. The first two are already released, the other two projects have been merged to master and will be in Krita 5.0.
Compared to 2019, we have almost twice the number of downloads
We started sponsoring Ramon Miranda to publish regular videos on Krita’s youtube channel. The goal is to make a dozen videos a year:
And in addition to videos, Ramon has created resources like brush presets and templates, all freely downloadable!
Maybe the biggest success of the year was the way Raghukamath’s krita-artists.org initiative has taken off. Fifty-thousand posts now, hundreds of active users and really interesting discussions about Krita’s user interface, about writing plugins in Python, about art — and importantly, it’s finally a place where people support each other.
We are working on a new development fund, modeled on Blender’s. We’re actually reusing the same code Blender uses for their dev fund website. This should go live in 2021. It’s almost done, there’s some styling needed, and some work on a campaign to tell the world about it. Since we usually prepare campaigns like kickstarter by getting together physically and thrashing it out over the kitchen table in Krita’s Deventer HQ, we’re a bit at a disadvantage here.
Donations have held up strongly all through 2020, bringing in enough to sponsor our lead developer, Dmitry and fund ongoing work on the manual:
We have to release Krita 5.0 as soon as possible, and for that we need to finish the resource system rewrite. That will be the absolute focus for the first months of 2021, which means that a 4.4.3 release will have to wait, if there will be one at all.
There will a release of Krita for Apple’s M1 laptops: though Apple probably will go on making life difficult for developers.
We will launch the new Developer Fund and maybe get Krita in the macOS app store (not the iPadOS store). Though right now, the team is about as large as Krita’s project maintainer can manage…
And Qt 6 has been released. The changes to the way Qt handles GPU acceleration will make it a real challenge to port Krita to Qt6, not to mention all the other changes and deprecations, making it unlikely we’ll have a Qt 6-based release ready in 2021. We’ll have to work on, though, which will eat into the time we have for creating features and fixing bugs users actually care about.
And maybe? Maybe there will be a real life contributors get-together again! Hope springs eternal. See you all in 2021!
Hi again! This is the second installment of this series. Today’s post will cover how to set Krita up in Visual Studio Code, under macOS. I’ll show you how to take advantage of the same build scripts Iván and Boudewijn use for building the Mac releases.
Again, in the spirit of David’s post and Krita’s docs, this post has the following sections:
So, without further ado, let’s begin!
A warning: this is a distilled version of the official, updated documentation. It’s optimized to set you up under Visual Studio Code.
Preparing your development environment
We’ll set up a main folder called
krita-mac in our home directory.
Getting the Source Code
We’ll grab a copy of the source code from KDE’s GitLab instance. Git should already come with macOS, otherwise you can install a (newer) version by using Homebrew and issuing:
Then, let’s go to our
Getting the Compiler
To compile Krita, you will need a copy of Apple’s Xcode. You can install it through the Mac App Store, or by going to theApple Developersite and clicking on “View in Mac App Store”.
To check if it’s properly installed (it’s a big download), you can use the
It should output:/Applications/Xcode.app/Contents/Developer
Configuring the Build
This was the most difficult part in our Linux journey. However, like we did on Windows, we can skip a lot of the hard work by setting up Build tasks! You must install first the CMake build system.
Do not use the CMake Tools extension here; it will really complicate things.
Now, open our
krita folder under Visual Studio Code,
open the Command Palette (Ctrl+Shift+P), select Tasks: Configure Tasks, then Create tasks.json file from template.
A JSON file will open. Replace its contents with the following:
We have added two tasks called “Dependencies” and “Krita”, that use Iván’s script,
- We have cleaned the
PATHby setting it to Apple’s defaults. This helps prevent conflicts with dependencies you may have installed through Homebrew.
- We have set the working directory (
cwd) and the
expects to be run from thekrita` folder.
- The script has only two subcommands:
buildinstallbuilds and installs Krita.
That’s it! Open the Command Palette again, select Tasks: Run Build Task (or press Ctrl+Shift+B), and run:
- First, the Dependencies task.
- Then, the Krita task. And off you go!
You’ll probably want to run Krita inside a debugger. Good news is that you can do it from the comfort of Visual Studio Code, through a Launch task!
Open the Command Palette again, and select Debug: Open launch.json. My configuration adds a target called
The most important bit is:
program: it points to the
kritaexecutable, installed inside our
After this, you can launch Krita by just pressing F5! Or also by opening the Command Palette, and selecting Debug: Start Debugging.
Thanks to Git, this is really easy. Go to our
src folder and pull the last changes:
If you have a branch, check it out first:
Then build and install Krita. Open the Command Palette, select CMake: Build Target, install.
Krita Apple Store Locations
- Building dependencies through the scripts need a working Internet connection. Please check you have one before trying!
osxbuild.shdoesn’t print anything to console. You can, however, look at the build progress by
tail -f ~/krita-mac/osxbuild.log.
- Sometimes, you’ll be unable to set Build tasks up. If this option doesn’t appear, it’s usually because your Visual Studio Code has User tasks already configured. Try opening the suggested “echo” task, delete it, and try again.
- Do not try to build Krita with dependencies installed through Homebrew, because they will conflict with the build script.
In the final post of this series, tomorrow, we will cover Windows. Remember, if you experience any issues, please do ping me! amyspark @ #krita on Freenode.
Krita Apple App Store