Krita
"In my 20+ year experience managing projects i learned that tools or systems don't manage anything, people do. and if people need tools they'll get them or make them" (Ton Roosendaal, on #blendercoders)
Krita Community Wiki
This Community Wiki is intended for those who are making and improving Krita, such as programmers and designers. Users of Krita can check out getting started guides on krita.org, the Userbase wiki, and the manual. If you have questions, you can ask on the Krita Forums, or hop on #krita IRC!
Repository Information
There are two versions of Krita in development: 2.9, which is the stable branch and based on Qt4 and merged with Calligra, and 3.0 pre-alpha, which is based on Qt5.
- 2.9: https://phabricator.kde.org/diffusion/CALLIGRA/
- 3.0: https://phabricator.kde.org/diffusion/KRITA/
Build Instructions
The full set of Krita 3.0 master dependencies:
Dependencies
The full set of dependencies for Krita 3.0 pre-alpha:
- Qt 5, at least 5.4 is required, but the newer the better. You need the following components:
- Core
- Gui
- Widgets
- Xml
- Network
- PrintSupport
- Svg
- Test
- Concurrent
- OpenGL (optional, but really, really recommended)
- Quick (optional, for sketch/Gemini)
- DBus (optional)
- X11Extras (only on Linux)
- The following KDE Frameworks:
- The following required packages
- Eigen3
- Exiv2
- lcms2
- GSL
- Boost (headers and the boost system library)
- zlib
- libtiff
- libpng
- libjpeg
- perl (need to check if this is really true, I doubt it)
- The following optional packages
- SharedMimeInfo
- Poppler
- OpenEXR
- pthreads (for G'Mic)
- openmp (for G'Mic)
- curl (for G'mic)
- libraw
- fftw3 (for G'mic and performance improvements)
- Vc 0.7
- OpenColorIO
Krita can be built successfully omitting several optional packages. KIO is for optional thumbnail integration with Dolphin. QtDeclarative is for Krita Sketch. Poppler is for PDF import. GSL is for the transform tool. Vc is for faster SIMD accelerated painting, and is necessary for a usable painting experience on anything but the smallest canvases. SharedMimeInfo is for determining file types. If you want to build Krita without these features, you can omit the package.
Linux
- For Krita 2.9, David Revoy's guide Building Krita for Cats is the best available!
- Build Krita 3.0 on your favorite Linux distribution
Windows
- Build Krita 2.9.x on Windows
- Build Krita 3.0.x on Windows
- Build Krita 3.x with Emerge
- Packaging Krita
OSX
Developer guides
- Intro to Hacking on Krita
- C++11 usage guidelines for the Krita codebase
- Interesting tasks to get started on
- Optimization tips and tools for Krita
Planning
- Krita/Release/Schedule Krita Release Schedule
- Krita/Release/Checklist Krita Release Checklist
- Krita Roadmap
These are goals for Krita we are working toward.
- Krita Animation Project
- Krita Summer of Code
- Krita Wishlist
- Project ideas for student thesis
- Dmitry's sponsored work TODO list
- Krita Lime repository Roadmap
- Icons Refactoring Roadmap
- Ideas and use-cases for Krita scripting support
Design documents and discussions
These are technical notes on the insides of Krita.
Design Notes
- QAction / KisAction Guidelines
- OpenGL rendering in Krita
- How Plugin Loading Works
- How to write brush engines
- Brushes
- High dynamic range imaging
- Redisplay
- KisPainter and KisPaintEngine design
- Metadata framework
- Brush Color Transformation
- Brush Engines (aka paintops)
- Filter API Discussion Notes
- KisCanvas2 Update Split Reasoning
- Transactions Design
- Tile Data Format
- KisSelection Issues
- Krita Shape Layers Design
- Grayscale Selections Discussion Notes
- Strokes Framework
- NonTool Actions Implementation
- Recording System
- Undo adapter vs. Undo store
- KisNode (Selections, masks, layers)
- Generator Layers
- Color management
- Concept Naming Guidelines
- Website Maintenance/Updates
Guidelines
- Use Cases
- Artists Requirements
- Usability discussion notes
- Quick-sketch Preference Palette
- Community Mockups and Wishlist
Troubleshooting
Other
Sponsored Work
This is an index of work sponsored by the Krita community and the Krita Foundation. Note that the Krita Foundation (Stichting Krita) has been instrumental in fundraiser efforts around Krita. The first program, executed during the 2009-2010 timeframe, allowed Lukáš Tvrdý to work full-time on Krita for 24 weeks. This made a massive difference for Krita, solving hundreds of bugs and improving performance and usability of the canvas and many brushes to the level where Krita first became ready for (semi) professional use. Find more details here.
Subsequent fundraisers supported Dmitry Kazakov who brought openGL support to a new level and introduced advanced canvas operations like panning, mirroring and rotation and independent artist Timothee Giet who developed the "Comics with Krita" training DVD as well as a host of other video tutorials on Youtube.
Meetings
- Krita/Sprint2014
- Krita/Sprint2011
- Meetings/February 2010 Krita meeting
- Meetings/Mid_2009_meeting/Krita_Notes
- Krita/Akademy_2007_Meeting
Hardware
The Krita team has two Wacom intuos tablets, two stylusses and two art pens. They are currently with:
- Lukas Tvrdy: one tablet
- Sven Langkamp: one tablet
- Cyrille Berger: stylus art pen
Wiki Archive
Contributors should feel free to post whatever they like here. However, documents show their age after a few years. Please keep the main page clean by copying old links into this archive section.