KDE

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.

Profile
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:

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

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

Services
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.

Device manager
Choose one of:


 * eudev: Gentoo's fork of udev with the goal of obtaining better compatibility. (default for desktop/plasma profile)
 * udev: Enables support for udev Linux dynamic and persistent device naming.
 * systemd: For systemd users, there is nothing to do here.

Session tracker
Choose one of:


 * ConsoleKit: Framework for defining and tracking users, login sessions, and seats (default for desktop/plasma profile)
 * elogind: Standalone logind package extracted from systemd project for use with OpenRC or other init systems
 * systemd: For systemd users, there is nothing to do 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
Plasma 5 is the current generation of KDE's desktop environment, based on Qt 5 and KDE Frameworks 5.

Installation
The package provides the full Plasma 5 suite, configured by the following USE flags:

Alternatively, provides the basic desktop, leaving users free to install only the extra packages they require:

Widgets
Many useful widgets are in the package (already pulled in by ):

Display manager
SDDM (Simple Desktop Display Manager) is the recommended login manager and is pulled in automatically via by default. This is the preferred option. Alternatively, LightDM can be used and pulled in by setting USE flag  for. Change the setting accordingly in. 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, but extra care needs to be taken to ensure it gets a valid session. The following solution is limited to ConsoleKit:

System tray
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  and GUI-specific  USE flags for.

Pidgin
requires. After install, the Ubuntu Indicator plugin can be found under Tools | Plugins.

Skype
Since is a 32-bit binary, it is necessary to enable   on.

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

For managing KWallets, importing and exporting passwords, there is :

Recover passwords after failed migration
On many systems, up until this point there had to be a second KWallet service present - was there to provide the same password storage functions to kdelibs4-based applications, such as. With the upgrade to, this is obsolete as one single  can take over requests from these old applications.

If applications are asking for passwords again that KWallet should have stored already long ago, this indicates that automatic migration from to  has failed.

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:

After leaving the session and re-entering, executing  (important: this is NOT the same as  ) via   will add a new system tray application   through which old KWallets can be manually exported into XML files via. Make sure to keep these files only for the length of this process.

After once again entering a new Plasma session, now the previously created XML files can be imported into the new KWallet by executing, raising it from system tray and navigating to.

At this point, the temporary XML files should be deleted again (skip the trash), and legacy packages can be removed:

KWallet auto-unlocking
provides a mechanism to avoid being subsequently asked for access to kwallet after login.

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 and  fulfill that requirement:

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

SSH/GPG Agent startup/shutdown scripts
ssh-agent scripts are located in and. The Keychain article provides more information about this.

Run GUI applications with root privileges
KDE Plasma has a utility in order to start graphical programs with root privileges. It is provided by - if built with USE flag , a graphical frontend to  is installed, which can be used by invoking. This can be done either from KRunner or a terminal emulator:

A message dialog will be displayed prompting for the root password.

Applications
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  and. 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.

Available versions
KDE Applications is divided in the following meta packages:

Installation
The package provides the full Applications bundle, but alternatively, one or several smaller meta packages from the list above may be picked instead:

Localization
Plasma-5 and Applications as of 17.04 based on Frameworks are shipping their localization per-package. Only legacy packages in slot  continue to rely on the separate localization tarball. The  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.

If only individual packages are installed - not relying on meta packages - these localization packages can be manually emerged:

Only for KDE PIM in slot 4:

Available versions
In Portage, three variants of the KDE Personal Information Management (KDE PIM) suite (including, , and ) are available.

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.

In addition, a "noakonadi fork" is available as version 4.4.2017.04 (also known as kmail1). Adding a package.mask file is recommended to get it:

KDE PIM 17.04 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. The codebase has been ported from to  which is based on Chromium's Blink. By default, this package sets and uses the  USE flag, which comes down to a  package dependency, so users preferring  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, , and possibly other packages outside of the kde-apps category. By default, these packages are no longer installed by.

The following commands will deselect any packages from world that would still depend on these conflicting packages:

For stable users, due to changes in localisation handling between  and   packages it is not possible to selectively unmask only KDE PIM 5. Adding a package.keywords file is required to upgrade all of KDE Applications:

With all that prepared, KDE PIM is ready to be installed:

Frameworks
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.

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.

Troubleshooting
Refer to the Troubleshooting sub-article.