ANNOUNCE: Cairo Composite Manager 0.1.0



Hello all,

I am glad to announce the initial release of Cairo-CompMgr.

Cairo Composite Manager is a versatile and extensible composite manager
which use cairo for rendering. Rendering can be done in 2D or 3D, using
Xrender and Glitz backends. Plugins can be used to add some cool effects
to your desktop.

To find out more about it, just point your browser to:
http://cairo-compmgr.tuxfamily.org

The goal of cairo-compmgr is to provide an easy way to multiple
rendering for compositing. I created it to fix a few specific problems
we faced at work : we need to do compositing without using the GPU in a
specific screen or, on the contraty, use only the GPU on another screen.
We were also willing to keep Metacity as the window manager for various
reasons. We first tried to enhance Metacity compositing features, but it
doesn’t provide any way to do 2D rendering, and it lead to several
regressions.

Cairo is the best solution to do the rendering in 2D, 3D or both, but
the main problem is that we cannot use Texture From Pixmap extension
because it is an OpenGL feature. The lack of this extension induces some
performance problems. Indeed, cairo-compmgr needs to copy the pixmap
provided by Xcomposite onto surface : to do so, cairo-compmgr does a
XCopyArea from Pixmap to Ximage, from which it makes the final surface.
This solution is a good way to get the surface but it implies some
slowness, which cairo-compmgr tries to workaround by using Xshm to
accelerate transfers, though this isn’t enough to provide correct
performances. To minimize these problems, cairo-compmgr tries to
optimize the redraw of damaged areas.

CCM is using GObject for object model design and provides a plugin
system which can be used to add various effects. At the moment “shadow”
and “menu transparency” plugins are available, and others coming soon.
To finish, cairo-compmgr aims not to add too many shortcuts and options
which could conflict with the window manager, but we’ll try to interact
with it to add effects.

In the future, I’m planning to add a clutter backend, some means for
other applications to interact with cairo-compmgr (especially
accessibility applications), some cool plugins, etc.

Have fun

Nicolas Bruguier
-- 
gandalfn <gandalfn club-internet fr>

Attachment: signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]