[philiptellis] /bb|[^b]{2}/
Never stop Grokking

Wednesday, June 04, 2008

Hardy b0rked

On Friday I upgraded Ubuntu to 8.04. There are a bunch of problems with it.

Right at the start I noticed that my display wasn't working correctly. It was very jerky - even just drawing windows on screen was slow. Scrolling was impossible.

It turns out that while they chose to install the fglrx driver for my ATI card, they also installed the Mesa OpenGL drivers. The two aren't compatible. You'd think that there would be some simple package conflicts with this, but somehow the upgrade got both in. I got rid of the Mesa OpenGL package and reinstalled the fglrx package and display worked.

The next thing I noticed was that Firebug wouldn't work anymore. Hardy comes with the brand new Firefox 3, except that the version they chose isn't the latest, but is an older buggy version. The default installed is Firefox 3.0b5, while the latest available from getfirefox.com is 3.0rc1. The weird numbering is because it's still pre-release, but there have been significant fixes between 3.0b5 and 3.0rc1 that, for starters, make firebug work. Since most people who'd use Firefox 3 at this point in time are web developers, they'd also use Firebug, so picking a version that doesn't work with firebug just doesn't make sense.

I downloaded the new Firefox from getfirefox.com and got Firebug 1.1 from getfirebug.com and things worked.

Oh, the older version of Firefox also crashes regularly.

The third problem was video. mplayer said that it couldn't find a compatible xvideo device. This was easy to fix. /etc/mplayer/mplayer.conf had vo set to xv. In other words, the default video output device was xvideo, which doesn't appear to be supported. Why they'd use an unsupported output device by default is beyond my understanding, but I changed it to gl and it worked.

The better default would have been to just not put anything there. mplayer's fairly good at detecting these things at runtime. It's a small startup cost to pay, but it's better than having no video at all, and people who really want it to load faster will figure out the config options anyway.

Next is seahorse - the daemon that caches GPG and SSH keys. It wasn't starting up correctly. Instead, I noticed that gpg-agent was running and seahorse was running as a subprocess of gpg-agent. Why is this a problem? It's a problem because seahorse caches keys so that you don't have to enter your passphrase every time. Without this, I'd have to type in my GPG passphrase for every email I send so that it could be signed. While this is good on a multi-user system where you want things to be secure, I have a single-user box, and this just gets in the way.

The problem was in /etc/X11/Xsession.d/. There's a file called 90gpg-agent which starts up gpg-agent and overrides seahorse. I deleted this file and restarted X, and seahorse started up correctly.

Finally, and this is the most annoying thing I've come across so far.

My network interfaces are not recognise unless there is an active network available on an interface at boot-up time. Let me explain this with an example.

At home, I have a wireless network, while at work, I have a wired network. Now, I boot up my machine at home, and it detects the wireless network, and connects to it (eth1), and it also brings up lo, however, since I'm not connected to a wired network, my wired ethernet interface - eth0 - suddenly becomes non-existent, and there's no way to bring it up. It's as if the kernel hasn't detected its presence.

The only way to get the wired interface detected is to plug in an ethernet cable, and reboot the machine. Of course, when I do this, I also disable the wireless interface, so now that no longer exists, even if I re-enable it after booting.

This happened rarely with the older version, but for the most part, all my network interfaces were visible when I booted up, whether they were connected or not. This is a definite step backwards.

I haven't looked for a fix for this yet, but will post here once I find one.

On the plus side though, suspend now works quite well, and resume is quite fast. Of course, there's no point suspending if I'm going to need a different network interface when I resume.

A few more annoyances:

- My weather applets suddenly started showing the temperature in Fahrenheit instead of Celsius, which is what I'd set it to
- Shift+Space doesn't insert a space any more - it does nothing.

I fixed the space problem by going to Keyboard Preferences, then choosing Layouts, and under my selected Layout, choose Layout Options. Under that, go to the section on Using space key to input non-breakable space character, and set it to Space key outputs usual space at any level.