Upgrading from Kubuntu 8.04 to 9.04

Until last week I still ran Kubuntu 8.04 (Ubuntu with KDE) on my personal desktop. We also use this on all our corporate desktops, and my wife’s PC at home. I wanted to wait for KDE 4 to mature a bit more before upgrading, so intrepid wasn’t an option.

I waited 4 months after the release of jaunty, so the problems should be either documented or resolved, and the release notes didn’t mention anything that seemed too serious. So I decided to give it a test.

First I made a complete backup with rsync to an external USB2 harddrive (partitioned ext3). I partition my harddrive with separate root (/) and home (/home) partitions, so in the event of a reinstall I don’t have to restore my data from backup. So the second thing I did was to copy /, excluding /home, to /home/root.old/. I’ll keep this backup for a few months so I can compare config files and copy over whatever I’ve forgotten, like udev rules, apache configs, etc. You’d be surprised what stuff you changed in /etc a year ago and then forgot about. Finally, I cloned just the dotfiles in /home/tyler to /home/tyler.old. I expected KDE 4 to mangle all my settings, so just to be safe I kept a backup.

Then I upgraded, following the instructions. When the upgrade was done and I rebooted, everything was totally screwed up. The icon for the KDE menu had become a left-arrow, various hotkeys were remapped, customised application toolbars were screwed up, and the KDE menu hierarchy was a mess. To be fair, I tend to be hard on the menus and toolbars.

OK, log out, remove all the dotfiles in /home/tyler, and log in again. This should give me a default KDE 4 desktop and application environment. I can copy individual dotfiles back later. Nope, icons still borked. I expected this to happen (skipping a release, moving to KDE 4), so I reinstalled 9.04 directly as a fresh install. As usual, I selected manual partitioning, reused and reformatted the root partition, and reused /home without formatting. I also left /home/tyler with no dotfiles, again to make the transition easier.

After the install, things were much better. KDE 4’s desktop (Plasma) was happy, icons were normal, and I didn’t have 16 months of installed cruft all over the /usr/local tree (sometimes I compile from source, typically network hacking tools). I copied back dotfiles for firefox; wireshark; and the kde apps kontact, kmail, kabc, korganizer, kopete, and amarok; and a few others. I avoided copying anything with “event” and “ui” in it, as I wanted to try the new default UI settings.

Since then I’ve enabled the PPA for KDE updates and am now using KDE 4.3 (stock jaunty only offers 4.2.2).

What went wrong:

Intel video is totally borked. Seriously, if you are using Intel video, stay on intrepid or wait for karmic. The warning in the release notes is not worded strongly enough. DO NOT USE JAUNTY AND INTEL VIDEO. I’m using a GM965 chipset, which is partially functional. Google Earth and Kwin compositing don’t get along at all, and all OpenGL and video operations perform significantly worse under jaunty. There are random graphics corruption issues in KDE apps, but mousing over most of them causes them to redraw. Two months to go, and I’m seriously considering the karmic beta. Some help is available, but I’m not willing to add to my problems by running an unsupported kernel.

Kontact/Korganizer pops up an annoying dialog whenever you select a contact with more than one email address. This is a known issue in 4.2.2, and it prompted me to move to 4.3.

Kopete has inexplicably renamed all instances of “MSN Messenger”, including the variables in its rc files, to “WLM Messenger”. So after upgrading from Kopete for KDE 3, enable the “WLM Messenger” plugin, and then change a bunch of things:

  1. ~/.kde/share/config/kopeterc, replace all instances of “MSNProtocol” with “WlmProtocol”.
  2. ~/.kde/share/apps/kopete/contactlist.xml, replace all instances of “MSNProtocol” with “WlmProtocol”.
  3. ~/.kde/share/apps/kopete/, rename directory “msnpictures” to “wlmpictures”
  4. (If using the History plugin) ~/.kde/share/apps/kopete/logs/, rename directory “MSNProtocol” to “WlmProtocol”
  5. (If using the OTR plugin) ~/.kde/share/apps/kopete_otr/privkeys, replace all instances of “MSN Messenger” with “WLM Messenger”
  6. (If using the OTR plugin) ~/.kde/share/apps/kopete_otr/fingerprints, replace all instances of “MSN Messenger” with “WLM Messenger”

I really appreciate all the hard work done by the KDE developers. But I have a very special kick in the nuts for whoever did this. Please, either enable backwards compatibility, or write an upgrade script! If you must change the cosmetic name of an option, do so in the user interface. But don’t arbitrarily change variable and directory names! Some of us have existing configurations that we’d like to have continue working, thank you.

