Comment 94 for bug 509273

Revision history for this message
Tom Louwrier (tom-louwrier) wrote : Re: [Lucid] ATI KMS causes DRM error on X200M

Did some googling on ATI and KMS and found the following:
Over at freedesktop.org there are multiple bugs linked to KMS and ATI cards. Most of it *should* be fixed in kernel 2.6.33 or above, which is not the one that Lucid runs now (2.6.32).
I linked this bug to the upstream one most likely to be related on bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=25662

This information is confirmed by https://wiki.ubuntu.com/X/KernelModeSetting. Here it is also stated that the latest kernel will be better when using KMS and Radeon cards. Also this page mentions that there is indeed a race condition possible with KMS and ATI:

=======
Module loading issues on ATI

If you get "RADEONDRIGetVersion failed" in Xorg.0.log it is because of a race issue. The radeon module is not initialized in time before X is starting, and X will falsely believe that there is no KMS support and do its own modesetting...
To make sure the radeon modules is initialized before gdm (and X) is starting, insert "modprobe radeon" into your /etc/init/gdm.conf just before the gdm-binary is executed:
    ...
    initctl emit starting-dm DM=gdm

    modprobe radeon
    exec gdm-binary $CONFIG_FILE
end script
======

So I installed the daily from http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/current/ dated 20100315.
I also edited /etc/init/gdm.con as described above. (Yes, that is 2 changes in 1 go, but I felt if one would fix it, the other wouldn't hurt.)
Results: this seems to help a bit. I've had a number of boots successfully without 'nomodeset'. One time it did fark up but rebooting gave me a good system. So not solved yet, but probably on the right track.

I think I see a pattern that things may be stable for a while (for better or for worse), but when something makes ureadahead regenerate its data things work OK once, then break. We might conclude that ureadahead speeds up booting so much, that it triggers the existing race condition between the kernel and X both trying to load the ATI driver .
In short: it trips over its own feet and falls flat on its face....

Will report back later.

cheers Tom