First I thought this is just a specific ATI/Imac problem that's why this little howto used to be just a part of the extensive "Ubuntu on an Imac" howto. Now I found, that problems with the Kernel Mode Setting (KMS) also affect other graphics cards. These problems scale up to freezing your GUI completely or restarting your X without warning, thus things you don't want to experience when doing something important. In this howto I describe a workaround that should make your Ubuntu reliable again, till they fixed things. If you're suddenly experiencing problems concerning the performance of your graphic cards after upgrading to Ubuntu 10.04 , most probably this could help you, too.
With a fresh install or an upgrade to Ubuntu 10.04 you might experience some annoying problems with the behaviour of your graphics card. When using Flash in a Browser or using wine with a program, that doesn't ask for a lot of performance, you might actually freeze your system. Actually you don't really freeze the system, since the cpu load stays the same, but you freeze your graphical user interface. With Mplayer, or any other player using xvideo, you also experience a wierd group of stripes sorrounding rapid movements. It reminds you a bit on what you see, when you have to activate deinterlacing, but than it's still different. Anyhow: it's pretty annoying. Funny part here is, when you enable compiz (and haven't enabled "Undirect Fullscreen Windows" in CompizConfig") you don't see this error.
After looking into that problem a bit I set my bets on KMS (Kernel Mode Setting) beeing responsible for the problems with Ubuntu 10.04 since I understood, that KMS was introduced to the ATI graphic cards (Imacs also use these cards) with version 10.04, but also seems to produce problems with some other cards. As I read it, the biggest advantage is that the kernel (the basic piece of software linux/ubuntu runs on) can now directly access the graphics card, without having to use a driver in between. Furthermore the biggest advantage is, that you can now have a more shiny startup animation. So for the sake of this, people are now experiencing problems it seems ;)
The Solution: Disable KMS
You can only do this at boottime, so you need to edit the file /etc/default/grub (with admin rights) and look for the line
and change it to
to actually boot with this change no you have to open up a shell and enter
this tells your bootloader to load ubuntu with kms disabled after a reboot everything should run as smoothly as with ubuntu 9.10
Update concerning Nvidia proprietary drivers
It seems that this doesn't fix the freezing problem completely on non ati-cards, especially when using proprietary drivers. On Nvidia cards you should do this AND go to System/Administration/Hardware Drivers and choose "version current" instead of the 173 version, that is chosen by default. At least on my machine everything is stable again since this change meaning no freezes or any other annoyances any more!!
Ubuntu 11.10 / 12.04 update concerning bootup with older ATI cards
The newest Ubuntu versions show big problems during bootup
- hanging, thus never showing the login screen
- sometimes you'll see a splash screen, sometimes not
- ascii bootscreen
- sometimes having to try to boot up to 5 times
It seemed that this issue is anyhow splash screen related, so disabling it should resolve this problem. At least on a machine with a rather old ATI Card it did, so you should give it a try. Additionally it might also help with other cards. Here is how you achieve it:
- as with disabling KMS (see above) you have to change the bootparameters
- open a terminal window (or hit CTRL + ALT + T if using gnome), paste the following, enter your password and hit return
sudo gedit /etc/default/grub
- look for this line
- and change it to
- this should also work
- if you want to see everything going on during bootup and thus also where it hangs, if this issue isn't resolved this way you should also delete the quiet, the line should look like this
- safe the file and exit the text editor
- to actually apply these changes, you have to update the bootloader:
- paste the folowing in the terminal window, enter your password and hit return
- done! try a few reboots!