The KDE Software Compilation grew out of the history of the KDE Project. In its inception, KDE was formed to create a beautiful, functional and free desktop computing environment for Linux and similar operating systems. At the time, these systems lacked a graphical user environment that could rival the offerings from the larger proprietary operating system vendors. KDE was created to fill this gap.

The KDE Software Compilation is the set of libraries, workspaces, and applications produced by KDE that share this common heritage, and continue to use the synchronized release cycle. Software may move in and out of this semi-formally defined collection depending on the particular needs of the contributors who are working on that software, with exceptions made to ensure that binary compatibility remains at the library level throughout any major release of the compilation.

KDE software consists of a large number of individual applications and a desktop workspace as a shell to run these applications. You can run KDE applications just fine on any desktop environment. KDE applications are built to integrate well with your system's components. By using also KDE workspace, you get even better integration of your applications with the working environment while lowering system resource needs.

The KDE upstream has a well maintained UserBase wiki. Users can get detailed information about most KDE applications there.

Configuration

Note: Configuring KDE is primarily done in 'System Settings'. There are also a few other options available for the desktop with 'Default Desktop Settings' when you right click the desktop.

For other personalization options not covered below such as activities, different wallpapers on one cube, etc please refer to the Plasma wiki page.

Personalization

How to set up the KDE desktop to your personal style; use different Plasma themes, window decorations and icon themes.

Plasma Desktop

Plasma is a desktop integration technology that provides many functions from displaying the wallpaper, adding widgets to the desktop, and handling the panels or "taskbar".

Themes

Plasma themes can be installed through the Desktop Settings control panel. Plasma themes define how your panels and plasmoids look like. If you like to have them installed system-wide, themes can be found in both the official repositories and AUR.

Widgets

Plasmoids are little scripted or coded KDE apps that enhance the functionality of your desktop. There are two kinds, plasmoid scripts and plasmoid binaries.

Plasmoid binaries must be installed using PKGBUILDS from AUR. Or write your own PKGBUILD.

The easiest way to install plasmoid scripts is by right-clicking onto a panel or the desktop:

Add Widgets -> Get new Widgets -> Download Widgets

This will present a nice frontend for kde-look.org and allows you to (un)install or update third-party plasmoid scripts with just one click.

Most plasmoids are not created officially by KDE developers. You can also try installing Mac OS X widgets, Microsoft Windows Vista/7 widgets, Google Widgets, and even SuperKaramba widgets.

Window Decorations

There you can also directly download and install more themes with one click and some are available on AUR.

Icon Themes

Not many full system icons themes are available for KDE 4. You can open up System Settings > Application Appearance > Icons and browse for new ones or install them manually. Many of them can be found on kde-look.org.

Official logos, icons, CD labels and other artwork for Arch Linux are provided in the archlinux-artwork package. After installing you can find such artwork at /usr/share/archlinux/.

Fonts

Fonts in KDE look poor

After the installation, be sure to log out and back in. You should not have to modify any settings in the "Fonts" panel of the KDE System Settings application.

If you have personally set up how your Fonts render, be aware that System Settings may alter their appearance. When you go System Settings > Appearance > Fonts System Settings will likely alter your font configuration file (fonts.conf).

There is no way to prevent this but if you set the values to match your fonts.conf file the expected font rendering will return (it will require you to restart your application or in a few cases for you to have to restart your desktop).

Note too that Gnomes' Font Preferences will also do this if you use both desktop environments.

Printing

The printers are configured in this way can be found in applications KDE.

You can also choose the printer configuration through System Settings -> Printer Configuration. To use this method, you must first install the packages kdeutils-print-manager and cups.

You need to start the avahi-daemon and cupsd daemons first or you will get the following error:

The service 'Printer Configuration' does not provide an interface 'KCModule'
with keyword 'system-config- printer-kde/system-config-printer-kde.py'
The factory does not support creating components of the specified type.

If you are getting the following error, you need to give the user rights to manage printers:

There was an error during CUPS operation: 'cups-authorization-canceled'

For CUPS, this is set in /etc/cups/cupsd.conf.

Adding lp to SystemGroup allows anyone who can print to configure printers. You can, of course, add another group instead of lp.

