From Gentoo Wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎polski • ‎português do Brasil • ‎русский • ‎Türkçe • ‎українська • ‎中文(中国大陆)‎

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.



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:

root #eselect profile list
  [1]   default/linux/amd64/13.0
  [2]   default/linux/amd64/13.0/selinux
  [3]   default/linux/amd64/13.0/desktop
  [4]   default/linux/amd64/13.0/desktop/gnome
  [5]   default/linux/amd64/13.0/desktop/gnome/systemd
  [6]   default/linux/amd64/13.0/desktop/plasma
  [7]   default/linux/amd64/13.0/desktop/plasma/systemd

Then, select the right profile, substituting X with the appropriate profile number:

root #eselect profile set X

For Plasma 5 desktop environment choose desktop/plasma with OpenRC or desktop/plasma/systemd with systemd.


Before installing KDE related software it is recommended that several other services are set up first. Part of those are installed automatically if a desktop/plasma or desktop profile is used, but still need to be set up properly. 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.

Device manager

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.

Session tracker

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.

For Wayland support, a logind implementation is required. Gentoo provides elogind as an alternative to systemd.

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.

X server

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.

Available versions

KDE Gentoo Ebuild repository Status
KDE Plasma 5.11.5 kde-plasma/plasma-meta-5.11.5 gentoo Stable for amd64 and x86; Testing for arm
KDE Plasma 5.12.3 kde-plasma/plasma-meta-5.12.3 gentoo Testing for amd64, arm and x86
KDE Plasma 5.12 stable branch kde-plasma/plasma-meta- 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

bluetooth Enable Bluetooth Support global
crypt Pull in kde-plasma/plasma-vault for encrypted vaults integration local
display-manager Pull in a graphical display manager local
grub Pull in Breeze theme for sys-boot/grub local
gtk Enable Breeze widget style and KCM for GTK2 and GTK3 local
handbook Enable handbooks generation for packages by KDE global
legacy-systray Add support for applications using legacy xembed systray icons, depending on USE qt4 or gtk. local
networkmanager Enable net-misc/networkmanager support global
pam Enable support for kwallet auto-unlocking local
plymouth Pull in Breeze theme for sys-boot/plymouth local
pulseaudio Install Plasma applet for PulseAudio volume management local
qt4 Add support for the Qt GUI/Application Toolkit version 4.x global
sddm Pull in the x11-misc/sddm display manager and KCM local
sdk Pull in kde-plasma/plasma-sdk for Plasma development local
wallpapers Install wallpapers for the Plasma Workspace local

root #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:

root #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.

By default the classic tree view of kde-plasma/systemsettings is not enabled. The following USE flag will enable it:

FILE /etc/portage/package.use/systemsettingsEnable classic tree view
kde-plasma/systemsettings classic

Recompile systemsettings with new USE flags:

root #emerge --ask --changed-use kde-plasma/systemsettings


Many useful widgets are in the kde-plasma/kdeplasma-addons package (already pulled in by kde-plasma/plasma-meta):

root #emerge --ask kde-plasma/kdeplasma-addons

Display manager

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.

SDDM does not yet support multiseat, while LightDM does.

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:

FILE ~/.xinitrc
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session startkde

System tray

Plasma 5 uses the StatusNotifier specification for systray icons [1]. As not all applications have been ported to the new system, some workarounds exist [2], and Plasma 5 has a means to convert old xembed-based system tray icons to StatusNotifier icons.

In Plasma 5.11, legacy support is enabled by activating legacy-systray and GUI-specific USE flags for kde-plasma/plasma-desktop.

root #echo "~kde-plasma/plasma-desktop-5.11.5 legacy-systray gtk2 gtk3 qt4" >> /etc/portage/package.use/plasma-systray

In Plasma 5.12, legacy support is enabled by activating legacy-systray and GUI-specific USE flags for kde-plasma/plasma-meta.

root #echo ">=kde-plasma/plasma-meta-5.12.3 legacy-systray gtk qt4" >> /etc/portage/package.use/plasma-systray

These flags pull in dev-libs/sni-qt for Qt4, as well as dev-libs/libappindicator SLOTs 2 and 3 for GTK+ 2 and GTK+ 3 respectively.


net-im/pidgin requires x11-plugins/pidgin-indicator. After install, the Ubuntu Indicator plugin can be found under Tools | Plugins.


Many users will be introduced to kde-frameworks/kwallet, Plasma's encrypted password storage, while adding a (wireless) network connection after login or adding E-Mail accounts in kde-apps/kmail.

For managing KWallets, importing and exporting passwords, there is kde-apps/kwalletmanager:

root #emerge --ask kde-apps/kwalletmanager

KWallet auto-unlocking

kde-plasma/kwallet-pam provides a mechanism to avoid being subsequently asked for access to kwallet after login.

root #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:
FILE /etc/pam.d/sddmConfig lines for KWallet PAM unlocking via SDDM
-auth           optional        pam_kwallet5.so
-session        optional        pam_kwallet5.so auto_start
For LightDM, /etc/pam.d/lightdm needs to be edited instead.

Disabling KWallet

To disable the KWallet subsystem completely, edit the following file:

FILE ~/.config/kwalletrc

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:

user $kdesu <program-name>

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 (slot 5 in Portage) as well as Qt 4/KDElibs 4 (slot 4). From KDE Applications 17.12 onwards, any remaining KDElibs 4-based applications are removed.

Available versions

KDE Gentoo Ebuild repository Status
KDE Applications 17.08.3 kde-apps/kde-apps-meta-17.08.3 gentoo Stable for amd64 and x86
KDE Applications 17.12.3 kde-apps/kde-apps-meta-17.12.3 gentoo Testing for amd64 and x86
KDE Applications 18.04 stable branch kde-apps/kde-apps-meta- 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:

Package name Description
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.


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:

root #emerge --ask kde-apps/kde-apps-meta


Plasma-5 and Applications-17.12 are shipping their localization per-package. Enable your localization in systemsettings.

When upgrading to KDE Applications 17.12, a previously installed kde-apps/kde4-l10n may be blocking. This legacy package needs to be removed to continue.

Only legacy kde-apps 17.08.3 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 via kde-apps/kde4-l10n.


The codebase has been ported 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.

The following commands will deselect any packages from world that may still depend on old conflicting packages:

root #equery -q d kde-apps/kdepim-common-libs | sed -e "s/-[0-9].*//" | xargs emerge --deselect
root #equery -q d kde-apps/kdepimlibs | sed -e "s/-[0-9].*//" | xargs emerge --deselect
root #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:

root #emerge --ask kde-apps/kdepim-meta


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.

Available versions

KDE Gentoo Ebuild repository Status
KDE Frameworks 5.43.0 kde-frameworks/*-5.43.0 gentoo Stable for amd64 and x86, Testing for arm
KDE Frameworks 5.44.0 kde-frameworks/*-5.44.0 gentoo Testing for amd64, arm and x86
KDE Frameworks master branch kde-frameworks/*-9999 KDE Live version

More KDE software

The most important KDE applications are in the Gentoo ebuild repository and many are located in the kde-apps and kde-misc categories.


Refer to the Troubleshooting sub-article.

See also

External links


  1. http://blog.martin-graesslin.com/blog/2014/03/system-tray-in-plasma-next/
  2. http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/