Fedora's OpenGL Composite Desktop 392
An anonymous reader writes "First we had Novell's XGL and Compiz technology, which allows for OpenGL-based composite rendering on the Linux desktop. Now Fedora has created the Advanced Indirect GL X project, which aims for similar desktop effects but with a simpler implementation. Sure, at the end of the day it's just eye candy, but make no mistake - the Linux desktop is due for a massive shake-up!"
Re:There go the distros again.. (Score:5, Informative)
-Erwos
Re:Screenshots (Score:4, Informative)
They can get away with not giving you screen shots because they give [gnome.org] you [gnome.org] movies [gnome.org]
Re:There go the distros again.. (Score:5, Informative)
-matthew
video card support? (Score:3, Informative)
Re:Not again (Score:5, Informative)
-Erwos
Comparison to Novell's XGL effort (Score:5, Informative)
"XGL is a different X server. This is a more incremental change which is slated to become part of Xorg. We don't believe that replacing the entire X server is the right path, and that improving it incrementally is a better way to modernize it. After talking to people at xdevconf, it felt like much of the upstream Xorg community shares this view. You can search Adam Jackson's notes [freedesktop.org] for "large work for Xgl" to get the blow-by-blow or NVidia's presentation from XDevConf 2006 [nvidia.com] on using the existing model.
We've been working on the AIGLX code for a some time with the community, which is in direct contrast with the way that XGL was developed. XGL spent the last few months of its development behind closed doors and was dropped on the community as a finished solution. Unfortunately, it wasn't peer reviewed during its development process, and its architecture doesn't sit well with a lot of people.
The other question is Wait, can I use compiz? The answer there is a theoretical yes, although no one has actually gotten it to work. We love compiz and we think it's great stuff and is well polished, but it's often confused with the underlying architecture of XGL. Much like the code that we've added to metacity, compiz is a composite manager. With a bit of work, it should be possible to get compiz working on this X server. There's an excellent post from Soren [gnome.org] on the topic of compiz vs. metacity."
A good step, but not the end game... (Score:3, Informative)
The project has a good concept model, not to destroy XWindows with a rewrite; however, this will considerably limit any real advancement into a comprehensive environment.
I see this as more of a test bed, and partial stepping stone; however there are many issues not being addressed that just need to be ripped apart and rethought out, and this CAN be done without destroying the existing environments.
Part of the problem of Bringing any 3D GPU functions to the desktop is the nature of Video cards, and they are designed to operate in a 2d accelerated mode and a full 3d accelerated mode, with both aspects of the cards not mixing normally.
What this leads to is an environment that mimics the 2D acceleration features in the 3D mode, and turns the Video card into 3D mode full time.
Strangely, what will help this push for full time 3D utilization or cross utilization is work being done at company people really don't like, Microsoft.
Microsoft is pushing both ATI and NVidia to move their Driver technology to allow for overlapping of the two operational modes, and also adding in virtualization of the GPU RAM space - the WDDM/LDDM that will ship with Vista, as it will be the first consumer OS that has a full time 3D accelerated accessible UI environment active.
Also by virtualizing the GPU RAM, Vista drivers (WDDM) are pushing the cards to pull off some interesting tricks, like pushing to System RAM lower priority applications Video, without out of memory considerations - Just like Virtual Memory on Hard Drive did years and years ago, and leaving a full 3D environment and 'appearance' of GPU RAM continually available to applications no matter how many remain active.
Video RAM of the old days was basically having enough RAM to display the resolution and depth for the screen you were displaying, but in the 3D world, GPU RAM is filled with textures, etc - so this mixing and virtualization process has been a long time coming, and surprisingly, Microsoft if the company helping NVidia and ATI get it working at the driver level.
Now for the good news, Microsoft has been generous to ATI and NVidia in the driver development process and in doing so has given both companies a lot of information and technology they would not of had access to from the multi-app OS environment viewpoint.
So all the cool new functions of the WDDM that is being developed for Vista should eventually flow back through both NVidia and ATI and their own driver technologies for supporting these concepts in other OS environments.
However, as I started out and still believe, this technology from the article, and even going full OpenGL desktop is not a complete answer. A full OpenGl desktop will be problematic when you want to run a 'windowed' version of Quake in for example, as the applicaiton will be expecting to have full control of the OpenGL/GPU and not expecting the first priority to be going to the Desktop Environment.
So to get to the full OpenGL desktop is going to break a lot of existing 3D applications in the *nix/OpenGL world, or a technology to bridge this is going to have to come about. A technology that maybe sucks info from ATI and NVidia and Microsoft even to emulate what Vista is pulling off.
Re:Will ATI finally get FOSS friendly?? (Score:3, Informative)
Re:"Just eyecandy" (Score:5, Informative)
Re:Not again (Score:5, Informative)
XFree86/X.Org Loadable Driver Framework to Achieve a Composited X Desktop":
WMP plays ogg in 2 1/2 easy steps (Score:5, Informative)
# Uninstall any previous version of these filters.(This is important!) Go to add remove programs, remove oggcodecs
# Make sure media player or any directshow applications are closed.
# Run the installer.
Then Windows Media Player or any other directshow application (eg. BSPlayer) will be able to play Ogg Vorbis, Ogg Speex, Ogg Theora, Ogg FLAC and native FLAC."
You're welcome.
Re:Not again (Score:3, Informative)
Re:Xgl Already Better than Mac and Vista (Score:5, Informative)
That said, I wouldn't say XGL is better than OS X yet. OS X can do the effects you listed, it just doesn't do a lot of them for asthetic reasons. Technically, I'd argue OS X's approach is superior to XGL's, since Quartz 2D Extreme uses a direct-rendering model as opposed to XGL's indirect model. Additionally, the fact that the compositor is seperate from the window server in XGL makes synchronization a much bigger PITA than in OS X. On the other hand, the indirect model allows the X server to access the geometry stream, which allows some effects the direct-rendering model doesn't. Technical merits aside, OS X still wins because its already a stable, mature, and widely used technology. It'll be awhile before XGL is as mature as Quartz (especially at the driver layer --- DRI is really not ready for XGL yet), and before GNOME/KDE apps use vector graphics as widely as OS X apps do.
Re:Vector Desktop? Please? (Score:3, Informative)
Gtk uses cairo to render everything (buttons, etc). Cairo is a vector graphics library. Thus, it is already all vectorized. Many Gnome and KDE themes are also vectorized, with SVG icons and window decorations.
As of Qt4, KDE will also have a vectorized toolkit.
And, really cool, Cairo has something called glitz [freedesktop.org], which uses GL to render. Therefore, all of these really cool scalable desktops will get measurably faster once the X server starts using GL in a big way. Check out the following links for more info on vector stuff:
Re:Not again (Score:4, Informative)
Re:"Just eyecandy" (Score:3, Informative)
XGL the future? Already here! (Score:4, Informative)
It has also been reported to be working under Breezy Bager, but I'm not sure.
And let me say, it's damn slick. Not everything is working (or at least not enabled by default), such as trasnparency, and the top and bottom of the desktop cube are simply white. I'll try to figure out if they're broken or disabled. But what is working, is everything else.
Performance isn't the best. Theres some lagginess to DVDs, but only minor, and even less then expected when doing a wobbly-window move.
As a plug for Ubuntu, this is by far the best distro I have played with. Every other time I have tried to get myself to Linux I ran into unmovable road blocks. This thing, (a damn BETA release!) boots up first try with all hardware detected and running (even my Dell-supplied Broadcom wireless NIC). Then, I go install the nVidia 3D driver and an experimental windower and stuff works perfectly. Honestly, I don't think it could get much better than this.
Re:A good step, but not the end game... (Score:3, Informative)
Actually OpenGL isn't better suited to this, in fact this is a concept it tends to omit completely.
Secondly, you are not understanding the point here. DirectX applications will run in Windowed Mode on XP just a fast as they will run Full Screen on XP - that is a hallmark of the DirectX design; however, multi-tasking 5 applications that want full access to your video card (to use its memory, etc) becomes problematic, even though DirectX already has mechanisms for handling this.
But this is NOT the point I was making...
Take a full 3D application, use OpenGL to create it, then call it your user desktop, now embed another 3D application into this 3D application without GPU RAM becoming an issue, Coordinate display of the new 3D application becoming an issue, etc.
You can't easily embed one OpenGL application that assumes complete control of the 3D Side of the GPU into another OpenGL 3D application. Even if the main App, the UI is smart, the second application will cause failure as it expects to have all the GPU RAM when it wants it, etc etc...
This is not about running a game in a 'windowed' mode, Microsoft proved that with DirectX Full Screen and Windowed gaming is and should be seamless since 1997, so your theory about the client/server design of OpenGL is a good idea, but doesn't fit the bill of what is required.
This goes deep, to the the *nix/Linux Driver level, past OpenGL. The Video card needs to know how to hand off RAM and multi-task more freely than they currently do.
Open five (5) copies of Quake on your OSX desktop, in a Window, and set each to run through a series of Demonstrations. How well do they run, at what point does this experiment fail?
This is something Microsoft tried to demonstrate at the September PDC, but apparently not a lot of people have yet paid attention to this, and with NDAs on the product, the ones that are getting it can't always talk about it.
Microsoft demonstrated how XP and DirectX would try to mult-task out three or four 3D application in a Windowed mode, but with the initial Vista technologies, it would do this with ten (10) applications, while running the UI GUI with 3D acceleration features enabled - the 'Glass' at the same time.
So not only are they multi-tasking in and out the UI with 3D to not compete but co-exist with other 3D applications whether they are WPF or DirectX, but they are also allowing the applications themselves to multi-task with each other better, and use System RAM as Virtual GPU RAM.
This is a big step in the 3D display technologies, and will result even in changes to the GPU architectures, look for better cooperative multi-tasking of GPU enabled applications, as well as Video cards in SLI or multi core modes extending this ability even further.