/etc/cups/cupsd.conf

# Administrator user group...
SystemGroup sys root lp

Samba/Windows support

If you want to have access to Windows services install Samba (package samba).

You may then configure your Samba shares through

System Settings -> Sharing -> Samba

KDE Desktop Activities

KDE Desktop Activities are Plasma based "virtual desktop"-like set of Plasma Widgets where you can independently configure widgets as if you had more than one screens/desktops.

On your desktop, click the Cashew Plasmoid and on the pop-up window press "Activities".

A plasma bar will appear at the bottom of the screen which presents you the current Plasma Desktop Activities which exist. You can then navigate between them by pressing their correspondent icon.

Power Saving

KDE has an integrated power saving service called "Powerdevil Power Management" that may adjust the power saving profile of the system and/or the brightness of the screen (if supported).

How to enable Cpufreq based power saving

Since KDE 4.6, CPU frequency scaling is no longer managed by KDE. Instead it is assumed to be handled automatically by the the hardware and/or kernel. Arch uses ondemand as default cpufreq governor from kernel vesion 3.3. See wiki article on cpufreq.

If you are happy with setting your governor once at boot (with the cpufreq daemon script, for example) then this section is not relevant and can be skipped.

1. If you have not already done so, install the cpufrequtils package (for the cpufreq-set utility).

2. Next, you will need to grant access to cpufreq-set for the appropriate users by configuring sudo. For example, if you are part of the wheel group, you could use visudo to add

%wheel ALL = (ALL) NOPASSWD: /usr/bin/cpufreq-set

to your sudoers file.

3. From System Settings > Power Management > Power Profiles select a profile to edit or create a new one. Check the Run Script option and add an appropriate cpufreq-set command for the selected power profile. For example, your "Powersave" profile might have:

sudo cpufreq-set -r -g ondemand

Your "Performance" profile might have

sudo cpufreq-set -r -g performance

Note: The cpufreq-set examples above may be insufficient for setting the governor for all processors/cores.

For some CPU families the -r switch may not set the governor for all cores/cpus and instead only set the governor for CPU 0. In this case you will need to write a script to iterate through all your cores. A simple script for a four core system could look like:

#!/bin/bash
for i in {0..3}; do
sudo /usr/bin/cpufreq-set -c${i} -gondemand
done

Note: You can check which governors are active with cpufreq-info -o or less intuitively by inspecting /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor.

Monitoring changes on local files and directories

KDE now uses inotify directly from the kernel with kdirwatch (included in kdelibs), so Gamin or FAM are no longer needed. You may want to install this kdirwatchAUR from AUR which is a GUI frontend for kdirwatch.

System Administration

Set keyboard layout in order switch language inputs

In order to do that, navigate to

System Settings > Hardware > Input Devices > Keyboard

There you may choose your keyboard model at first.

Note: It is preferable that, if you use Evdev, that means Xorg automatic configuration for keyboards, you should choose "Evdev-managed keyboard".

In the "Layouts" tab, you choose the languages you may want to use by pressing the "Add Layout" button and therefore the variant and the language.
In the "Advanced" tab, you can choose the keyboard combination you want in order to change the layouts in the "Key(s) to change layout" sub-menu.

Desktop Search and Semantic Desktop

Most users who freshly install KDE are wondering what functionality the following four pieces of software are able to offer. Most features are still somehow hidden under the hood and yet not many applications featured in the KDE SC are using these interfaces. This chapter intends to first explain the features and then convince the user of the power these tools offer once properly integrated into KDE. The following sections are more or less a roughly shortened version of this blogpost.

Soprano

Soprano is a library for Qt that is able to process RDF data. This is semantic data. Semantic data is a special kind of metadata which is much more flexible than metadata you might know from MP3-Tags or Meta-Tags in HTML since RDF data more resembles the structure of a spoken sentence, thus allowing a much wider field of ways dealing with them. Soprano stores semantic data in a backend and allows low level access to this data.

Nepomuk

Nepomuk is somehow the glue between Soprano and the KDE Desktop and thus the user. Nepomuk allows to tag the files with various entries and offers an API for the applications featured in KDE SC. It is enabled by default. Nepomuk can be turned on and off in

