Fedora's OpenGL Composite Desktop
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!"
Did you even RTFA? All the work was done upstream. Nothing's there that's Fedora specific.
-Erwos
Plausible conjecture should not be misrepresented as proof positive.
How can they talk about graphics advances without screenshots? I believe the term used these days is "TTIWWP".
They can get away with not giving you screen shots because they give you movies
How is this an incompatible fork? According to the website, they're working with upstream X development to make this a part of or at least easily added to the regular X distribution. It's just that only FC5 has things setup just right so far.
-matthew
"THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
I'm as excited as the next guy about new sexy UI for linux.... and certainly apple's rather posh desktop has helped them out..... but how excited should we be when clearly only a small number of video adapters currently work ? ~~~ Video card status Here is the current status as far as we know. We also intend to release driver updates in the yum repository as we get those cards to work. If your card isn't supported, come back later to see if we've added support. Note that this support status only affects new functionality; everything should work as well as it did before with the compositing manager disabled. Success and failure updates to this page are welcome. Known Working ATI: Radeon 7000 through 9250 (r100 and r200 generations) Intel: i830 through i945 Occasionally / Possibly working Intel: i810. Should work but not tested. 3dfx: voodoo3 through voodoo5. Might need NV_texture_rectangle emulation. Known to not work ATI: Radeon 9500 through X850 (r300 and r400 generations). Some issues with rectangular textures may be fixed in new DRM CVS, need to verify. ATI: Rage 128. Looks like driver locking issue. ATI: Mach64. No DRM support in Fedora, still insecure. Matrox: MGA G200 to G550. Needs at least a driver update to fix DRI locking. PCI cards probably have other issues as well. nVidia: Any. No open DRI driver. Closed driver support coming soon though. 3dfx: Voodoo 1 and 2. No DRI driver. ATI: Radeon 8500 through X850 with the closed fglrx driver. Uses an ancient version of the DRI driver API that can't work with the new driver loader. No ETA on closed driver support. Anything without a free 3d driver. Unknown status via, s3 savage, sis. No intrinsic reason why these wouldn't work, as far as we know, but no one has tested them yet. ~~~
actually I am happy to see you, however that is in fact a banana in my pocket.
Your nVidia video card doesn't support Aigl, you mean. It's missing an extension that nVidia is adding in the next driver release. This is hardly a show-stopper. Indeed, from the article, nVidia seems to believe this is the way to go.
-Erwos
Plausible conjecture should not be misrepresented as proof positive.
"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 for "large work for Xgl" to get the blow-by-blow or NVidia's presentation from XDevConf 2006 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 on the topic of compiz vs. metacity."
Anand Rangarajan anand@cise.ufl.edu
A good step, but not the end game...
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.
It's not that ATI is getting OSS friendly, it's that the Xorg radeon driver works for those cards. As you may have seen, cards above the 9250 are not supported, as they still have to deal with the drivers that ATI releases in-house, closed-source.
It's like sex, except I'm having it!
XFree86/X.Org Loadable Driver Framework to Achieve a Composited X Desktop":
http://www.illiminable.com/ogg/
# 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.
Not every argument requires reduction to absurdity.
nVidia not only believes that it is the way to go, they helped write the spec for the feature.
XGL isn't a rewrite of the server. It's a rewrite of the DDX (device-dependent) portion. That's probably the best part of the server to rewrite though, given the DIX (device-independent) is relatively clean code. XGL doesn't get rid of X's cruftiest part, though, which is xlib. XCB is ready to be a replacement, but GNOME won't be able to move to it until 3.x, because Xlib is implicitly a part of the GDK ABI.
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.
A deep unwavering belief is a sure sign you're missing something...
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, 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:
My Systems
The underlying foundation of XGL is exactly what a compositing window system needs --- a generic OpenGL stack that unifies control of the GPU into a single multclient-aware driver. Yes, it complicates the driver. The driver needs to properly handle and schedule multiple rendering clients, it must manage do good memory management and video memory virtualization, and it must properly handle synchronization of rendering. However, handling these things properly is The Right Solution. Aiglx just perpetuates the driver sharing lunacy that exists now, which is something that OS X and Vista will get rid off.
A deep unwavering belief is a sure sign you're missing something...
if you want a consitant look and feel, you're on the wrong platform buddy. Linux distros will *NEVER* have a unified look. Mac OS X otoh already does have a unified look and feel. (though the trend is in the wrong direction - Brushed Metal, Unified Toolbar, Pro, Smooth Metal, ect)
Don't call me back. Give me a call back. Bye. So yeah. But bye our, well, but alright we are on a shirt this chill.
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.