Linux - GeneralThis 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.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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)
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.
XGL:
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
AIGLX:
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.