System Settings -> Desktop Search

Nepomuk has to keep the trace of a lot of files, because of that is recommended to increase the number of files that can be watched with inotify, to do that:

sysctl fs.inotify.max_user_watches=524288

To do it persistant:

echo "fs.inotify.max_user_watches = 524288" >> /etc/sysctl.conf

And restart Nepomuk.

Akonadi

Akonadi is a system meant to act as a local cache for PIM data, regardless of its origin, which can be then used by other applications. This includes the user's emails, contacts, calendars, events, journals, alarms, notes, and so on. It interfaces with the Nepomuk libraries to provide searching capabilities.

Akonadi does not store any data by itself: the storage format depends on the nature of the data (for example, contacts may be stored in vcard format).

For more information on Akonadi and its relationship with Nepomuk, see [1] and [2].

Configuring Akonadi to use sqlite

According to the kdepim FAQ, sqlite doesn't work too well under load, but according to several users, it gives much better performance than the alternatives.

First stop Akonadi:

akonadictl stop

Change the Driver-line in ~/.config/akonadi/akonadiserverrc to the following:

[%General]
Driver=QSQLITE3

Then start Akonadi again:

akonadictl start

Strigi Search

Strigi is another way of feeding data into Nepomuk. It preferably indexes the users home-folder. Indexing means that it not only gathers filenames but also information about your music collection or tagged downloads you did with Kget. The Strigi search is also integrated into KDE's launcher, which can be accessed via Template:Keypress.

By default, Dolphin has a search bar on top-right where you may type what you want to be found from Strigi's index.

Note: Strigi has implications for resource usage on your computer - CPU, memory, disk access, disk space, battery life. If Strigi is too resource-hungry for you, you can turn it off in "System Settings -> Desktop Search".

Phonon

What is Phonon?

Phonon is the multimedia API for KDE 4. Phonon was created to allow KDE 4 to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for KDE 4's lifetime. It was done for various reasons: to create a simple KDE/Qt style multimedia API, to better support native multimedia frameworks on Windows and Mac OS X, and to fix problems of frameworks becoming unmaintained or having API or ABI instability.

from Wikipedia.

Phonon is being widely used within KDE, for both audio (e.g., the System notifications or KDE audio apps) and video (e.g., the Dolphin video thumbnails).

Which backend should I choose?

You can choose between various backends, like GStreamer (phonon-gstreamer) or VLC (phonon-vlc) available in extra, Xine (phonon-xineAUR) or MPlayer (phonon-mplayer-gitAUR) available on AUR. Most users will want GStreamer or VLC which have the best upstream support. Note that multiple backends can be installed at once and you can switch between them via System Settings -> Multimedia -> Phonon -> Backend.

Telepathy

At the moment things are in progress and miss some features, but a very base communication system is ready.

To install all Telepathy protocols install the telepathy group.
To use the KDE Telepathy client, install the kde-telepathy-meta package that includes all the packages contained in the kde-telepathy group .

Tips and tricks

Configure KWin to use OpenGL ES

Beginning with KWin version 4.8 it is possible to use the separately built binary kwin_gles as a replacement for kwin. It behaves almost the same as the kwin executable in OpenGL2 mode with the slight difference that it uses egl instead of glx as the native platform interface. To test kwin_gles you just have to run kwin_gles --replace in Konsole.
If you want to make this change permanent you have to create a script in `kde4-config --localprefix`/env/ which exports KDEWM=kwin_gles.

Enabling video thumbnails under Konqueror/Dolphin file managers

Speed up application startup

User Rob wrote on his blog this "magic trick" to improve applications start up by 50-150ms.
To enable it, create this folder in your home:

$ mkdir -p ~/.compose-cache

"For those curious about what is going on here, this enables an optimization which Lubos (of general KDE speediness fame) came up with some time ago and was then rewritten and integrated into libx11. Ordinarily on startup applications read input method information from /usr/share/X11/locale/<your locale>/Compose. This Compose file is quite long (>5000 lines for the en_US.UTF-8 one) and takes some time to process. libX11 can create a cache of the parsed information which is much quicker to read subsequently, but it will only re-use an existing cache or create a new one in ~/.compose-cache if the directory already exists." [Cit. Rob]

