[cairo-bugs] [Bug 43764] New: Current git: Xorg display corruption with radeon driver (bisected)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Dec 12 14:05:34 PST 2011


             Bug #: 43764
           Summary: Current git: Xorg display corruption with radeon
                    driver (bisected)
    Classification: Unclassified
           Product: cairo
           Version: 1.10.3
          Platform: x86-64 (AMD64)
        OS/Version: Linux (All)
            Status: NEW
          Severity: major
          Priority: medium
         Component: general
        AssignedTo: cworth at cworth.org
        ReportedBy: andre at tomt.net
         QAContact: cairo-bugs at cairographics.org

Created attachment 54380
  --> https://bugs.freedesktop.org/attachment.cgi?id=54380

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
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

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:

af9fbd176b145f042408ef5391eef2a51d7531f8 is the first bad commit
commit af9fbd176b145f042408ef5391eef2a51d7531f8
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Jul 30 17:28:21 2011 +0100

    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 <chris at chris-wilson.co.uk>

    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

Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.

More information about the cairo-bugs mailing list