Current git: Xorg display corruption with radeon driver (bisected)
Submitted by Andre Tomt
Assigned to Carl Worth
Created attachment 54380 screenshot
With cairo from git master display frequently corrupts, especially text labels, when used with the xorg radeon driver. This seems to be related to EXA acceleration, as setting NoAccel in xorg.conf or using intel HD graphics (which is not using EXA) makes things nice again.
I am not sure if this is an xorg, driver or cairo bug however. All I know is that a commit in cairo made it a problem (see bisected commit below).
Steps to reproduce on Ubuntu 11.10: A graphics card using a XAA using driver seems to be needed. I've seen corruption on Radeon HD4780, HD5450, HD5770 and HD6670. Xorg can be 1.10 or 1.11-git, doesn't seem to matter.
Install cairo from git. It is also in xorg-edgers ppa (package repository) for the lazy: add xorg-edgers ppa: apt-add-repository ppa:xorg-edgers/ppa apt-get update && apt-get dist-upgrade (note that this also pulls in mesa and xorg bits)
Chromium seems to be able to trigger this easily, so its a good app to test with. install chromium: apt-get install chromium-browser
Make bookmark toolbar visible, create a couple bookmarks in it. Now hover mouse a few times over the bookmark in the bar, it corrupts usually within a couple hovers.
A redraw of the window, by for example giving window focus clears out the corruption until it happens again.
Bisecting shows it starts happing with:
Introduce a new compositor architecture Having spent the last dev cycle looking at how we could specialize the compositors for various backends, we once again look for the commonalities in order to reduce the duplication. In part this is motivated by the idea that spans is a good interface for both the existent GL backend and pixman, and so they deserve a dedicated compositor. xcb/xlib target an identical rendering system and so they should be using the same compositor, and it should be possible to run that same compositor locally against pixman to generate reference tests. Signed-off-by: Chris Wilson <firstname.lastname@example.org> P.S. This brings massive upheaval (read breakage) I've tried delaying in order to fix as many things as possible but now this one patch does far, far, far too much. Apologies in advance for breaking your favourite backend, but trust me in that the end result will be much better. :)
:040000 040000 ea61003df8e9343e56abc8f835558e8d9b4dc40b e44eec2adcdab9300dbf1c115455f8fe2f71a2d6 M boilerplate :100644 100644 4b85c8a73bfe348ba5a5934d3f695eebd0fa1703 5879a44433f32f081113fd68007ff450e53436a3 M configure.ac :040000 040000 b36ebdf8cda1f399ee57929ef5fbdb7ec450722f bf046500eae8d7e8eb85a5cb4101dbaa5742baf7 M perf :040000 040000 5e6f20302cdb1243d8954c4d7e4142dacb6d5ceb 0b8bb294a3e871203135d1aed98d5d0b965b8f48 M src :040000 040000 c6ee854e8305b60350d90b662be1e6ff9fc7cacd 76dc42cbfe1e31cc25afd78fd402e912ba4c6844 M test :040000 040000 ed7de86ede3d6dd54ac9a5f423090205d929e114 9efaef2d3f3c6266dce708eebdb48f6b1ad83a8e M util