Difference between revisions of "KDE/Plasma 5 upgrade"

From Gentoo Wiki
< KDE
Jump to:navigation Jump to:search
(Drop optional overlay part as keywording isn't needed anymore)
Line 60: Line 60:
  
 
{{RootCmd|emerge --ask --changed-use --newrepo --deep world}}
 
{{RootCmd|emerge --ask --changed-use --newrepo --deep world}}
 
=== Overlay (optional) ===
 
 
Be warned that you are entering development grounds. The [[KDE/Overlay|KDE Overlay]] provides a means to access more recent versions of KDE Plasma, Applications and Frameworks and can be accessed using [[layman]]:
 
 
{{RootCmd
 
|echo "app-portage/layman sync-plugin-portage" >> /etc/portage/package.use
 
|emerge --ask app-portage/layman
 
|layman --fetch --add kde
 
}}
 
 
==== Unmasking and keywording for stable users ====
 
 
For stable users, it also provides package.keywords lists to unmask not-yet-stabilised versions. Please note that this can often require unmasking additional dependencies that are out of scope of these lists.
 
 
{{Note|The following examples use {{Path|/var/lib/layman}} as the overlay path.}}
 
 
{{RootCmd
 
|cd /etc/portage/package.accept_keywords
 
|ln -s /var/lib/layman/kde/Documentation/package.accept_keywords/kde-plasma-5.5.keywords
 
}}
 
 
{{Note|KDE Plasma is in constant change and weekly there's new package version available and new frameworks version and kde-plasma. Please ensure you're using the latest "stable" version (if we can talk of stable version), paying attention to the files available in the directory {{Path|/var/lib/layman/kde/Documentation/package.accept_keywords}} and use it in the above command, replacing by the desired version available.}}
 
  
 
== Installation ==
 
== Installation ==

Revision as of 16:28, 7 April 2016

Plasma 5 is the next generation of KDE's desktop environment, based on Qt 5 and KDE Frameworks 5. Upgrading is fairly simple, although it cannot be coinstalled with Plasma 4 due to upstream design decisions.

Note that while Plasma 5 is in a good state, it is still under heavy upstream development and is missing some features present in KDE 4.

Preparations

Profile

It is highly recommended to use the Plasma desktop profile as it sets a number of important options to ensure things run smoothly.

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/kde
  [7]   default/linux/amd64/13.0/desktop/kde/systemd
  [8]   default/linux/amd64/13.0/desktop/plasma
  [9]   default/linux/amd64/13.0/desktop/plasma/systemd
  ...

Then, select the right profile, substituting the appropriate profile number (which may vary between configurations):

root #eselect profile set 8

make.conf

The plasma profile now takes care of the right settings for a full-blown KDE Plasma/Applications installation. In the foreseeable future, this entails both Qt 4 as well as Qt 5 based packages. It also handles possible USE flag conflicts on a per-package basis. If there are any existing definitions of qt4, kde or plasma in /etc/portage/make.conf, make sure to remove them before proceeding, else conflicts may arise. In case of USE handbook, the recommendation is to either remove it as well, or disable it if the KDE documentation is not needed.

Check for these flags and if necessary alter the file using your favourite editor:

root #grep -e "qt[[:digit:]]" -e "handbook" -e "kde" -e "plasma" /etc/portage/make.conf
Note
Older setups might still use the deprecated /etc/make.conf instead.

You should now also revise your entries in /etc/portage/package.use:

root #grep -e "qt[[:digit:]]$" -e "qt[[:digit:]] " -e "handbook$" -e "handbook " -R /etc/portage/package.use
root #grep -e "kde$" -e "kde " -e "plasma$" -e "plasma " -R /etc/portage/package.use

Of course you can adjust these flags afterwards again.

Note
If you run into a new conflict related to those flags, please report that to the Gentoo KDE team.

Clean up @world

Now is a good time to clean up @world. If it contains packages either directly from or depending on KDE Workspaces 4, it will lead to emerge conflicts later on. The following command will probably take some time, but is not going to remove anything yet - examine the output. If you are sure to proceed, run it without --pretend again. Only the @world file is going to be changed - while the packages stay installed, they will not block a subsequent installation of Plasma 5.

root #for x in freespacenotifier kcheckpass kcminit kdebase-cursors kdebase-startkde kdm kephal khotkeys kinfocenter klipper kmenuedit krunner kscreensaver ksmserver ksplash kstartupconfig kstyles ksysguard ksystraycmd kwin kwrited libkgreeter libkworkspace liboxygenstyle libplasmaclock libplasmagenericshell libtaskmanager plasma-workspace powerdevil qguiplatformplugin_kde solid-actions-kcm systemsettings; do equery -q d ${x} | sed -e "s/-[0-9].*//"; done | sed -e "/kdebase-meta/g" -e "/kde-meta/g" | xargs emerge --deselect --pretend
Note
This requires app-portage/gentoolkit to be installed. See also: Gentoolkit

Apply the changes

Any packages affected by the profile change need to be rebuilt:

root #emerge --ask --changed-use --newrepo --deep world

Installation

The kde-plasma/plasma-meta package provides the full Plasma 5 suite:

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

Alternatively, kde-plasma/plasma-desktop provides the basic desktop, leaving you free to install only the extra packages you require:

root #emerge --ask kde-plasma/plasma-desktop
Note
Please note that you will be missing important packages such as kde-plasma/powerdevil (power management, suspend and hibernate options) and kde-plasma/systemsettings if you go that way.

Display manager

Up to this point, KDM will have served as display manager on most KDE 4 systems. As development on it has stopped, SDDM (Simple Desktop Display Manager) is now the recommended login manager and already got installed via kde-plasma/plasma-meta. 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.

Applications

The previous steps have taken care of removing Plasma 4 and reverse dependencies from @world in order to be able to install Plasma 5. Consequentially, at this point there are many dangling applications installed that would be removed by emerge --depclean. However, installing KDE Applications will bring many of those dependencies back, so precious CPU time can be saved by promptly proceeding with KDE#Applications.

Migration

KWallet

KWallet 5 will have to open your wallet from KWallet 4 and import all the data into a new wallet. For that purpose, kde-apps/kwalletd needs to be present at least once in a session after upgrade, but is still required for any KDE4-based application that might be using it. Run kde-apps/kwalletmanager to check which applications have been accessing it in the past. If it is clear that no legacy package is using it anymore, it can be removed after migration.

root #echo "kde-apps/kdebase-runtime-meta -oldwallet" >> /etc/portage/package.use
root #emerge --ask --oneshot kde-apps/kdebase-runtime-meta && emerge -C kde-apps/kwalletd

SSH/GPG Agent startup/shutdown scripts

Configuration moved to /etc/plasma/{startup,shutdown} for Plasma 5, you will need to copy your scripts from the old location.

Note
For KDE SC 4 the scripts are located in /etc/kde/{startup,shutdown}.

Troubleshooting

The most common issue with upgrading is running into blockers. Unfortunately, some packages just can't be co-installed so they'll need to be removed. Feel free to drop by #gentoo or #gentoo-kde for assistance with resolving any blockers.

Missing systray icons

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.5 has a means to convert old xembed-based system tray icons to StatusNotifier icons.

The workaround can be enabled by activating the legacy-systray and GUI-specific (gtk2, gtk3, qt4) USE flags for kde-plasma/plasma-desktop.

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

Alternatively, the required packages can be installed manually:

For Qt 4 applications:

root #emerge --ask dev-libs/sni-qt

For GTK+ 2 applications

root #emerge --ask dev-libs/libappindicator:2

For GTK+ 3 applications:

root #emerge --ask dev-libs/libappindicator:3

Pidgin

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

Skype

net-im/skype is a 32-bit binary, you need to enable abi_x86_32 on dev-libs/sni-qt.

ck-list-sessions has wrong session information

Start plasma without exec or ck-launch-session. Using dbus-launch --sh-syntax --exit-with-session "/usr/bin/startkde" was what I ended up using.

Missing shutdown/reboot/suspend/hibernate buttons (using OpenRC)

Please ensure that kde-plasma/powerdevil and sys-power/upower-pm-utils or sys-power/upower are installed. Also ensure that your user belongs to the users group.

If you use x11-misc/sddm, make sure it is version 0.12.0-r1 or later. Please 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

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

SDDM display issues

Check that your user (and sddm user) are in the video group.

SDDM: KCM unable to change themes

SDDM needs a configuration file so that the KCM module can change themes. This file is not created during the SDDM installation, so it needs to be created manually afterwards:

root #sddm --example-config > /etc/sddm.conf

Missing application menus (users of appmenu-qt)

If previously appmenu-qt was installed, application menus (file, edit, view, help, etc) in kdelibs4-based packages might be missing. There is no way to fix this via a GUI, kde rc files will need to be edited to restore the application menu in Plasma 5. Find out which files were modified using the following command:

user $grep -iR menubar ~/.kde4

Change any lines containing MenuBar=Disabled to MenuBar=true, and the next time related applications are started, the menus should re-appear. Make sure all instances of MenuBar in the rc files are changed - some have more than one, like kmail2.

appmenu-qt5 is not ready for prime time yet. It was tried with an initial ebuild and even with access violations, it does not work. Despite it being available on some other distros :(

References