From Fedora Project Wiki

Rendering Project


The Fedora Rendering Project's goal is to create a compelling end-user experience for the Free Software desktop. The desktop should be attractive, it should use sophisticated visual effects where appropriate, it should perform well, with near-instantaneous response and smooth transitions, and it should provide a rich range of visual metaphors for use in applications.

To create this user experience, we are enhancing and building on top of a number of technologies. Cairo provides a 2D drawing API. Pango provides text layout capabilities. OpenGL is used for 3D graphics. The COMPOSITE extension to X allows us to combine toplevel windows into a desktop in sophisticated ways.

Documents & Videos

The Pieces

Cairo:: Cairo is an easy-to-use 2D graphics library with a drawing model similar to PDF or SVG.

Compiz:: Compiz is one of the OpenGL based compositing window managers and is included in Fedora Core 6 onwards.

Composite:: The X Composite Extension is an extension to X that allows a special client, called a "compositing manager" to replace the standard way that the X server combines windows together. Generally, we expect that the same client will handle the compositing manager role, and the classic X role of "window manager".

GTK+:: GTK+ is the user interface toolkit used in the GNOME desktop. While any X toolkit can be used with the other pieces of the rendering project, work we are doing that requires toolkit integration will concentrate on GTK+.

Metacity:: Metacity is the standard GNOME window manager. The spiffifity and spif2 CVS branches of Metacity contained the in-progress rewrite of the Metacity compositing manager. Enough of the core work has been completed now, that it has been merged into Metacity HEAD.

OpenGL:: OpenGL is an industry-standard 3D API. Mesa is an open-source implementation of the OpenGL API which is used as the basis for most 3D support on Linux. By writing to OpenGL, we can take direct advantage of advanced features in recent graphics hardware. These features are particularly useful in the compositing manager, but it's possible that OpenGL is also an appropriate hardware abstraction layer for X server acceleration.

Pango:: Pango is a text-layout library supporting most of the world's scripts.

Luminocity:: Luminocity was a test compositing manager and window manager written using OpenGL. Rather than displaying on the X server that it is managing, it opens an OpenGL window on a separate server. All work on it has been merged into metacity, and no future work is being done on Luminocity.