Share your knowledge at the LQ Wiki.
Go Back > Forums > Linux Forums > Linux - General
User Name
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.


  Search this Thread
Old 03-02-2007, 03:10 PM   #1
Registered: Oct 2006
Posts: 137

Rep: Reputation: 15
Compiz, Beryl, XGL

Today I searched on google for linux eye candy.

I just found about things like compiz, Beryl, and XGL.

But what are they? I see people raving about them but I don't know what they are and what they do.

And are these three seperate things? Because I've seen some Compiz (beryl project) Beryl XGL and XGL compiz.

I'm so confused. Could you enlighten me?
Old 03-02-2007, 04:32 PM   #2
Senior Member
Registered: Oct 2003
Location: hopefully not here
Distribution: Gentoo
Posts: 2,038

Rep: Reputation: 51
Yes, i can. Altho i havent used any of these projects, i probably will try them out in the future if FVWM gets support for them, or if i can use them with FVWM. In any case: they are all eye candy revolving around the use of 3D desktops.

The idea of a 3D desktop is that windows can be manipulated like OpenGL textures, allowing for very interesting effects. Both Apple and Microsoft have 3D desktops (i think) with their new OS's, Linux is still in the dark ages due to X. However, since replacing X would be impossible (to many programs support it to realistically replace X with a better windowing system), the only solution to X's aging problems is to extend it. This is easy, X was made to be extended, and in recent years, several new extensions made it possible to have good eye candy, but they where not 3D, and because of this, they where slow, as they did their computations not in 3D but on the CPU. The biggest extension to make eye candy possible is the Composite extension, it allows you to force windows to render to a off-screen buffer. Combined with a program called a composite manager, you can then render those off-screen buffers to the screen. This allowed the composite manager to also mangle those images before it reached the screen, the common use was to get truly transparent windows. This process was slow because everything is done in the CPU, the composite manager cant use OpenGL, and thus, is not accelerated. Another use was to give shadows, this was also slow for the same reason. This was the precursor project to the modern Compiz and 3D desktops.

A 3D is one that renders using OpenGL (the 3D API). If you can do this, then you can accelerate the eye candy operations used with the Composite extension, allowing for actually eye candy, and not just a interesting project. Two approaches where developed, XGL and AIGLX. XGL is the one you mentioned, its also the most drastic. Its basically a rewrite of the X server, as i heard it, its original version ran two X servers at the same time, one would be a normal X server, the other is the 3D server, all clients use the 3D server, and the 3D server connects to the regular server to output what it has. This has changed, if i remember right, removing the two separate servers in favor of only one. But its still a drastic change to the X server. It was originally developed openly, but nearing the end of the project it was closed, and developed in secret by some company (Novell was it? i dont remember), for this reason, many X developers today didn't take to kindly to XGL. XGL also has some limitations, but i cant remember what they where.

AIGLX is mostly just X extension (it did require a few changes i think to the X server, nothing drastic tho). It stands for Accelerated Indirect GLX. GLX is the glue extension between OpenGL and X, allowing OpenGL in X. What AIGLX does is allow you to render 3D operations on the server end. This doesn't sound like eye candy in the making, but in the end, thats what it is. With AIGLX, what basically ends up happening is the composite manager is allowed to use OpenGL acceleration to perform its eye candy effects, and do it in a fast way. AIGLX is supposed to be more flexible, and also has the support of the Xorg developers, parts of AIGLX (or was it all of it?) have already been included in the new Xorg versions.

The Composite extension can do more then just shadows and transparency. Remember, all it does is allow you to render windows off-screen. If you can use those off-screen windows as OpenGL textures, then you can perform 3D effects on them, and if you can accelerate those 3D operations, then you can have eye candy and 3D effects that are not slow, or noticeably slow down the system. Compiz/Beryl can work with both XGL and AIGLX last i heard. If you want to see the current state of the projects, then search online for videos of them in action, there are some.

(look on the wiki for more information, under AIGLX)

Last edited by SciYro; 03-02-2007 at 04:35 PM.
Old 03-02-2007, 07:06 PM   #3
Registered: Oct 2006
Posts: 137

Original Poster
Rep: Reputation: 15
So the question is. XGL or AIGLX?

What are the pros and cons of these?
Old 03-02-2007, 07:39 PM   #4
Senior Member
Registered: Mar 2006
Location: India
Distribution: Fedora
Posts: 1,562
Blog Entries: 3

Rep: Reputation: 68

AIGLX is actually a fork of XGL and it is slowly become the de-facto eye-candy along with Beryl.

Beryl and Compiz are just window managers on these platforms. Typically its like Beryl/AIGLX and Compiz/XGL. However they are both comfortably inter-changeable.

Just go to youtube and search for these, you'll get lots of videos.
Old 03-02-2007, 07:43 PM   #5
Senior Member
Registered: Oct 2003
Location: hopefully not here
Distribution: Gentoo
Posts: 2,038

Rep: Reputation: 51
cons - designed behind closed doors so mostly rejected by Xorg developers, bad design choices, rushed, etc.
pros - it works, and is more mature.
cons - will probably die off or change to combine with AIGLX, its just such a drastic change it probably wont stick around

cons - developed latter, probably not as usable (depending on your drivers).
pros - less drastic change
cons - requires changes that make it less compatible then XGL with drivers (this has probably been taken care of, and if you use open source drivers, its probably not a problem).

All in all, take your pick. They both are fairly compatible with each other, and i think they will probably combine in the future. As noted, XGL was developed behind closed doors, so much of it will probably be replaced by the community for better alternatives, it seems more like a fun toy project rather then one that will survive. Either way, they are mostly compatible (as already said), so just try both and see what works.


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Beryl/Compiz in Dapper AMD64 jaygee02 Ubuntu 1 03-11-2008 08:11 AM
Xgl, Compiz and Beryl Oliver Linux - Software 6 05-07-2007 08:11 PM
[Beryl] Window manager defauting to compiz? LDJ Linux - General 2 02-28-2007 02:15 AM
Beryl, XGL, Compiz sdmike6 Linux - Desktop 1 01-04-2007 08:15 PM
AIXGL, XGL, Compiz and Beryl thedi Linux - Newbie 1 11-11-2006 11:42 AM > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 05:37 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration