Comment 12 for bug 421842

Revision history for this message
Cedders (cedric-gn) wrote :

It looks like 2 or 3 separate bugs all introduced into radeon_drv.so since Jaunty. From latest karmic, if I do

  sudo dpkg -i --force-downgrade xserver-xorg-video-radeon_6.12.1-0ubuntu2_i386.deb

everything is fine. Compiz effects are a bit slow, but I don't get segfaults or any screen corruption. So I tracked through the git versions...

1) A small amount of screen corruption around the window borders (with DRI and compiz visual effects) seems to have been introduced between xf86-video-ati-6.12.1 and xf86-video-ati-6.12.2. (I think the console/mode switching problems may have started during this period too, but were later fixed.)

2) The segfault was introduced between xf86-video-ati-6.12.2 and xf86-video-ati-6.12.3 in commit 3c348091ae5d88ef3cb850889ca74674e0530b4e (see attached) The conditions to produce this involve resizing a window or doing an operation larger than particular dimensions (with DRI and compiz visual effects), and it looks like the bad commit sets some dimension maxima too optimistically. Changing a line to
    xf86CrtcSetSizeRange (pScrn, 320, 200, 2560, 1200);
stops the segfault, but I guess problems may go deeper than just that line, because it shouldn't segfault at all. This bug is also associated with screen corruption over large areas when a window with focus is dragged over one without focus.

3) The "tartan" patterns and font rendering problems (which only occur *without* DRI and compiz visual effects) are not present in xf86-video-ati-6.12.4, but are in the master head. I don't know how to locate these to an exact commit because of a merge and some compilation problems.

Please let me know if I should do anything else, like report these upstream. I'd suggest this bug (421842) concentrates on the segfault (number 2 above), and I could open another ubuntu bug for number 3). Hope this isn't too confusing.