Gentoo KDE 4.4 - 4.6 Upgrade Guide
About the upgrade
With the stable KDE upgrade from KDE SC 4.4.5 to KDE SC 4.6.2, an entire major
release number is skipped. Naturally some functionality has been shifted between
packages, some has been replaced or deprecated. On the whole, the upgrade should
go very smooth. This page collects some tips and tricks for the rare cases when
it does not...
Before / while starting the upgrade
Amarok woes (bug 365719)
If you are an Amarok user, be warned, there is a bug that can effectively
delete all your playlist statistics on upgrade. You can get around this only by backing up
your Amarok database before the upgrade, and doing some rather nasty
manual hacks. More details can be found in the bug
report and in this KDE forum post.
USE flags to be set
Before you upgrade your system it is recommended that you set/unset several useflags.
Part of that is done automatically if you use a desktop/kde or desktop profile.
In detail you should use:
||Enables the consolekit framework for defining and tracking users, login sessions and seats
||Enables use of the dbus message bus system
||Enables the polkit framework for controlling privileges for system-wide services
||Enables support for udev Linux dynamic and persistent device naming
||DISABLES the use of sys-apps/hal for hardware access
Note that other combinations may technically be possible, but may be unsupported,
untested, or lead to unexpected loss of functionality.
If you changed any global useflags, you should later include the -N flag when running the actual emerge command
which updates your system, e.g.
Code Listing 2.1: Updating world after a useflag change
# emerge -uDNav world
Packages that you should deselect or unmerge before upgrade
KDE uses some packages outside kde-base for specific services. As an example,
bluetooth integration was in KDE SC 4.4 provided by net-wireless/kbluetooth.
KDE SC 4.6 uses the new bluetooth system provided by net-wireless/bluedevil, and
kbluetooth and bluedevil cannot be installed at the same time. Normally portage
should resolve this automatically. However, if you have net-wireless/kbluetooth
in your world file, portage will refuse to unmerge it, blocking the entire upgrade.
In this case you need to run the following command:
Code Listing 2.2: Removing (as an example) net-wireless/kbluetooth from your world file
# emerge --deselect net-wireless/kbluetooth
Afterwards portage should do a better job resolving the upgrade. A list of such
packages is given below.
|package used by KDE 4.4
||pulled in by bluetooth use flag
||now in main KDE distribution
Things to do after the upgrade
Packages you should remove after the upgrade
KDE SC 4.6 does not rely on HAL anymore. As HAL is deprecated and interferes with newer
mechanisms for hardware access, it should be removed after the upgrade. Stop the HAL daemon
and unmerge it, as well as now-obsolete devicekit and policykit (if any of these packages is already gone,
that's of course fine too):
Code Listing 3.1: Stopping and unmerging HAL et al
# /etc/init.d/hald stop
# emerge -cav hal hal-info policykit devicekit devicekit-disks devicekit-power
Note that you're removing the old policykit here; its successor is polkit. This change should
usually be transparent (and the useflag is still named policykit, dont get confused by this).
If you get at this point a message that hal cannot be unmerged as it is still required by some packages, please check
in the message which packages exactly still require it. That is considered a bug of these packages and should be
reported and fixed, as hal will go down the drain soon. Please consider unmerging the remaining packages that require HAL,
or updating them to a testing version that does not depend on hal anymore.
Finally, when hal is gone for good, you can remove its init script from the default runlevel:
Code Listing 3.2: Removing the hald init script from the runlevels
# rc-update del hald
To absolutely make sure that hal never comes back by accident, you can add an entry to the package.mask file:
Code Listing 3.3: /etc/portage/package.mask
In addition, if you have only now added support for these, you may have to add consolekit and dbus to the
Code Listing 3.4: Adding the consolekit and dbus init scripts to the default runlevel
# rc-update add dbus default
# rc-update add consolekit default
If you are rolling your own kernel, you'll want to install a new one with the following options:
Code Listing 3.5: Recommended kernel settings
CONFIG_USB_SUSPEND=y and CONFIG_IDE=n are required by sys-fs/udisks. The former enables power management
for devices attached at usb ports, the latter disables the old, deprecated and unsupported ide driver.
CONFIG_AUDITSYSCALL=y is required by sys-auth/consolekit for some of its features.
Now, you may want to reboot (to remove all remains of hal, get the new kernel, and start consolekit etc).
Packages that you should upgrade
Several applications developed for KDE SC 4.4 do not compile properly with KDE SC 4.6
anymore. In addition, newer application versions may require KDE SC 4.6 for its features
and do not build with KDE SC 4.4 anymore...
We try to stabilize newer versions together with KDE SC 4.6 so noone runs into
these problems; in case of doubts, below is the relevant information for comparison.
||maximum version for KDE 4.4
||minimum version for KDE 4.6
Possible problems after the upgrade has completed
Get rid of the KResource Migration Tool popup
There have been reports that the KResource Migration Tool
pops up on every login. There is no proper solution yet for
this, but you can see a workaround in bug 353200.
Rebuilding the application database
If your KMenu lacks any application or the whole application list,
you probably need to rebuild the KDE configuration cache. It is also
a possible fix for any KMenu related issues, like missing icons.
Run the following command with the user account having problems:
Code Listing 4.1: kbuildsycoca command
$ kbuildsycoca4 --noincremental
Double-hibernate or crashes after hibernate (bug 363363)
KDE 4.6 handles "sleep button" events on its own, and the system correctly
hibernates. If you have manually set up any other programs to handle these events (e.g.
acpid), please disable that, as you may otherwise get double hibernation and/or
Shutdown, reboot, logout does not work (bug 326393)
There is some strange interaction between the sound system and the logout mechanism
going on. Open systemsettings, and disable the "logout sound". Afterwards,
logging out will likely work.
The desktop background covers all windows (bug 365623)
In rare cases, after working with several screens the desktop settings are not cleaned
up properly. The result is that the desktop background seems to cover all windows.
More details plus some manual workarounds can be found in this
KDE bug report.
No login possible, hangs at splash screen (bug 365637)
If you have been playing with unstable Gnome stuff (naughty!) you may encounter
a so-far unexplained incompatibility. Logging in to KDE fails as soon as
net-libs/glib-networking is installed. Unmerge that package and you should be fine.
The contents of this document, unless otherwise expressly stated, are licensed under the CC-BY-SA-2.5 license. The Gentoo Name and Logo Usage Guidelines apply.