Ever since the big DRM inclusion in 2.6.33-rc4, some icons on Cairo Dock and in XBMC are not displayed correctly on my aspire one (i945). With Cairo Dock (using OpenGL), icons are displayed with empty interlaced lines, some widgets are also experiencing this same behaviour. On mouse over, icons flicker. The problem is not seen if I start Cairo Dock without OpenGL. On XBMC, it's pretty much the same thing that's happening with some icons (stop button, mouse icon, moving news text, description and date, etc.). On gnome desktop, pressing alt-tab to go from one window to the other shows the same glitch.
When I go back to versions prior to 2.6.33-rc4, the glitch disappears. Since I'm on Ubuntu, I tried updating libdrm, mesa and Xorg video driver to the latest versions through Xorg-Edgers PPA : however, the problem is still there. So, it means the problem arises from the kernel, not from a library or the Xorg i915 driver. It's trigged by a DRM modification in the kernel.
By the way, I didn't mention it, but the problem is still there up until now (RC7), I experienced it in each RC since RC4.
Problem also seen on some OpenGL screensavers (ex.: Euphoria, Flux, Solar Wind, but not on Bitmap Flag or KPendulum).
Would it be possible to bisect into the merge to see exactly which commit caused the problem? Also, please try different versions of the X driver, iirc we had some rendering issues with that recently that may be exposed with new kernels, but hopefully they're fixed now.
OK, I'll use the 2.6.33-rc3 and merge one at a time the DRM commits. I hope I'll find it easily. However, I don't have time to do it before friday.
About the X driver, I'm using 2.9.0. However, I tested version 2.9.1 with updated libdrm and mesa against different kernel versions (rc3 and above), and with version 2.10.0 with updated libdrm and mesa (all from PPA Xorg-edgers). The problem appeared with rc4 and above, but not with prior version (rc3). So I'm pretty sure it comes from one of the commits in the kernel.
So, I'll be back on the track friday.
Great, thanks. You might try the drm-intel-next branch from the drm-intel tree at git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel.git, that has our very latest fixes. There have also been a good number of libdrm fixes landed recently, Xorg edgers may include those now...
Well, quickly, I tested the latest kernel version under drm-intel-next available (2.6.33-997-20100211) from http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next/current/. The problem was still there. I then upgraded to the latest X driver (2.10.0), mesa and libdrm from Xorg Edger (code tagged from 20100210). Conclusion : the problem persisted. So either the kernel from ubuntu doesn't contain the latest fixes or it's not fixed at all.
I don't have other choices than to bisect commits linked to drm/i915 between rc3 and rc4. I'll do it tonight and tomorrow. I'll give you my results when completed. It may not come from the kernel, but as you stated previously, it may now be exposed from a commit. I'll find from which commit it comes from, then we'll see if it's caused by it or exposed by it.
Ok, I found out the commit in question. I retrieved eevery commits related to the general DRM or i915. When I apply commit 76446cac68568fc7f5168a27deaf803ed22a4360, named drm/i915: execbuf2 support, pushed on January 6th, the problem appears.
How can I help you from here?
First-Bad-Commit : 76446cac68568fc7f5168a27deaf803ed22a4360
Author: Jesse Barnes <firstname.lastname@example.org>
Date: Thu Dec 17 22:05:42 2009 -0500
drm/i915: execbuf2 support
Signed-off-by: Jesse Barnes <email@example.com>
[ickle: Remove pre-emptive clear_fence_reg()]
Signed-off-by: Chris Wilson <firstname.lastname@example.org>
Signed-off-by: Kristian Høgsberg <email@example.com>
[anholt: Removed dmesg spam]
Signed-off-by: Eric Anholt <firstname.lastname@example.org>
Does the corruption still occur if you use the latest libdrm, 2.4.18?
Chris, can you take a look?
I tested libdrm 2.4.18 with kernel 2.6.33-rc8 and it's even worst than with libdrm from Ubuntu 9.10. Instead of having only some crippled elements under XBMC, everything is now displayed incorrectly.
I have to add something about XBMC using kernel 2.6.33-rc8 and libdrm 2.4.18:
I said that the corruption was worst because it's now on all the screen, not only limited to some components (text and icons overlapping background). However, I forgot to tell that there is a kind of pattern in the corruption since I installed libdrm 2.4.18. It's like there was a number of columns appearing created by the pattern of the corruptions (similar to random interlacing) : 10 columns wide (my screen is 1024X600) where I can still figure out the image or text through that randomly interlaced fence.
I also updated to latest Xorg-Edgers versions of libdrm (2.4.18+git20100217) + mesa (7.8) and Xorg driver (2.10.0). The problem was exactly the same as described above.
I then downgraded to stock libdrm (2.4.12), mesa (7.6) and xorg driver (2.9.0), but with kernel 2.6.33-rc8, and the corruption went back to being limited to what it was prior updating libdrm (mostly some overlay icons and text, like if it was interlaced and/or wrongly sized (I saw a jpeg picture being displayed twice next to the other and randomly interlaced in one of the widget of Cairo dock)).
I hope it can help your search in a way or another.
I didn't hear anything since my last comment. I was wondering if I could be of any other help?
I'll be upgrading my netbook from to Ubuntu 10.04 beta1 tomorrow. I'll then test with the latest kernel (2.6.34-rc2), latest stable libdrm, latest stable libpixman and latest stable intel driver. I could also have a look at Mesa if you think it could be usefull? I'll give an update in the next couple of days.
Created attachment 25687 [details]
This is what I get when using kernel 2.6.33 with the combination previously enumerated for the worst case.
I couldn't update to the latest version as wished, I'll let you know once done.
Well, it was the end of the semester, Ubuntu was about to release a new version, as for Fedora, so I didn't had time to test anything new. However, I installed Fedora 13 (which uses a more recent kernel, mesa stack and so on) than Ubuntu and everything is now fine... for now at least. I've only tested it today, so I'll play with it a bit and if everything is fine, I'll come back to tell you the bug can be closed.
Tested and everything is now fine with the latest stack. Closing bug.