Upgrading a desktop to Ubuntu 8.04

Linux, Open Source 2 Comments

I’ve had an Ubuntu 7.1 ("Feisty Fawn" "Gutsy Gibbon" - doh) desktop install for a while for testing purposes, and as usual they moved to a new version within a few weeks of me getting it set up. I don’t have a lot of free time and I’m still not a convert to desktop Linux, so I wasn’t in a rush to upgrade to the spanking new Ubuntu 8.04 ("Hardy Heron"). I actually configured an Ubuntu 8.04 server machine recently for a client, but that was simple & easy as Debian-based, command-line only servers generally tend to be. However, someone raised an issue with the Ogre build with some of the memory allocator changes on 8.04, which only occurred with the updated version of gcc it comes with, so that forced my hand. This morning I had a spare couple of hours so I thought I’d give it a go.

Luckily, Ubuntu (like all Debian derivatives) comes with a semi-automated way to upgrade to a new major version so it wasn’t going to be a fresh install. Some people like to start from scratch, but I’m busy and besides, I deliberately wanted to do an upgrade rather than a clean install to see how well it worked, since I’ve never done it before. I figure this is what a ‘regular user’ would do, given that the automatic updates are constantly prodding you about upgrading, and I’m always interested in putting desktop Linux through it’s paces in the way I think an average non-technical user would, because I hold out hope that one day, it might not be such a pain in the ass and will become a more realistic option for the masses.

Firstly, I was very conscientious and uninstalled Envy, since it makes changes to your kernel and there are very strict warnings about removing it before doing a distribution upgrade. That gave me my first problem, in that after returning to the default setup my screen was horribly corrupted, as I’m woefully used to seeing with desktop Linux. A quick flip to a console, changing the resolution to a basic VESA mode and restarting gdm sorted that out at least. So then I was free to install the new version via the regular software update wizard. That went pretty smoothly, and after restart I had the new default ‘heron embossed’ backdrop, albeit still at my low resolution and software drivers. Rather than install the new version of Envy (NG) right away, I figured I’d give OOTB Ubuntu a chance and let it install the proprietary drivers itself.

That didn’t go so well. It installed the drivers, but on reboot I could only see the top-left quarter of what should have been the login screen, as if I had a virtual window. It was still running at the VESA resolution, so I figured maybe it’s just that it’s gotten confused about the hardware driver’s preferred resolution and the monitor resolution. So, after logging in I tried altering the resolution through the standard ‘Screen Resolution’ widget, which I could just about get to within my tiny ‘window’ on the desktop. That worked insofar as the resolution of the desktop changed, but bizarrely now, only the top-left of the monitor area was being rendered, the rest was either blank, or sometimes it would have the desktop background but nothing else (no windows, pointers etc) except in that top-left area. Even Compiz worked fine, but only in that area, I had to pan other areas into view to see them.

So, I tried installing EnvyNG instead. Same result. Suspecting some borked Xorg configuration setting, I initially tweaked the setting I’d changed to VESA manually back to the native resolution and restarted gdm, but that resulted in a hard crash on ALT-F7. Doing some reading indicated that 8.04 has changed the xorg.conf rather significantly, so I dropped back to a console, stopped gdm and use dpkg-reconfigure xserver-xorg to recreate my xorg.conf from scratch. Restarting gdm afterwards and switching to it with ALT-F7 just brought me a hard crash. Lovely.

Rebooting, I was presented with a complete login screen this time, albeit at default VESA resolution again. Logging in led to a completely white desktop though - I could spin it about as a cube with Compiz and I could see the Compiz logo on the top, but all the other sides of the cube were white. It was also slow as hell, indicating it was running on mesa, as expected, but I couldn’t explain why the desktops refused to render. Dropping back to a console again with CTRL-ALT-F1, I re-enabled EnvyNG and got it to reinstall the driver. Another reboot later and finally everything works again. I looked at my xorg.conf and indeed it’s completely different in structure to the one that had been in place after the upgrade.

