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, as well as a wide array of other miscellaneous KDE-based software.
- 1 Prerequisites
- 2 Plasma
- 2.1 Available versions
- 2.2 Installation
- 2.3 Widgets
- 2.4 Display manager
- 2.5 System tray
- 2.6 KWallet
- 2.7 SSH/GPG Agent startup/shutdown scripts
- 2.8 Run GUI applications with root privileges
- 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.
- udisks: Enables support for some storage related services.
Choose one of:
- eudev: Gentoo's fork of udev with the goal of obtaining better compatibility. It is the default for the desktop/plasma profile.
- udev: Enables support for udev Linux dynamic and persistent device naming.
- systemd: Uses the device manager part of systemd. Users of systemd do not need to take any other initiative here.
Choose one of:
- ConsoleKit: Framework for defining and tracking users, login sessions, and seats. It is the default for the desktop/plasma profile.
- elogind: Standalone logind package extracted from systemd project for use with OpenRC or other init systems.
- systemd: Uses the session tracker part of systemd. Users of systemd do not need to take any other initiative here.
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.10.4||kde-plasma/plasma-meta-5.10.4||gentoo||Stable for amd64 and x86; Testing for arm|
|KDE Plasma 5.10.5||kde-plasma/plasma-meta-5.10.5||gentoo||Testing for amd64, arm and x86|
|KDE Plasma 5.10 stable branch||kde-plasma/plasma-meta-220.127.116.1199||KDE||Live version|
|KDE Plasma master branch||kde-plasma/plasma-meta-9999||KDE||Live version|
Before proceeding, make sure to choose a Plasma profile.
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.
No display manager
Plasma can be started the old-fashioned way with
startx, but extra care needs to be taken to ensure it gets a valid session. The following solution is limited to ConsoleKit:
#!/bin/sh exec ck-launch-session dbus-launch --sh-syntax --exit-with-session startkde
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
For managing KWallets, importing and exporting passwords, there is kde-apps/kwalletmanager:
emerge --ask kde-apps/kwalletmanager
Recover passwords after failed migration
On many systems, up until this point there had to be a second KWallet service present - kde-apps/kwalletd was there to provide the same password storage functions to kdelibs4-based applications, such as
kde-apps/kmail:4. With the upgrade to
5.34.0, this is obsolete as one single kde-frameworks/kwallet can take over requests from these old applications.
After editing and saving this file, leaving the session and re-entering should trigger the migration assistant, visible through the usual KWallet password prompt.
Unfortunately in some configurations, automatic migration has never worked properly. For those cases, there is a manual workaround - temporarily remove the new KWallet version and install the tool for managing legacy kdelibs4-based KWallets:
emerge -C kde-frameworks/kwallet
emerge -1 kde-apps/kwalletmanager:4
This assumes kde-apps/kwalletd is still present. If it had been removed already, it will also need to be temporarily re-emerged.
After leaving the session and re-entering, executing
kwalletmanager (important: this is NOT the same as
krunner will add a new system tray application
Wallet Manager through which old KWallets can be manually exported into XML files via
File -> Export as XML. Make sure to keep these files only for the length of this process.
emerge -1 kde-frameworks/kwallet && emerge kde-apps/kwalletmanager
After once again entering a new Plasma session, now the previously created XML files can be imported into the new KWallet by executing
kwalletmanager5, raising it from system tray and navigating to
File -> Import XML.
At this point, the temporary XML files should be deleted again (skip the trash), and legacy packages can be removed:
emerge -C kde-apps/kwalletmanager:4 kde-apps/kwalletd
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
For LightDM, /etc/pam.d/lightdm needs to be edited instead.
To disable the KWallet subsystem completely, edit the following file:
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.
Run GUI applications with root privileges
It could be a very bad idea to start GUI applications with root privileges, versus adding the regular user to the relevant group or simply just running the command unprivileged. Only use kdesu when absolutely necessary.
KDE Plasma has a utility in order to start graphical programs with root privileges. It 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 kdesu. This can be done either from KRunner or a terminal emulator:
A message dialog will be displayed prompting for the root password.
Some applications such as kwrite, dolphin etc. refuse to be opened as root for security reasons.
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 17.04.3||kde-apps/kde-apps-meta-17.04.3||gentoo||Stable for amd64 and x86|
|KDE Applications 17.08.0||kde-apps/kde-apps-meta-17.08.0||gentoo||Testing for amd64 and x86|
|KDE Applications 17.08 stable branch||kde-apps/kde-apps-meta-17.08.49.9999||KDE||Live version|
|KDE Applications master branch||kde-apps/kde-apps-meta-9999||KDE||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
Plasma-5 and Applications as of 17.04 based on Frameworks are shipping their localization per-package. Only legacy packages in slot
4 continue to rely on the separate localization tarball. 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.
To reduce the set of installed languages, set the L10N variable in /etc/portage/make.conf.
If only individual packages are installed - not relying on meta ebuilds - that localization can be manually emerged:
emerge --ask kde4-l10n
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
emerge --deselect kdepim-l10n kde-l10n
This requires app-portage/gentoolkit to be installed. The Gentoolkit article provides more information about this useful utility.
With all that prepared, KDE PIM is ready to be installed:
emerge --ask kde-apps/kdepim-meta
KDE PIM 4.4.2017.04 (noakonadi fork)
wget https://gitweb.gentoo.org/proj/kde.git/plain/Documentation/package.mask/kdepim-4.7 -O /etc/portage/package.mask/kdepim-4.7
These days, it is not working nicely together with KDE Applications meta packages. There will be blockers and users are on their own.
KDE Frameworks 5 is a collection of libraries and software frameworks that provide the foundation for KDE Plasma 5 and KDE Applications, 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.34.0||kde-frameworks/*-5.34.0||gentoo||Stable for amd64 and x86, Testing for arm|
|KDE Frameworks 5.37.0||kde-frameworks/*-5.37.0||gentoo||Testing for amd64, arm and x86|
|KDE Frameworks master branch||kde-frameworks/*-9999||KDE||Live version|
More KDE software
Refer to the Troubleshooting sub-article.
- Plasma 4 to 5 upgrade page - Information on how to upgrade from Plasma 4, migration and troubleshooting.
- KDE ebuild repository - Instructions on adding Gentoo's KDE ebuild development repository to a system.
- kde-sunset ebuild repository - For old KDE software that has been removed from the main ebuild repository.