Wednesday, May 28, 2008

Ubuntu 8.04 Crashes Upon Shutdown

My laptop used to hang intermittently during shutdown when using Ubuntu Linux 7.10. Now the problem has become worse after the upgrade to 8.04 - it's almost always reproducible on my Dell 700m - my screen just turns black at shutdown. Everything freezes, even on the hardware level: when the low-level 'Caps Lock' and 'Number Lock' LEDs don't even respond to keypresses, it's almost guaranteed that the hardware is locked up.

It is a critical problem, and something that has caught me by surprise. Initially, I assumed that the problem is some minor buggy code in Xserver that's causing a race condition resulting in the hangups, something I assumed will be fixed with the upgrade. It turns out that I was wrong - the upgrade has actually made it worse!

It's unacceptable that I have to hard reset my laptop every single time I shutdown. Often when it goes back up again, the ext3 journaling system indicates that I had orphaned inodes to be cleaned up, or in other words, uncompleted data writes to harddisk suggesting possible data corruption.

While looking for a solution, I was surprised that the problem seems to be quite widespread; there are plenty of bug submissions (like this, this or this) that has been lingering around for Intel's 8xx/9xx series of graphics cards already.

It seems that the current 'xserver-xorg-video-intel' package is relatively new and for some reason does not initialize the graphics card properly. The current fix that works for me is to make some modifications to Xorg.conf, presumably to either force it to initialize itself properly or avoid using the garbaged area:

Section "Device"
Identifier "Intel Corporation 82852/855GM Integrated Graphics Device"
Driver "intel"
BusID "PCI:0:2:0"
Option "ForceEnablePipeA" "true"

If you're having the same problems with your Intel-based graphics card on Ubuntu, adding the line in red might help you.

I'm still annoyed by the fact that Ubuntu has decided to ship and use 'xserver-xorg-video-intel' instead of 'xserver-xorg-video-i810' (which was directly contributed by Intel, methinks) that is more stable, and may have avoided the problem in the first place.

Maybe the 'intel' driver has more features and improvements than the 'i810', and more actively maintained, but it is not right that end-users have to bear the brunt of critical bugs that freezes the computer - end users are not guinea pigs for faulty drivers that are not ready for prime time yet, irregardless of whatever new features that is touted to have. If it's not ready, it's not ready, geddit?

I don't think the Open Source guys want to tarred together with a the same brush as a buggy incomplete operating system like Windows Vista, right? :P


Post a Comment