KDE is a free software community, producing a wide range of applications including the popular Plasma desktop environment.
Gentoo support for the KDE project is excellent, with comprehensive packaging of KDE Frameworks 5, Plasma 5, and Applications 5, as well as a wide array of other miscellaneous KDE-based software.
- 1 Prerequisites
- 2 Plasma
- 3 Applications
- 4 Frameworks
- 5 More KDE software
- 6 Troubleshooting
- 7 See also
- 8 External links
- 9 References
Choosing an appropriate profile, although not required, is recommended as it sets a number of global and package-specific USE flags to ease installation and ensure a smooth KDE experience.
In order to choose the most suitable profile, first list what's available:
eselect profile list
 default/linux/amd64/13.0  default/linux/amd64/13.0/selinux  default/linux/amd64/13.0/desktop  default/linux/amd64/13.0/desktop/gnome  default/linux/amd64/13.0/desktop/gnome/systemd  default/linux/amd64/13.0/desktop/plasma  default/linux/amd64/13.0/desktop/plasma/systemd ...
Then, select the right profile, substituting
X with the appropriate profile number:
eselect profile set X
Before installing KDE related software it is recommended that several other services are set up first. Part of that is done automatically if a desktop/plasma or desktop profile is used. These services are:
- D-Bus: Enables use of the D-Bus message bus system.
- polkit: Enables the polkit framework for controlling privileges for system-wide services.
- udev: Enables support for udev Linux dynamic and persistent device naming.
- udisks: Enables support for some storage related services.
Follow the links for information how to set up these services. Note that other USE flag combinations than set in this profile may technically be possible (especially if selected applications are run instead of a full KDE Plasma desktop environment), but may be unsupported, untested, or lead to unexpected loss of functionality.
Read and follow the instructions in the X server article to setup the X environment.
Plasma 5 is the current generation of KDE's desktop environment, based on Qt 5 and KDE Frameworks 5.
|KDE Plasma 5.8.6 LTS||kde-plasma/plasma-meta-5.8.6||gentoo||Stable for amd64 and x86; Testing for arm|
|KDE Plasma 5.8 stable branch||kde-plasma/plasma-meta-220.127.116.1199||kde overlay||Live version|
|KDE Plasma 5.9.4||kde-plasma/plasma-meta-5.9.4||gentoo||Testing for amd64, arm and x86|
|KDE Plasma 5.9 stable branch||kde-plasma/plasma-meta-18.104.22.16899||kde overlay||Live version|
|KDE Plasma master branch||kde-plasma/plasma-meta-9999||kde overlay||Live version|
Before proceeding, make sure to choose a plasma profile. KDE 4 users will need to take extra steps.
Upgrade from Plasma 4
Information on how to upgrade from Plasma 4, migration and troubleshooting can be found on the upgrade page.
The kde-plasma/plasma-meta package provides the full Plasma 5 suite, configured by the following USE flags:
USE flags for kde-plasma/plasma-meta Merge this to pull in all Plasma 5 packages
||Enable Bluetooth Support||global|
||Pull in a graphical display manager||local|
||Pull in Breeze theme for sys-boot/grub||local|
||Enable Breeze widget style and KCM for GTK2 and GTK3||local|
||Enable handbooks generation for packages by KDE||global|
||Enable net-misc/networkmanager support||global|
||Enable support for kwallet auto-unlocking||local|
||Pull in Breeze theme for sys-boot/plymouth||local|
||Install Plasma applet for PulseAudio volume management||local|
||Pull in the x11-misc/sddm display manager and KCM||local|
||Pull in kde-plasma/plasma-sdk for Plasma development||local|
||Install wallpapers for the Plasma Workspace||local|
emerge --ask kde-plasma/plasma-meta
Alternatively, kde-plasma/plasma-desktop provides the basic desktop, leaving users free to install only the extra packages they require:
emerge --ask kde-plasma/plasma-desktop
Please note that such installations will be missing important packages such as kde-plasma/powerdevil (power management, suspend and hibernate options) and kde-plasma/systemsettings if this alternative installation is used.
emerge --ask kde-plasma/kdeplasma-addons
SDDM (Simple Desktop Display Manager) is the recommended login manager and is pulled in automatically via kde-plasma/plasma-meta by default. This is the preferred option. Alternatively, LightDM can be used and pulled in by setting USE flag
-sddm for kde-plasma/plasma-meta. Change the setting accordingly in /etc/conf.d/xdm. Also, be sure to read through the SDDM page if further issues appear.
Plasma 5 uses the StatusNotifier specification for systray icons . As not all applications have been ported to the new system, some workarounds exist , and Plasma 5 has a means to convert old xembed-based system tray icons to StatusNotifier icons.
The workaround is enabled by activating
legacy-systray and GUI-specific (
qt4) USE flags for kde-plasma/plasma-desktop.
echo "kde-plasma/plasma-desktop legacy-systray gtk2 gtk3 qt4" >> /etc/portage/package.use/plasma-systray
echo "dev-libs/sni-qt abi_x86_32" >> /etc/portage/package.use/plasma-systray
Many users will be introduced to kde-frameworks/kwallet, Plasma's safe password management, while adding a (wireless) network connection after login. On many systems, there will actually be a second KWallet service present - kde-apps/kwalletd is there to provide the same password storage functions to kdelibs4-based applications. kde-plasma/kwallet-pam provides a mechanism to avoid being subsequently asked for access to kwallet after login.
emerge --ask kde-plasma/kwallet-pam
It requires the following setup:
- For KWallet security, use classic blowfish encryption instead of GPG
- Choose same password for login and kwallet
- Configure a display manager with support for PAM - both x11-misc/sddm and x11-misc/lightdm fulfill that requirement:
-auth optional pam_kwallet5.so -session optional pam_kwallet5.so auto_start # The following two lines will also unlock kwalletd for kdelibs4-based applications -auth optional pam_kwallet.so kdehome=.kde4 -session optional pam_kwallet.so
For LightDM, /etc/pam.d/lightdm needs to be edited instead.
For managing kwallets, importing and exporting passwords, there is kde-apps/kwalletmanager:
emerge --ask kde-apps/kwalletmanager
For managing kwallets for kdelibs4-based applications like kopete or kmail:4:
emerge --ask kde-apps/kwalletmanager:4
SSH/GPG Agent startup/shutdown scripts
ssh-agent scripts are located in /etc/plasma/startup and /etc/plasma/shutdown. The Keychain article provides more information about this.
Releases consist of various applications and supporting libraries based on Qt 5/KDE Frameworks 5 as well as Qt 4/KDElibs 4, with the latter still being in long term support mode. In Portage, the distinction is made using slots
5. Porting is an ongoing process where each major release is making inroads to Frameworks 5, and therefore contains both well matured and newly ported applications. Note that it also means potential dependency conflicts when two packages depend on slot 4 and 5 of the same library that can not be installed at the same time - such packages are dropped from *-meta.
|KDE Applications 16.08.3||kde-apps/kde-apps-meta-16.08.3||gentoo||Stable for amd64 and x86|
|KDE Applications 16.12.3||kde-apps/kde-apps-meta-16.12.3||gentoo||Testing for amd64 and x86|
|KDE Applications 17.04 beta||kde-apps/kde-apps-meta-17.03.80||kde overlay||Masked, testing for amd64 and x86|
|KDE Applications 17.04 stable branch||kde-apps/kde-apps-meta-17.04.49.9999||kde overlay||Live version|
|KDE Applications master branch||kde-apps/kde-apps-meta-9999||kde overlay||Live version|
KDE Applications is divided in the following meta packages:
|kde-apps/kdeaccessibility-meta||Accessibility applications and utilities.|
|kde-apps/kdeadmin-meta||Administrative utilities, which helps in managing the system.|
|kde-apps/kdecore-meta||Basic applications such as file browser, editor, terminal emulator.|
|kde-apps/kdeedu-meta||Educational applications and games.|
|kde-apps/kdegames-meta||Standard desktop games.|
|kde-apps/kdegraphics-meta||Graphics applications such as image viewers, color pickers, etc.|
|kde-apps/kdemultimedia-meta||Audio and video playback applications and services.|
|kde-apps/kdenetwork-meta||Network applications and VNC services.|
|kde-apps/kdepim-meta||PIM applications such as emailer, addressbook, organizer, etc.|
|kde-apps/kdesdk-meta||Various development tools.|
|kde-apps/kdeutils-meta||Standard desktop utilities such as a archiver, a calculator, etc.|
|kde-apps/kdewebdev-meta||Web development tools.|
The kde-apps/kde-apps-meta package provides the full Applications bundle, but alternatively, one or several smaller meta packages from the list above may be picked instead:
emerge --ask kde-apps/kde-apps-meta
While Frameworks and Plasma are shipping their translations per-package, localization of KDE Applications is provided via separate
*-l10n packages. The
nls USE flag is enabled by default for linux profiles, and it is used by KDE Applications meta packages to pull in the necessary dependencies.
If only a select few languages are desired, define the L10N variable in /etc/portage/make.conf. E.g. to use the German language, set:
To manually install these localization packages instead, use the following (complete) list or pick as desired:
emerge --ask kde-l10n kde4-l10n kdepim-l10n
While the first two contain translations for the majority of KDE Applications (slot
4), the latter directly corresponds to - and is only relevant to users of - kde-apps/kdepim-meta or its related packages.
|KDE PIM 4.4.2016.01||kde-apps/kdepim-meta-4.4.2016.01||gentoo||Stable for amd64 and x86|
|KDE PIM 4.14.11_pre20160211||kde-apps/kdepim-meta-4.14.11_pre20160211||gentoo||Stable for amd64 and x86|
|KDE PIM 16.12.3||kde-apps/kdepim-meta-16.12.3||gentoo||Testing for amd64 and x86|
KDE PIM 4.14.11 and earlier
At the time of writing, the current stable version range is at 4.14.11, which includes an Akonadi-based kmail (also known as kmail2) and is still based on Qt 4/KDElibs 4.
wget https://gitweb.gentoo.org/proj/kde.git/plain/Documentation/package.mask/kdepim-4.7 -O /etc/portage/package.mask/kdepim-4.7
Both variants are beginning to conflict with newer versions of packages. Adding certain per-package USE flag settings can solve some conflicts currently:
>=app-crypt/gpgme-1.8.0 -cxx -qt5 app-office/kmymoney:4 pim >=kde-apps/kwalletd-16.04.3-r1 -gpg >=kde-frameworks/kwallet-5.29.0-r1 -gpg
emerge --ask kde-apps/kdepim-meta
KDE PIM 16.12 and later
The latest upstream release based on Qt 5/KF 5 remains testing until it is deemed suitable for stable use, but testing is appreciated.
Most, but not all of the codebase has been ported from dev-qt/qtwebkit to dev-qt/qtwebengine which is based on Chromium's Blink. By default, this package sets and uses the
system-ffmpeg USE flag, which comes down to a media-video/ffmpeg package dependency, so users preferring media-video/libav for the rest of their system will need to switch off that USE flag.
Unfortunately, not all of the KDE Applications are compatible yet, with some packages still depending on Qt 4/KDElibs 4 based parts that can not be installed with modern KDE PIM at the same time. That includes kde-apps/kopete, kde-apps/klinkstatus, and possibly other packages outside of the kde-apps category. By default, these packages are no longer installed by kde-apps/kde-apps-meta.
The following commands will deselect any packages from world that would still depend on these conflicting packages:
equery -q d kde-apps/kdepim-common-libs | sed -e "s/-[0-9].*//" | xargs emerge --deselect
equery -q d kde-apps/kdepimlibs | sed -e "s/-[0-9].*//" | xargs emerge --deselect
equery -q d kde-apps/akonadi | sed -e "s/-[0-9].*//" | xargs emerge --deselect
This requires app-portage/gentoolkit to be installed. The Gentoolkit article provides more information about this useful utility.
Some conflicts with older packages may be solved by adding per-package USE flag settings:
app-accessibility/simon -pim app-office/calligra:4 -pim kde-apps/kget:4 -gpg <=kde-apps/kwalletd-16.04.3:4 -gpg kde-apps/pykde4 -akonadi kde-misc/tellico:4 -addressbook
With all that prepared, KDE PIM is ready to be installed:
emerge --ask kde-apps/kdepim-meta
The utility that is used to run GUI programs as root is provided by kde-plasma/kde-cli-tools. If built with USE flag
kdesu, a graphical frontend to kde-frameworks/kdesu is installed, which can be used by invoking kdesu5.
As always, ensure that the command actually needs to run as root, versus adding the regular user to the relevant groups or simply just running the command unprivileged.
KDE Frameworks 5 is a collection of libraries and software frameworks that provide the foundation for KDE Plasma 5 and KDE Applications 5, but may be leveraged by any Qt application.
As Frameworks are mostly libraries and provide little user functionality, it's not necessary to install them manually - the required packages will be pulled in automatically as dependencies.
|KDE Frameworks 5.29.0||kde-frameworks/*-5.29.0||gentoo||Stable for amd64 and x86; Testing for arm|
|KDE Frameworks 5.32.0||kde-frameworks/*-5.32.0||gentoo||Testing for amd64, arm and x86|
|KDE Frameworks master branch||kde-frameworks/*-9999||kde overlay||Live version|
More KDE software
Refer to this article.
- KDE troubleshooting - An extended article on troubleshooting KDE.
- KDE overlay - Instructions on adding Gentoo's KDE overlay.
- KDE removal and clean up - Instructions on removing and cleaning up KDE.
- kde-sunset overlay - For old KDE versions that have been removed from the main tree.