Translation(s): none


KDE's mascot, Konqi, using his custom-built Plasma version

Introduction to building KDE from source, and using self-built parts

KDE publishes instructions on how to set up a local environment where you can use a tool named kdesrc-build to build and install the latest development versions of Qt, KDE Plasma, the KDE Frameworks, and KDE applications, all without touching the Debian packages you have installed or modifying your system in any way. While this is obviously completely unsupported by Debian, and any issues should be reported directly to KDE instead of Debian, it's a generally safe route: https://community.kde.org/Get_Involved/development

In the end, this will set up a series of user-specific folders inside the ~/kde/ directory that contain all the libraries and binaries that you build. Helpful scripts will temporarily add these directories to your path, enabling you to run things from them without involving the system-wide equivalents of these that you installed through Apt. One script will even add your custom-built Plasma version as a session to SDDM, so you can log into it and use it for your daily computing in order to test it.

This whole process is also easily reversible. If you mess anything up, need to recover hard drive space, or even just want to get rid of everything you downloaded and built, you can safely delete the ~/kde directory at any time.

Extra information

Upstream publishes a list of detailed instructions for setting up a development environment, including safety precautions and necessary packages: https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source

Detailed instructions on how to build specific parts of KDE Plasma, the KDE Frameworks, and other dependencies, can be found here: https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source/Details

These pages generally assume much more knowledge than the introductory link given in the first section of this article, but are useful if you want to learn more about the process, run unit tests, or troubleshoot unexpected runtime issues.