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.
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.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
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)
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.