I'm running Gentoo stable on a G4 powermac with an ATI Radeon 8500. When I run X in 16 bit color depth, the colors of text rendered by cairo get all messed up (looks a bit like a rainbow). Changing the depth to 24 bit or setting the acceleration architecture to EXA cures the problem. The problem occured after upgrading from cairo 1.2.something to 1.4.6 and is still present in 1.4.10. I strongly suspect this to be a endianess issue... The bug also occurred on other ppc systems, see http://forums.gentoo.org/viewtopic-t-566336.html
If changing the acceleration architecture fixes the problem, there is no way that it can be a cairo problem.
(In reply to comment #1) > If changing the acceleration architecture fixes the problem, there is > no way that it can be a cairo problem. > Sorry, of course I'm no authority on this, but I'm not so sure; the same happens with a Rage 128 which is not supported by the radeon module but by r128 (and which doesn't support EXA).
(In reply to comment #2) > (In reply to comment #1) > > If changing the acceleration architecture fixes the problem, there is > > no way that it can be a cairo problem. > > > > Sorry, of course I'm no authority on this, but I'm not so sure; the same > happens with a Rage 128 which is not supported by the radeon module but by r128 > (and which doesn't support EXA). The 2d engine and the code of these chips is quite similar though and it's not unlikely the code would have the same bugs... You could try switching off some XAA features, not sure though if that'll really help figure out what's wrong...
I've starting rolling back the git revision history to find out the patch which broke it, I'll post again when I've made any progress... I'll also try disabling XAA features to nail down the problem as you suggested.
OK, I've found the patch to cairo which broke things; it is commit ---------------------------------------------------------------- Create opaque similar solid surfaces when possible. author Chris Wilson <chris@chris-wilson.co.uk> Thu, 19 Apr 2007 08:27:51 +0000 (09:27 +0100) committer Chris Wilson <chris@chris-wilson.co.uk> Thu, 19 Apr 2007 08:30:28 +0000 (09:30 +0100) commit 9cf09556339e64bdf1273e95938b657112df07b6 tree a2f90d5fce421106c7e8677b58138b45983a559d parent f7b6fc474651311356f116b7d8d7a5ef1cbab570 Create opaque similar solid surfaces when possible. For opaque surfaces the backends may use simpler code paths - for example, the xlib backend may be able to use the Core protocol rather than Render. So we only generate a surface with an alpha component if the color is not opaque. ------------------------------------------------------------------ Reverting this positively removes the color problem also in 1.4.10 (although the code has changed alot in this corner, so I'm not sure if doing so nukes something else). However, that's the end of the road for me here, I don't know even remotely enough about cairo or X to further nail down or fix the problem. Hopefully, someone else reading this can be helped with this info and find out if it is a bug in cairo or the 2D driver code and find a clean fix :)
(In reply to comment #4) > I'll also try disabling XAA features to nail down the problem as you suggested. To start off, does it work with Option "NoAccel"?
OK, I've checked the different acceleration options, it works if Option "XaaNoOffscreenPixmaps" is set (and of course also if acceleration is disabled alltogether).
What about Option "RenderAccel" "off"?
Sorry for the delay; yep, disabling RenderAccel also fixes the problem.
The issue is gone as soon as i switch to EXA.
Closing as WONTFIX; XAA is too far gone these days. If EXA does not work, file a new bug or attach yourself to an existing bug matching your issues.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.