Hiding partitions

In Dolphin, it is as simple as right-clicking on the partition in the 'Places' sidebar and selecting 'Hide <partition>'. Otherwise...

If you wish to prevent your internal partitions from appearing in your file manager, you can create an udev rule, for example /etc/udev/rules.d/10-local.rules:

Firefox integration

Troubleshooting

Getting current state of KWin for support and debug purposes

This command prints out a wonderful summary of the current state of KWin including used options, used compositing backend and relevant OpenGL driver capabilities. See more at Martin's blog

qdbus org.kde.kwin /KWin supportInformation

KDE4 does not shutdown or reboot using systemd

This is a bug that will be fixed soon. There is an unofficial patch to support native systemd reboot/shutdown methods, it is available in AUR. User switching is still largely untested (so probably still needs work).

Note that this bug does not concern systems using KDM. To adapt the shutdown command for KDM, edit /usr/share/config/kdm/kdmrc and look for the [Shutdown] section. Ensure HaltCmd is uncommented and set to /sbin/poweroff.

KDE4 does not finish loading

There might be a situation in which the graphic driver might create a conflict when starting KDE4. This situation happens after the login but before finishing loading the desktop, making the user wait indefinitely at the loading screen. Until now the only users confirmed to be affected by this are the ones that use Nvidia drivers and KDE4.

A solution for Nvidia users is to edit the file at /home/user/.kde4/share/config/kwinrc and change the option Enabled=true to false in the [Compositing] section. For more information look at this thread.

If a minimal install was done, make sure you installed the required font by your phonon backend listed here: KDE#Minimal_install

KDE and Qt programs look bad when in a different window manager

If you are using KDE or Qt programs but not in a full KDE session (specifically, you did not run "startkde"), then as of KDE 4.6.1 you will need to tell Qt how to find KDE's styles (Oxygen, QtCurve etc.)

You just need to set the environment variable QT_PLUGIN_PATH. E.g. put

KDE and Qt programs look bad after upgrade (using kwin)

Graphical related issues

Low 2D desktop performance (or) Artifacts appear when on 2D

GPU driver problem

Make sure you have the proper driver for your card installed, so that your desktop is at least 2D accelerated. Follow these articles for more information: ATI, NVIDIA, Intel for more information, in order to make sure that everything is all right.
The open-source ATI and Intel drivers and the proprietary (binary) Nvidia driver should theoretically provide the best 2D and 3D acceleration.

The Raster engine workaround

If this does not solve your problems, maybe your driver does not provide a good XRender acceleration which the current Qt painter engine relies on by default.

You can change the painter engine to software based only by invoking the application with the "-graphicssystem raster" command line. This rendering engine can be set as the default one by recompiling Qt with the same as configure option, "-graphicssystem raster".

The raster paint engine enables the CPU to do the majority of the painting, as opposed to the GPU. You may get better performance, depending on your system. This is basically a work-around for the terrible Linux driver stack, since the CPU should obviously not be doing graphical computations since it is designed for fewer threads of greater complexity, as opposed to the GPU which is many threads but lesser computational strength. So, only use Raster engine if you are having problems or your GPU is much slower than you CPU, otherwise is better to use XRender.

Since Qt 4.7+, recompiling Qt is not needed. Simply export QT_GRAPHICSSYSTEM=raster, or "opengl", or "native" (for the default). Raster depends on the CPU, OpenGL depends on the GPU and high driver support, and Native is just using the X11 rendering (mixture, usually).

The best and automatic way to do that is to install kcm-qt-graphicssystemAUR from AUR and configure this particular Qt setting through

Note: You may encounter such problems with 3D desktop performance even when using a more powerful graphics card, but using catalyst proprietary driver (fglrx). This driver is known for having issues with 3D acceleration. Visit the ATi Wiki page for more troubleshooting.

Desktop compositing is disabled on my system with a modern Nvidia GPU

Sometimes, KWin may have settings in its configuration file (kwinrc) that may cause a problem on re-activating the 3D desktop OpenGL compositing. That could be caused randomly (for example, due to a sudden Xorg crash or restart, and it gets corrupted), so, in case that happens, delete your ~/.kde4/share/config/kwinrc file and relogin. The KWin settings will turn to the KDE default ones and the problem should be probably gone.