The moral appears to be that if you’re upgrading 7.1 to 8.04, reconfiguring the xserver so that it rewrites the xorg.conf should be the first thing you do, before trying to install any custom drivers (via Envy or otherwise probably). For whatever reason the upgrade doesn’t seem to do that, and that caused me quite a bit of hassle. Seems that no matter what, Xorg is always a thorn in my side when I use desktop Linux. At least I can assume that a clean install of 8.04 wouldn’t have suffered from this (I think), but still, it still gives me little faith that a non-technical user can rely on Ubuntu long-term without technical backup to call on, since they would have been funnelled through the upgrade route and had the same problems I had; once again it’s ’so near, but so far’.

Unfortunately resolving this burned up all my time, and I also have to rebuild a bunch of Ogre dependencies which seem to have gone missing. I’ll have to look into the new gcc issues another time.

Gutsy revisited - Envy, Compiz & Shared Folders

Linux, Open Source 6 Comments

Yesterday’s Ubuntu install didn’t exactly go entirely to plan, but today I spent a little time trying to resolve things. My overall approach to this is to try to use the most user-friendly tools available first before starting to hack on the command-line - as a fan of running Linux servers which don’t even have an X server running this might seem odd, but I really want to know how well Ubuntu does as a user-facing OS while I’m doing this. For a server I just want something that does its job well, is resource-friendly and fast to admin remotely, hence SSH-only admin access is a perfect fit for that purpose. Desktop OS’s need to be configurable via their GUI alone to pass muster.

I had located Envy yesterday, a third party application for automatically configuring NVIDIA and ATI drivers, so I downloaded it and tried it out. And what do you know, it worked flawlessly, downloading its own dependencies and the drivers, modifying the Xorg config without ever having to touch any files manually - a swift reboot and my HD 2600 was purring along in accelerated mode - no upgrade to 8.04 required as had been suggested. I examined what it did, and it really just performed the manual steps I’d seen documented elsewhere for installing the ATI drivers, but importantly it wrapped it all up in a user-friendly package. Kudos to Alberto Milone for this work, the real question is why Ubuntu couldn’t do this itself, or isn’t packaged with Envy in the first place.

I had a little bit of fun with Compiz - the 3D desktop manager which is enabled by default on Ubuntu now. Most of the effects are of course shamelessly ripped off from either OS X or Vista, with the exception of things like the ‘desktop cube’, shown here on the right. It’s generally very attractive and very configurable though, so on the whole I like it. I do think the settings need to be exposed in a more friendly way in future versions though, it took me a while to figure out how to enable different plugins and configure the combinations of them appropriately.

Because Ubuntu’s package manager is apt based, it’s very easy to install new things and the Add/Remove applications UI is pretty intuitive - arguably it’s easier for a regular user to grab a bunch of extra software than it is on Windows and OS X because so much of it is right there in front of them. I’m used to apt on Debian and I must admit that it was hugely painful to have to use RedHat’s up2date and RPM-based tools after that; nothing is better than apt at resolving dependencies and tidying up after itself IMO. I liked that in a number of cases, Ubuntu realised that I needed new components to do something I wanted and offered to install them automatically, a nice touch.

A case in point is file sharing with Windows machines - opening the Shared Folders view immediately offered to install the NFS and Samba services. All well and good, and sharing a folder was very easy. But - and this is a big ‘but’ - it fell at the last hurdle because it fails to configure any Samba passwords by default, so while you can see the share, you can’t actually access it! You have to drop to a console and issue the usual ’sudo smbpasswd -a <username>’. That was a huge disappointment because after the auto-install of the services it was really looking like it was going to be nice and automated.

So, I’m feeling a little better about Ubuntu now that Envy solved my driver issues, however it still has many rough edges which make it hard to recommend to non-geeks yet. It’s probably one of the friendliest desktop Linux attempts I’ve seen so far, but it still continues the tradition of stumbling at the last usability hurdle - like the failed driver install, and the missing final step of the shared folder configuration -  a less technical user would have just hit a brick wall and probably given up. It’s definitely getting there, but that last 10% is obviously still proving tricky.

A Gutsy Fighter

Linux, Open Source, Tech 14 Comments

I haven’t had a lot of time to play with much lately, but while I processed some OGRE patches (ie during the times I was waiting for builds) this morning I finally got around to installing the latest Ubuntu 7.10 (Gutsy Gibbon) on my new test box. It already has XP and Vista on it, so it’s getting quite cosy in there, but since the box is only for testing I can afford to burn a fair amount of space on OS overhead.