Amarok 2 still has poor iPod support, and crashes frequently. I have joined the hordes that downgraded to Amarok 1.4. I am now much happier. Configuring the iPod in Amarok 1.4 is easy:

  1. sudo apt-get install pmount
  2. append your iPod devices to /etc/pmount.allow (first and second USB devices for me, just in case I plugin a drive or stick at the same time):
  3. sudo dpkg-statoverride --update --add root root 4755 /usr/bin/eject
  4. In Amarok, set iPod pre-connect command to “pmount /dev/disk/by-label/IPODLABEL ipod” where “IPODLABEL” is the filesystem label of your device. You could use /dev/sdb2 here, but that changes if you plug in anything else.
  5. In Amarok, set iPod post-disconnect command to “pumount %m; eject /dev/disk/by-label/IPODLABEL”

Step 3 means any normal user can eject devices, which isn’t an issue on desktops. Anybody know what happened to the “kdeeject” command?

apt-get/KPackageKit/Synaptic now install packages in the “Recommended” line by default. This is a really dumb idea, at least until all the mainstream packages are updated. Why do I get exim installed if I just want smartmontools? I would like to be able to check my harddrive temperature without installing a mail server, thank you. Create /etc/apt/apt.conf.d/99no-install-recommends with the contents:

APT::Install-Recommends "false";

Unfortunately, it seems some of the metapackages such as ubuntu-restricted-extras have switched from using “Depends” (the correct behaviour) to “Recommends”. Thanks, guys! Now we’re damned if we do, and damned if we don’t.

kregexpeditor is gone, and no replacement exists. I mourn.

knetworkmanager has been replaced by the abundantly inferior “Network Management” plasmoid. Although you can reinstall it, it doesn’t work with openvpn and its functionality has been reduced (it doesn’t display new connections automatically, for instance. I’ve installed network-manager-gnome and network-manager-openvpn in the interim. However, openvpn won’t work until you edit /etc/dbus-1/system.d/nm-openvpn-service.conf and add the following to the “busconfig” stanza:

<policy user="at_console">
        <allow own="org.freedesktop.NetworkManager.openvpn"/>
        <allow send_destination="org.freedesktop.NetworkManager.openvpn"/>

Intel 3945 wireless is unstable. I guess it always was, but knetworkmanager had a habit of restarting the card. Now it’s just screwed. I’ve got a second wireless card, an Atheros AR242x chipset, which I’ve long used for injecting wireless packets to crack WEP networks. That works just fine. I imagine I’ll revisit this issue once I have to upgrade my wife’s laptop, which only has an Intel 3945. Or I’ll buy a ¬£10 Atheros and replace it.

Plasma crashes sometimes. But it restarts immediately, without losing anything. It did this the first time I logged in after a fresh install, which is not a strong selling point for using KDE 4 or Jaunty. If you have issues with this, delete ~/.kde/share/config/plasma-desktop-appletsrc and ~/.kde/share/config/plasma-appletsrc, or edit them and fix geometry lines that cannot fit on your screen or that use floating-point numbers.

What went right:

Suspend and resume work flawlessly. Perhaps this is because I no longer use the Intel wireless card, but I’ve had no problems at all and I’ve resumed at least 30 times since upgrading. This is the first time it has ever been stable on any laptop I use (mostly Dells using Intel or ATI video, and Intel wireless).

KDE 4 is shiny, shiny, shiny. Also a little slower, but that could be the Intel video issue. I love Kwin compositing, especially the exposé-like zooming out by application or by desktop. I hardly use the desktop pager now. The plasmoids (desktop widgets) are great. I see it is going to be hot tomorrow, and that it will rain on Thursday.

New KDE apps are no longer infested with an abundance of the letter K. Rock on, Plasma! Rock on, Dolphin. At last, sanity!

khexedit has been replaced by Okteta. It is better. Install it.

Webcam support on amd64 works better. My webcam used to freeze after 5-10 seconds. Now it works with Cheese and Skype.

The KDE games packages have shiny new Egyptian themes. They look very good, and many have polished new features.

Overall, I’m happy with KDE 4, but I’m not sure the Intel video issues are worth it. I’ll wait for Karmic, and then we’ll really have to evaluate if we are to move to that release internally. Unlike the rest of hardy, the Kubuntu packages go unmaintained this October, so we have little choice if we want to stay with KDE. Which is something we’re considering.

Tags: , , ,


Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.