For the records, here is my view of the situation:

it's a compositing bug (at least) in ATI drivers which are not able to
use either an untransformed repeating source pattern with a source in
off-screen video memory, or, a repeated transformed images using a
general transform matrix (or both).

Cairo has 3 fallback mechanisms when 'XRenderComposite' is not usable:
- XCopyArea (not usable with alpha compositing)
- XSetTile (for the repeat patterns with general transform bug, also not usable 
with alpha, and not with 1x1 surfaces)
- or software rendering (slower)

Problem with our background rendering bug is that it seems it's always
with alpha so we end-up with either XRenderComposite or software
rendering. To detect if XRenderComposite has a bug, Cairo devs used the
X *server* version with known-buggy versions but it doesn't tell which X
*driver* it is so we cannot say we want the software workaround for ATI
only, hence the unconditional patch above.

An improved patch could try to figure out at runtime what the X driver
name & version are, and maybe the Acceleration method too, then trigger
software rendering only for the known buggy drivers. AFAIK, there's no
way to get those information except by parsing /var/log/Xorg.0.log

-- 
web page background render errors
https://bugs.launchpad.net/bugs/186186
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is a bug assignee.

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to