Flickering in fullscreen when compositing is enabled

As of KDE SC 4.6.0, there is an option in systemsettings -> Desktop Effect -> Advanced -> "Suspend desktop effects for fullscreen windows" Uncheck it would tell kwin to disable unredirect fullscren.

Sound problems under KDE

ALSA related problems

"Falling back to default" messages when trying to listen to any sound in KDE

When you encounter such messages:

The audio playback device <name-of-the-sound-device> does not work.

Falling back to default

Go to

System Settings -> Multimedia -> Phonon

and set the device named "default" above all the other devices in each box you see.

I cannot play MP3 files when using the GStreamer Phonon backend

That can be solved by installing the GStreamer plugins (package gstreamer0.10-plugins. If you still encounter problems, you can try changing the Phonon backend used by installing another such as phonon-vlc.
Then make sure the backend is preferred via:

System Settings -> Multimedia -> Phonon -> Backend (tab)

I want a fresh installation of KDE for my system. What should I do?

Just rename the settings directory of KDE (just in case you will want to go back to your original settings):

mv ~/.kde4 ~/.kde4-backup

Plasma desktop behaves strangely

Plasma issues are usually caused by unstable plasmoids or plasma themes. First, find which was the last plasmoid or plasma theme you had installed and disable it or uninstall it.

So, if your desktop suddenly exhibits "locking up", this is likely caused by a faulty installed widget. If you cannot remember which widget you installed before the problem began(sometimes it can be an irregular problem), try to track it down by removing each widget until the problem ceases. Then you can uninstall the widget, and file a bug report (bugs.kde.org) only if it is an official widget. If it is not, I recommend you find the entry on kde-look.org and inform the developer of that widget about the issue (detailing steps to reproduce, etc).

If you cannot find the problem, but you do not want all the KDE settings to be lost, do:

rm -r ~/.kde4/share/config/plasma*

This command will delete all plasma related configs of your user and when you will relogin into KDE, you will have the default settings back. You should know that this action cannot be undone. You ought to create a backup folder and copy all the plasma related configs in it.

Konsole does not save commands' history

By default console commands' history is saved only when you type 'exit' in console. When you close Konsole with 'x' in the corner it does not happen.
To enable autosaving after every command execution you should add following lines into your .bashrc

KDE password prompts display three bullets per char

You can change it under System Settings > Account Details. At Password & User Account the options are:

Show one bullet for each letter

Show three bullets for each letter

Show nothing

Nepomukserver process still autostart even with semantic desktop disabled

Go to System Settings > Startup and Shutdown > Service Manager > Startup Services and uncheck the Nepomuk Search Module.

Desktop does not respond for several seconds at startup

There is a bug in either pulseaudio or kde that makes the desktop not being usable for a few seconds after it has showed up (for example if you click on the K-menu it does not appears until that waiting time has elapsed).

The workaround is to disable /etc/xdg/autostart/pulseaudio.desktop by adding the following line at the end (do not omit the semicolon):

NotShowIn=KDE;

Note that you could also remove that file, or renaming it (to pulseaudio.desktop.disable or the like) but then it will not load in other Desktop Managers, and will be restored by a package update.

Trinity

From the release of KDE 4.x, the developers dropped support for KDE 3.5.x. Trinity Desktop Environment is a fork of KDE3 developed by Timothy Pearson (trinitydesktop.org). This project aims to keep the KDE3.5 computing style alive, as well as polish off any rough edges that were present as of KDE 3.5.10. See Trinity for more info.

Warning: KDE 3 is no longer maintained and supported by the KDE developers. The "Trinity KDE" is maintained by the Trinity project commmunity. Use KDE 3 on your own risk, regarding any bugs, performance issues or security risks.

Bugs

Distro and Upstream bug report

It is preferrable that if you find a minor or serious bug, you should visit the Arch Bug Tracker or/and KDE Bug Tracker in order to report that. Make sure that you be clear on what you want to report.

If you have any issue and you write about in on the Arch forums, first make sure that you have FULLY updated your system using a good sync mirror (check here) or try Reflector.