XGL: X11 replacement ?

O.Couet, ROOT meeting 11/07/2006

Xgl is an X server architecture designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL via glitz [1]. It supports hardware acceleration of all X, OpenGL applications and graphical effects by a compositing manager such as [2]. The project was started by David Reveman (Novell) and first released on January 2, 2006. It is at an early stage in development and a number of important pieces are still missing. For instance, Xgl uses an Opengl extension only available in the CVS version of MesaGL: GLX_EXT_texture_from_pixmap. It should be soon included in the propritary NVIDIA drivers. Xglx was the first server that used this architecture, it requires an already existing X server and is only intended for testing and development. Xegl is the future of Xgl and a long term goal of X server development. Xegl can only be run using Radeon R200 graphics hardware and development has currently been delayed.

[1] Glitz is an OpenGL image compositing library. Glitz provides images composition and implicit mask generation for geometric primitives (trapezoids, triangles, and rectangles) [2] “Compiz” is the new OpenGL compositing manager [3] from Novell and is the framework that enables the development of graphical plug-ins. [3] Compositing managers manage special effects on things like windows in a graphical . Some videos from NOVELL: http://www.novell.com/products/desktop/features/xgl/

Click to start video: Click to start video: Desktop organization Desktop spin

Click to start video: Click to start video: Transparency Zoom windows Justification for structuring all rendering on top of OpenGL :

¾ It could potentially simplify video driver development.

¾ It removes the artificial separation of 2D and 3D acceleration.

¾ This is advantageous as 2D operations are frequently (and counter- intuitively, since 3D would imply 2D) not accelerated .

¾ It also removes all driver-dependent code from the X server itself, and allows for accelerated Compose and Render operations independent of the graphics driver.

¾ Additionally, compositing managers can use the OpenGL API for rendering, allowing for quite amazing effects. Competitors

Hardware-accelerated OpenGL window and desktop rendering, limited to using OpenGL for texture composition, has been in use in Mac OS X, in a technology called Quartz Extreme, since Mac OS X v10.2. Quartz 2D Extreme is an enhancement of this feature and more directly comparable to Xgl. Like Xgl, Quartz 2D Extreme brings OpenGL acceleration to all 2D drawing operations (not just desktop compositing) and ships with Mac OS X v10.4, but is disabled by default pending a formal declaration of production-readiness.

Sun Microsystems' is one of the pioneer hardware- accelerated desktops. http://www.sun.com/software/looking_glass/

Microsoft is in active development of a similar technology based on DirectX, named the , as part of its upcoming . Controversy

Xgl technology requires good OpenGL performance, along with several unique features of recent 3D cards, and for the most part these can only be accessed using binary-only (proprietary) kernel modules for ATI and NVIDIA cards . There are some open source drivers for these cards but they allow 2D only, or allow primitive OpenGL 3D capabilities. Currently this is a deadlock situation because graphics card manufacturers have stated they have no intention to sponsor fully open source drivers, as this would expose trade secrets about their hardware. , though, has recently announced that it will open source its drivers, beginning with the Intel 965 Express Chipset: http://intellinuxgraphics.org/ This is a milestone in driver development for . Availability

¾ As of May 2006, the Xgl X Server ships as a non-default in one major , SUSE 10.1, and is included in or SUSE Linux Enterprise Desktop 10.

¾ Xgl can be set up fairly easily for 6.06 (Dapper Drake) and 6.10 (Edgy Eft) and for with binary packages from unofficial repositories.

¾ Xgl is also available as an overlayed package in .

¾ There is also a PKGBUILD for available.

¾ The latest 2007 includes official packages to run Compiz , using Xgl and AIGLX . Conclusion

¾ Today, freedesktop.org hosts the source code for the Xgl packages.

¾ I tried to install from this page on my PC, not surprisingly it did not work, because installing a such software requires deep change in the system (xserver etc…) and I did not want to screw up my system. That’s not a easy task one can do in 5 minutes…

¾ Anyway that is not something end user will have tomorrow on there desktop, so it cannot be seen as a X11 replacement yet. But we should follow the developments.

¾ May be we need a dedicated machine running Suse or Ubuntu or …?

¾ Should we spend more time on it now ? Some links … http://en.wikipedia.org/wiki/Xgl http://en.wikipedia.org/wiki/Compiz http://www.novell.com/products/desktop/features/xgl/ http://en.opensuse.org/Xgl http://principe.homelinux.net/ http://freedesktop.org/wiki/Software_2fXgl http://www.sun.com/software/looking_glass/ Appendix

GLUCOSE: “It's an OpenGL based acceleration architecture, Nothing more, nothing less” All the information I found is: http://lists.freedesktop.org/archives/xorg/2006-August/017527.html

The other articles are either copies of this one or discussion around it. (Like http://news.softpedia.com/news/Introducing-Glucoze-33116.shtml) This article has a FAQ list. The two first are: Q: It is what? A: Acceleration architecture. Nothing more, nothing less. Q: How do i get it? A: Do "git checkout glucose" in your xserver git tree. I do not know git enough to understand what that mean ... … it is a very early project also.