This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

KDE/Troubleshooting

From Gentoo Wiki (test)
< KDE
Jump to:navigation Jump to:search
This page contains changes which are not marked for translation.
Other languages:

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.

user $kbuildsycoca5 --noincremental

Akonadi complains about the MySQL config

Start by checking the permissions in /usr/share/config. If they're 700, update them to 755 recursively.

root #chmod -R 755 /usr/share/config

If that doesn't solve the error, open the akonadi configuration and change the default MySQL config. If the tray is not running, start akonaditray, 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:

FILE /etc/polkit-1/rules.d/10-udisks.rules
polkit.addRule(function(action, subject) {
	if (action.id.indexOf("org.freedesktop.udisks2.filesystem-mount") == 0 && subject.isInGroup("plugdev")) {
		return polkit.Result.YES;
	}
});

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

Use the following command to add users to this group:

root #gpasswd -a <username> plugdev
Note
A reboot may be required for the changes to take effect.

Black screen after login

Make sure ~/.bash_profile does not have any interactive components like keychain. Check ~/.xsession-errors 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":

CODE Modifying Compositor sync settings
System Settings --> Display Monitor --> Compositor --> VSync

Delayed response of KMenu, krunner etc.

Remove gles2 USE flag and rebuild affected packages, most importantly the (installed) packages from the dev-qt category, as well as kde-frameworks/plasma and kde-plasma/kwin.

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:

root #rc-update add dbus default

Make sure that kde-plasma/powerdevil and sys-power/upower are installed. Also check that the user is in the users group.

If x11-misc/sddm is used, run the following command and make sure it matches the output including nox11:

user $grep pam_ck_connector /etc/pam.d/system-login
session         optional        pam_ck_connector.so nox11

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

FILE /etc/polkit-1/rules.d/10-suspend.rules
polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.upower.suspend") {
        return polkit.Result.YES;
    }
});

If all else fails, try x11-misc/lightdm instead.

Recover KWallet passwords after failed migration

Note
This assumes kde-apps/kwalletd and kde-apps/kwalletmanager - both slot 4 - are still installed. If they had been removed already, those packages will need to be temporarily re-emerged. As those package versions have been removed from tree long ago, this will involve recovering the ebuilds from git or adding the kde-sunset ebuild repository.

On many systems, prior to the upgrade to KDE Frameworks 5.34.0 there had to be a second KWallet service present - kde-apps/kwalletd served 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.

If applications are asking for passwords again that KWallet should have stored already long ago, this indicates that automatic migration from kde-apps/kwalletd to kde-frameworks/kwallet has failed.

FILE ~/.config/kwalletrcRemove these lines to re-enable password migration
[Migration]
alreadyMigrated=true

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:

root #emerge -C kde-frameworks/kwallet

After leaving the session and re-entering, executing kwalletmanager (important: this is NOT the same as kwalletmanager5) via 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.

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

root #emerge -C kde-apps/kwalletmanager:4 kde-apps/kwalletd

kde-*/* related blockers prevent upgrade of neglected system

Package removals are usually announced at least 30 days in advance and put into package.mask 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.

root #emerge --ask --unmerge media-sound/kstreamripper kde-misc/kcollectd media-sound/kmid sci-calculators/keurocalc net-misc/knutclient media-sound/konvertible kde-misc/kdesudo kde-misc/kbiff kde-misc/kfax kde-misc/kover media-sound/k4guitune media-sound/kenvy24 media-sound/kmidimon media-sound/kradio media-sound/waheela media-video/loopy net-p2p/kmldonkey kde-misc/konstruktor kde-misc/kookie kde-misc/kfilebox media-video/kplayer kde-misc/akonadi-git-resource media-gfx/kgrab kde-misc/colibri kde-misc/kio-mtp kde-misc/kio-slp kde-plasma/libkworkspace pykde4 kcmshell kde-l10n kdepim-l10n kdebase-runtime-meta kdontchangethehostname keditfiletype kfile kmimetypefinder kde-apps/knewstuff kreadconfig ksaneplugin ktraderclient kwalletd kommander kdepim-common-libs ktnef app-office/calligra-l10n kde-misc/krecipes kde-misc/semantik www-plugins/kpartsplugin x11-misc/lightdm-kde plasma-runtime pim-storage-service-manager kde-apps/attica kde-apps/drkonqi kcontrol kdebase-desktoptheme kdebase-menu kdebase-menu-icons kdebugdialog kde-apps/kdesu kde-apps/kglobalaccel kiconfinder kimgio knetattach kpasswdserver kquitapp kstart kuiserver kurifilter-plugins plasma-apps renamedlg-plugins solid-runtime sys-auth/polkit-kde-agent kdepasswd kfmclient konq-plugins libkonq nsplugins plasma-apps dev-util/kdevelop-php-docs dev-util/kdevelop-qmake dev-util/kdevelop-qmljs kde-misc/kim4 kde-misc/kio-ftps kde-misc/quadkonsole ksnapshot kdeartwork-meta kdeartwork-colorschemes kdeartwork-desktopthemes kdeartwork-emoticons kdeartwork-iconthemes kdeartwork-kscreensaver kdeartwork-wallpapers kdeartwork-weatherwallpapers kdeartwork-styles

KDE PIM

An upgrade from very old KDE PIM to KF5-based KDE PIM may be causing blockers. 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
Note
This requires app-portage/gentoolkit to be installed. The Gentoolkit article provides more information about this useful utility.

Having done that, emerge blockers should be gone.

KDE Plasma High CPU usage

If you are noticing relatively high CPU usage (normally the dbus-daemon or kwin_x11 processes) when running KDE plasma make sure to check your syslog for errors that look like the following. Normally just tailing the log will enable you to see this right away since the error is thrown at such a high rate.

FILE /var/log/syslog
...
Oct 17 00:30:26 localhost obexd[32399]: obex_server_init failed 
Oct 17 00:30:26 localhost obexd[32401]: OBEX daemon 5.39 
Oct 17 00:30:26 localhost obexd[32401]: obex_server_init failed 
Oct 17 00:30:26 localhost obexd[32403]: OBEX daemon 5.39


This occurs due to being unable to connect to the bluetooth service you can ensure this is started by running /etc/init.d/bluetooth start. To ensure this doesn't happen on any other start run the following.

root #rc-update add bluetooth

Alternatively you can turn off bluetooth setting via the GUI.

CODE Modifying Bluetooth settings
System Settings --> Bluetooth --> Advanced Settings --> Enable Bluetooth integration

Compilation failure

dev-qt/qtwebkit is one of the few packages known to consistently fail when the j value on MAKEOPTS is set too high. If you see mysterious build failure, try lowering your j value. The safe value would be the number of processor times thread (not that plus one).

Similar case has been found when compiling with j option while KDE is running (observed with dev-qt/qtwebkit and dev-qt/qtwebengine). The build failure would be accompanied with desktop program lagging (or crashing). If this happen, you might want to consider compiling under TTY.

In other case when you see out-of-memory failure, you may want to get rid of pipe on CFLAGS.

See also