[cairo] Cairo with glitz backend

Chris Wilson chris at chris-wilson.co.uk
Wed Mar 4 01:02:27 PST 2009

On Tue, 2009-03-03 at 17:24 -0800, Bipin George Mathew wrote:
> I was looking into way of accelerating Cairo using a glitz-backend and
> had a bunch of related questions:
> - What is the current status of glitz? Is anyone working on it?

People contribute patches occasionally, just recently we received quite
a few to address some bit rot and improve conformance.

> - From the paper here
> http://www.usenix.org/events/usenix04/tech/freenix/full_papers/nilsson/nilsson_html/index.html, it looks like glitz was experimental. What are the areas that needs to be worked on in-order to make it mainstream?

For glitz to be considered supported we essentially need two things:
1. It should pass the test suite.
2. A responsive and long-term maintainer (for both the cairo backend the
glitz library).

> - What are the other options of accelerating Cairo?

Glitz was an experiment to implement the XRender protocol on top of
OpenGL. This may not be the best approach to take. Instead the emphasis
has shifted onto using the "new" (introduced into cairo after glitz was
conceived) high level backend api to offload as much of the drawing
operation as possible to the h/w. (Or at least entertain that
possibility and investigate different solutions.)

So currently aside from glitz, there are experiments to show that simply
doing basic compositing using OpenGL can be much faster than XRender:
http://cgit.freedesktop.org/~anholt/cairo/log/?h=gl and
http://cgit.freedesktop.org/~ickle/cairo/log/?h=opengl A slightly more
ambitious (though it does have quite a few fundamental flaws of its own,
chiefly among those is that he hasn't asked anyone from the cairo
community to review it...)
http://github.com/akyrtzi/cairo-gral/tree/master And my favourite
(slightly biased since I'm the author ;-) is an example of what you can
achieve with direct rendering:
http://cgit.freedesktop.org/~ickle/cairo/log/?h=drm which, I claim, is
just about as fast as you can make cairo on an eee/i915. (I welcome any
patches to make it, and cairo, even faster :-)


More information about the cairo mailing list