Firstly the positive points:

  • I like the fact that it’s a combined Live CD and installer, that’s a nice touch. You can have a play with Ubuntu (albeit rather slowly) before you choose to install
  • The install was very easy. Not very many steps, and I could just let it use the remaining spare space on the drive since it’s the last one to the party. The default bootloader setup chains nicely back to the Vista bootloader, which in turn chains back to XP, no issues there.
  • The default desktop is attractive and runs decently even without any specific acceleration
  • The online update options are prominent and simple as soon as you start up
  • There’s finally an ‘install proprietary graphics drivers’ option when you first boot up

So first impressions were good. I still don’t find the Gnome desktop as professional looking as either Windows or OS X, it still has a slightly unpolished feel to it; nothing major but the feeling is definitely there. It wouldn’t stop me using it, but my visceral impression is that it feels a little cheap.

More importantly though, the quick ‘install graphics driver’ feature, the presence of which had the potential to mollify one of my primary gripes with previous desktop Linux experiences, totally failed to deliver. It correctly detected that I had an ATI Radeon in the machine (specifically a HD 2600), and went on to download and install the driver, prompting me for a reboot. All well I thought. Unfortunately after said reboot I was confronted with a sequence of video mode changes that were clearly trying to configure the X server, followed by a fallback to ‘low res’ mode which is even worse than the VESA mode it started up in. I experimented a little with telling it specifically some details about the hardware, but that didn’t work either. Once again I’m confronted with the situation that X server / video driver configuration on desktop Linux completely sucks.

I didn’t have any more time to fart about with it today so it’s been shelved for now. Afterwards I found a thread about Envy which is supposed to make the process slicker than the default Ubuntu version, so I’ll try that next time I have chance. However, I still can’t get away from the fact that some variation of this X server nonsense happens to me every single time I try to install a desktop Linux, no matter what distro I use, and continues to be the primary reason why I find it hard to take it seriously. I know drivers are not easy, but the fact is that Windows and OS X never make this process as awkward as Linux continuously does. Is it something fundamentally overcomplicated in the design of the X server perhaps?

Here’s what I want to do: 1) install OS, 2) install graphics driver, 3) get on with stuff. With desktop Linux, for me at least, it’s always been: 1) install OS, 2) install graphics driver, 3) spend the next few hours arseing about trying to get the graphics driver and X server to work properly together. That’s not time well spent. I love Linux on the server, I really do, but I really can’t see why in 2008 setting up a graphics card is still a hard problem.

What do you know, other OS’s have teething problems too

Linux, OS X, Tech, Windows 5 Comments

Those of you who read this blog regularly will know that I’m pretty unimpressed with Vista, whether it’s the ham-fisted UAC implementation, the ‘burn resources for zero practical benefit’ attitude of Aero and the generally derivative nature of most of its enhancements. As an OS it rates very much in the ‘could do better’ camp, and when measured against a 5-year development cycle it edges into ‘what the bloody hell have you all been doing?’ territory.

However in the interests of balance it’s worth pointing out that it’s not the only OS released recently to have some issues. OS X 10.5 aka ‘Leopard’ has just been released, to less than a rapturous welcome in some cases - it appears there’s much to like about it, but there’s also some counter points and even a fair amount of bitching going on about some of the design elements, and it appears that the upgrade can be far from smooth for users of some add-on software. The latter you could blame on said add-on software screwing with the kernel, but it appears to be fairly popular software so I’m surprised Apple didn’t incorporate that into their testing, given how big they are on usability. I never jump in on a first iteration of core software like this anyway, I don’t have the time for it, although my Mac is currently in for repairs in any case.

There was also the new release of Ubuntu, 7.10 aka Gutsy Gibbon, and that’s been fraught with some networking issues in particular - the kind of thing you would have thought should be pretty solid by now, and some people are also having some Xorg issues (something I’m not unused to!) with the new version.

Of course, no doubt all these things will be rectified via patches and the like, but it’s only fair to say that Microsoft aren’t the only ones to have rollout problems on a new OS. I have to say that my installation & setup experience with Vista was actually very good (especially since drivers had stabilised by the time I installed it), it’s the end result that I found rather underwhelming.

I do intend to install Leopard early next year, and the new Ubuntu may well get an outing on one of my new test boxes I plan to set up soon. In both cases I’ll let others take the initial hit though, early adoption is not something I particularly have time to waste on right now.