KDE/Troubleshooting

This article contains various sections to help KDE users troubleshoot their systems.

Rebuilding the application database
If the KMenu lacks any application or the whole application list, the KDE application database probably needs to be rebuilt. This is also a possible fix for any KMenu related issues, like missing icons.

Akonadi complains about the MySQL config
Start by checking the permissions in. If they're 700, update them to 755 recursively.

If that doesn't solve the error, open the akonadi configuration and change the default MySQL config. If the tray is not running, start, select "Akonadi Server Configuration", activate "Use internal MySQL server" and then press the test button. To use the MySQL server and not the embedded executable, make sure that MySQL is running.

Unable to mount devices using KDE Plasma Device Notifier
If the error message "You are not authorized to mount this device." is being displayed when trying to mount devices by clicking on them in the KDE Plasma Device Notifier (USB-stick-like icon in the system tray), add the following file to the configuration:

This will allow all users who are members of the group to mount devices using the Device Notifier.

Use the following command to add users to this group:

Black screen after login
Make sure does not have any interactive components like keychain. Check for the prompt for input.

Screen Tearing/Flicker when using Radeon graphics drivers
If there is severe flickering or "tearing" when using Radeon based graphics cards, it may be necessary to change the Compositor sync settings to something other than the default "Automatic":

Delayed response of KMenu, krunner etc.
Remove  USE flag and rebuild affected packages, most importantly the (installed) packages from the   category, as well as  and.

Missing shutdown/reboot/suspend/hibernate buttons (with consolekit)
Ensure dbus is added to the default runlevel so that it is started before logging in with sddm:

Make sure that and  are installed. Also check that the user is in the group.

If is used, run the following command and make sure it matches the output including  :

Another option is to create the following polkit rule for suspend (as per this comment from the KDE bugzilla):

If all else fails, try instead.

Recover KWallet passwords after failed migration
On many systems, prior to the upgrade to KDE Frameworks  there had to be a second KWallet service present -  served 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:

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:

kde-*/* related blockers prevent upgrade of neglected system
Package removals are usually announced at least 30 days in advance and put into  so affected users are notified of the fact, find an alternative for their needs and clean up their systems. Long periods of not updating a system, or usage of update scripts, or simply ignoring those Portage messages in plain sight will inevitably lead to blockers at some point going forward. For that purpose, the following unmerge command contains a list of last-rited packages in recent times.