Skip to main content
Skip to content

Building KDE software

Learn how to build KDE software in multiple ways.

By joining the ranks of KDE developers, you will get to implement new features and defeat bugs both daunting and simple. Developers collaborate in teams based on what area they are working on. These can be small teams working on a single application, up to large teams working on a group of related pieces of software, or even meta-teams working on broader topics such as QA or automation. Many developers participate in more than one team.

KDE runs or participates in several mentoring programs to help new developers, including an informal list of people who are willing to help newcomers get started. See the Mentoring page for more details.

You can build KDE software using the following methods:

If you are on a rolling release Linux distribution or just want to build a single app, you may also learn how to compile KDE software using manual CMake compilation.

If you are on a Linux distribution that is too old for the previous methods or you use an immutable Linux distribution where development is only possible with containers, it is possible to develop KDE software using Podman + Distrobox and Docker + Distrobox.

If you are on Windows or MacOS or want to build an application for Android, KDE also provides the meta build system and package manager Craft. Windows users may also be interested in Building KDE software on Windows and Packaging KDE software for Windows.

We recommend the following Linux distributions to start developing KDE software:

The following distributions are also suitable for use with kde-builder:

Choosing the right method for your Linux system

If you are on Linux, then the method you'll need to use will depend on your distribution and how often it updates.

Type of distributionMethodComment
Recommended distributions1kde-builder✅ The preferred method. Works for all purposes.
manual CMake compilation✅ Works well for standalone apps. Core software2 requires extra steps to work3.
containers✅ Redundant and takes extra setup, but possible. Doesn't work well for core software2.
Not up-to-date distribution4kde-builder❌ Not recommended. Will require many modifications to work. See Common problems in stable distributions.
manual CMake compilation⚠️ Might work for standalone apps, but not recommended.
containers✅ Works well for standalone apps, but not core software2.
Immutable distribution5kde-builder⚠️ Possible only inside a container.
manual CMake compilation⚠️ Possible only inside a container.
containers✅ The only way to build software in these systems.

  1. See Recommended Linux distributions above. ↩︎

  2. "Core software" refers to non-standalone software that is essential for Plasma to function like KWin, Plasma Desktop, or KIO. ↩︎ ↩︎ ↩︎

  3. Currently undocumented. ↩︎

  4. "Not up-to-date" means distributions such as Debian Stable, Ubuntu LTS or two versions behind current release, or openSUSE Leap. ↩︎

  5. "Immutable distributions" means distributions like Fedora Kinoite, openSUSE Kalpa, or SteamOS. ↩︎