Novell announces Xgl/Compiz release
Posted Feb 8, 2006 10:55 UTC (Wed) by drag
In reply to: Novell announces Xgl/Compiz release
Parent article: Novell announces Xgl/Compiz release
"Nevertheless it could be a great opportunity to clean the mess about the different design and implementations of Open Source video subsystem...
kinda of thinking of deriving a "AS COMON AS POSSILE" framework from a soup of XGL, XeGL, DRM/DRI, Cairo/Glitz, Xara engine, Arthur, metisse, fbdev and of course compiz..."
Most of this is a 'soup' because you don't understand what is going on.
XGL is the core for OpenGL driven X Server.
XeGL is a standalone x server using the XGL core, this is sorta the ultimate goal, but requires extensions to the OpenGL (borrowed from the OpenGL ES extensions for embedded systems) for handing resolution, screen sizes, and other sorts of configurations.
DRM is the in-kernel code that allows access to the video card for 3d drivers.
DRI is the 3d drivers.
FBdev is framebuffer drivers to allow applications to access video card memory directly.
By having a stand alone OpenGL X Server your not just providing eye candy you can acheive other positive items:
By moving to OpenGL your removing the need for X.org to maintain it's own hardware drivers. Each OS that wants to use a X Server just has to provide OpenGL support.
This will help to eliminate the need for the X server to be setuid. Thusly increasing security. The less code running as root, the better.
This will make it so X developers don't have to worry about drivers.
This will make it so that OS designers just have to worry about making OpenGL fast and stable and not about making X work. Basicly leaving the hardare driver developement to the kernel developers, were it belongs, and not to X developers which have other problems to worry about.
This will increase portability also.
Linux can do their thing completely different and independent from FreeBSD, OS X, Windows, OpenBSD, and Nokia. Or whatever. As long as all of them support OpenGL, then all of them can support X Windows. Any OS with a OpenGL stack should be able to run it without much problem. It doesn't even have to be accelerated.. any platform that can support mesa solo can
Cairo is a vector based graphics system for applications to use.
Glitz is replacement for the Xrender extension that runs on OpenGL.
Dave Revemen is the creator of both GLitz and XGL. They are very much complimentary.
Remember that OpenGL X Server != OpenGL applications.
Cairo can make use of Glitz to provide OpenGL acceleration for normal desktop applications. This will make effects like animated buttons, animated colors, and make complex shapes, while making it scalable to various different resolutions. Also it will provide better scalable font support and faster font rendering.
Cairo vector-based graphics support is included with newer versions of GTK and probably eventually QT.
Also since Glitz is a XRender replacement current applications that make use of current 2d X Server acceleration will also receive (probably superior) acceleration in a pure OpenGL enviroment.
XGL and Glitz are complimentary.
Remember Cairo runs on top of Glitz. Cairo can make use of a veriety of backends, Glitz is one of them. Another is a PDF and Postscript backend for easy and accurate printing capabilities.
Compiz is a composition manager. Sort of like a Window manager, and it seems to me that such things will probably be built into future window managers..
X.org's composition extension modifies how X server works. Windows are rendered into individual off-screen buffers. Then the various rendered images are taken as textures and put together on your desktop. Compiz and Xcompmgr manage how this is done. The provide effects like drop shadows.
By combining Compiz with XGLX you can provide a way to add fancy 3d effects to window handling. The windows are rendered off screen then the resulting rendering is turned into a texture that is mapped to 2d OpenGL primatives that are put together to form your desktop.
This will provide the major advantage that Linux will have over something like OS X when it comes to 3d accelerated desktop. OS X's stuff is hard coded into the UI. You can't change how this composition happens. You may be able to turn different features off and on, but that's about it. With XGL and such it's all modular. You can change how this behavior happens in very fundamental ways.
If some developer figures out a 'holy shit this a good idea' type thing they can program it into a alternative compisition manager that you can try out. Just like you can try out different Window managers.
Compiz, Glitz, XGL/Xglx/Xegl, Cairo, and such go very well together with little overlapping functionality. Each of them can function independantly, but provide the most benifits when used together. (you can probably also through Luminocity and GTK into that group, although those things are gnome-specific while the rest is not.)
I don't want to say that what I am saying is 100% accurate. Things change over time and I may be dead wrong about some of the details, but I am sure you get the idea now.
As far as the rest of it...
Xara Engine started as a application specific item for Xara Xtreme, which is a fast vector based graphics application that was previously closed source. A very nice one at that.
The Metisse thing I don't know much about. It seems eye candy only and doesn't provide the same benifits that XGL stuff can offer. It's a fancy hack. It may be able to do even more fancy stuff while running with XGL, I don't know.
Arthur is a 'painting' system that is QT specific. Probably very good in it's own right. Krita I know is already nice. Should provide the 16bit RGB channels and other special things that people are desire in Gimp.
Hopefully Gimp folks will get off their rear end and work on GeGL to get all the fancy stuff that photoshop offers (preview layers, 16-32bit per channel RGB, very large image support (Gimp scales very badly with larger images) etc. etc.) and also make it _fast_.
to post comments)