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!"
I spend upwards of 10 hours a day staring at a computer screen; what I'm looking at had better be aesthetically pleasing.
It *does* serve a purpose - it makes my day that little bit more enjoyable. Decorating your house serves no real purpose (unless you're trying to sell it), but most people want something a little nicer than bare walls. People decorate their cubicles and offices - a photo here, a plant there.
I don't see why a desktop should be any different.
It's official. Most of you are morons.
How does this relate to the ongoing accelerated X11 efforts?
Inventions have long since reached their limit, and I see no hope for further development.-- Frontinus, 1st cent. AD
Having increased OpenGL support for Linux and gathering development support for advanced graphics toolkits will be a big win for Linux desktop. Having a sexy and slick interface has helped make OSX very popular. Sexy graphics for Linux will open new possibilities for interfaces, data display, games, and more.
Let us pay homage to Silicon Graphics, the originators of OpenGL. They may not live out the year.
What part of "This is code that was done entirely upstream in concert with the rest of the X community." do you not understand?
Ita erat quando hic adveni.
allowing any user to load and install any application or hardware accessory
Isn't that part of the reason Windows is so insecure? Any user can install an application (when using default setup, as most people use), so the exploits can do more than screw with the user's home directory.
It's like sex, except I'm having it!
I'm not liking where this is headed. Now we've got Xgl, Aigl and whatever Luminocity used.
Why couldn't they just standardize on Xgl? It works *today*. Aigl doesn't even support my nvidia card right now.
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.
Um, how about you stop telling other people what "we" (who is this we you speak of anyways) should be doing. Why dont you go get started on that and stop setting priorities for OTHER people
The phrase "more better" is acceptable English. suck it grammar Nazis
"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
My, that was a yummy potato!
I am absolutely irate with respect this project and XGL and even expose on the mac. Heaven forbid they let use scale a window and keep it scaled. I don't mean resize, I mean zoom in and out of ONE window. Imagine how useful that will be for tiled window managers, if we can scale windows we don't need to worry about the app handling resizing right.
DEVELOPERS PLEASE STOP WORRYING ABOUT THE EYE CANDY AND THINK ABOUT FUNCTIONALITY.
If Linux allowed anyone to install anything without having to think first, then you'd get what windows has: tons of viruses and malware. If it is easy to dupe people, then people will be duped. Unfortunately, this is the catch-22 for linux: how to achieve an install base like Windows while maintaining a Macintosh-like affinity with hackers, so that the user base won't get attacked.
stuff |
Chances are, you care because it's pretty and pleasing to the eyes. If not, move along.
I don't see why your post refers to the question about how it affects application developers if you haven't written a line of code since GWBASIC. That tells me than anything to do with application development doesn't matter to you at all, anyway.
It's like sex, except I'm having it!
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!
Having watched the movies, I am greatly unimpressed. The reason the Mac UI works so well is that its eyecandy is a method of subtly including information that might otherwise be lost. For instance, when you minimize a window in MacOS (if I remember correctly), it slides down to a nice little parking place on the dock. In the first movie, the minimized document shrinks down in a nifty animation but shows no relationship between it and the button at the top of the screen. The second movie solves this problem (so why even have the first) but is slow (can you imagine minimizing eight windows? What a mess!).
Similarly, in the third example -- what information is being given to the user by fading the menus? I'm not sure what it is; instead, it just looks messier, and therefore less useful.
A side note: I knew this whole "No! Vorbis is the format! OGG is just the container" idea would bite me on the ass some day, and it looks like today's the day. I clicked on the movie links only to have my Winamp playlist destroyed. Even worse, Winamp didn't even know how to play the file. Is there a solution to this absurd problem?
Maybe you didn't read the question well: Q. How does this affect application developers?
You are right, we should forbid X developers from working on X until your issues are solved.
What we should do is grab the X developers ( which some are volunteers, which are giving this away for free ) and force them to work on a Microsoft Active Directory clone. Given the extensive experience X developers have in directory service, forcing them to work on it is a no brainer.
What should happen is that all development on linux should stall until we get your issues solved. People with no interest whatsoever in Active Directory should be forced to work on it. This of course should include Gnome, KDE, and all of GNU products.
Also, Microsoft Active Directory is TOP priority, nobody in their house can do anything usefull without it. And it is well known that 87% of the desktop computers are using Active Directory.
so I agree, STOP WORKING ON X, YOU ARE KILLING LINUX
It's amazing that when Vista has new eye candy its bad but when Linux has it it's good!?
Now we're seeing FOSS' killer application -- mix and match modularity. Obviously RH needs to respond to Novel's efforts or potentially lose market/mind share. Because the different approaches are built on a truely open platform, you don't have to ditch your current environment from the hardware on up in order to get the solution that is right for you. Competition to fill niches exposed by open API's works. Anyone can play. (And of course there's also the fact that someone can come along and distill the best of serveral solutions into a derivative FOSS work.) There's something quite satisfying about that, particularly in relation to much of the rest of the modern world.
I don't mean to troll, but what the heck is wrong with the Fedora-type people that they think incrementally improving the X server is a good idea? I've looked into the source and its full of 30-year old code. The 'best practices' for a 0.1 MIPS machine is just cruft on a 1000 MIPS one.
a nuary/011922.html
The xgl people are actually rewriting the X server from scratch to use opengl. That is a much, much better idea, and it shows with what they can *already* do:
* virtual desktops on a cube
* popup effect for menus
* "gummi-bear" window effect when moving, sticks to other windows / side of screen
* translucenty
* gl screensaver on root window
* shadows
* fading
* magnification
* apple-style expose (show all windows non-overlapping)
* accellerated 3d games (quake) and movies
* make non-responsive windows go grey
etc
You can see the video at:
http://lists.freedesktop.org/archives/xorg/2006-J
(click link for the movie)
This is I think using an existing Xserver to give an opengl window, which can be running a software opengl for unsupported cards, and then their xgl server using that as the opengl backend until the drivers are ready. Which basically means people will be able to get the eye candy slowly on computers and force nvidia/ati/intel to support the server with a driver. Eventually xgl gets a native opengl driver for you hardware and runs as a 'normal' X server (only without all the crap from 30 years of evolution).
Why should Red Hat go and start a seperate project to achieve more or less the same effects ? Can't they work with the XGL project team and improve on the existing code ? What good will re-inventing the wheel or duplicating the code help achieve? Reading about this takes me back to the 80s when the UNIX OS was severely fractured with applications working on one Unix flavor not running on another flavor of Unix. Even though Red Hat is doing a good thing, it is actually taking a step back by forking the project.
Linux Help
for all things on Linux
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.
WMV, AVI and DiVX are all technically patented encumbered on Linux. DiVX (and hence XviD) is probably the safest bet, but OGG is free (as in beer and speech).
Does it really make sense to distribute Linux videos in a format that violates the law if you want to view it on Linux? No, I think not.
Just install OGG already. Don't tell me you didn't have to upgrade your "Winders" box Windows Media Player half a dozen times since you installed XP.
Go here. It just takes a little bit of time.
WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
Now that I'm at work on a Windows machine, they've chosen a format that I can't use. Why not just use f'ing mpeg?
So I was browsing microsoft.com and they had this video I wanted to see. But I'm on my Linux machine and they've chosen to use WMV, a format that I can't use*. Why can't those cockbags just use f'ing mpeg?
* Artistic license. MPlayer plays wmv files just fine. Of course, it does this in a semi-legal way by using windows codecs themselves.
I am guessing that they don't have screenshots b/c they are demoing animations in those movies. Animations are a little difficult to demo in a static image.
NO NO NO
Did you know: X1x00 series of ATI cards don't have drivers yet (3 months after release!) and won't for the next 3 months?
Did you know: ATI driver's performance on Linux is ~ 1/5th driver performance on Windows?
Did you know: ATI's DRI driver is based upon outdated docs ATI released along time ago with all the performance stuff torn out (no pixel shaders, for example).
At least Nvidia's closed source driver tends to work. Have you tried the latest nvidia drivers? They do list support for your NX6200. Perhaps try sending them a bug report, or posting on NVNews.net's forums (official Nvidia Linux support forums).
Nvidias drivers are closed source, but they are 98% feature complete with Windows. ATI's drivers suck, both the open and closed source ones.
WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
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
There are already ass-loads of games that are Direct3D only. But most good developers keep a couple code-paths, so things like Doom3 and so on can all be ported to Linux/OSX/whatever with minimal fuss. Besides, Apple moving to faster hardware and their increasing adoption rates will do nothing but make the OpenGL market more attractive to game developers who want to target users across platforms.
My blog. Good stuff (when I remember to update it). Read it.
I've been running Xgl and Compiz on Ubuntu and I have to say, the Novell guys are way out in front of Fedora for this, Xgl is ready for primetime and runs nearly flawlessly for me. This looks more like sour grapes over Novell holding onto Xgl until nearly the last minute before opening it up to the community. While I don't agree with how Novell developed this, it's hard to argue with the product.
Wu-Tang Name: Half-Cut Skeleton Get your own Wu-Na
Let's see. The GLX_EXT_texture_from_pixmap extension was developed jointly by David Reveman and some guys from nVidia, according to the credits on the spec. So not Red Hat. Reveman and Matthias Hopf have been everywhere on the X/Mesa mailing lists developing Xgl. The discussion and debate on the xorg list was all about Xgl and whether it should be the main focus instead of Exa. People who don't seem to be associated with any corp like David Airlie and Jon Smirl have been working on Xgl. The plan had seemed to be to move various parts of the driver code to do with initializing the cards into the kernel, use EGL as a simple GL interface that Xgl then ran on top of, with Xglx being a short term hack until that work was completed.
Now Red Hat appear, apparently with the backing of nVidia, saying that actually this plan - which had been discussed for ages - is a bad one, and they have a brilliant new plan. Oh and by the way Evil Novell have been hoarding code and not working with the community.
So when did this AIGLX work appear in CVS then? I don't recall reading about any such branch. Let's find out shall we? Hmm, looks like it was committed in a massive checkin about a month ago. Did Kristian just magic this out of thin air one afternoon? I rather hope not.
So anyway, my point is that from my perspective what Red Hat are saying appears to be the exact inverse of the truth. Novell have been far more visible in the X community doing this sort of work than Red Hat have, they've done a lot of the upstream Mesa work necessary for it to be efficient, they've been demoing it at conferences and so on. And now Red Hat is here trying to claim they went off and did their own thing, with no real evidence to back it up.
And it's not just Red Hat, somehow Novell went off and created an entirely new window manager as they were testing what Xgl could do instead of extending an existing one. Oops! Bah. Huge, massive communications failure at best. Blatant NIH at worst.
So what happened to the OpenGraphics.org project that aimed to create a graphics card with fully published specs and open source drivers? If they actually get it working, there will be no more debate as to what video card Linux users (and manufacturers of Linux-capable computers) should buy.
Given the fact that the best open source drivers currently available are those for ATI cards, and that those cards are 15% as efficient in Linux as in Windows, the Open Graphics card will have no competition.
If a piece of hardware is supported in Linux, it's easier to install than in Windows.
Bullcrap. Only somebody who's never tried to install the IVTV driver for Hauppauge video capture cards can say that.
Or the driver to a Netgear USB wireless ethernet adaptor.
Or the driver to an ATI video card.
Bullplop. I hope nobody's buying this statement, because it's about the dumbest thing I've ever read. You must really be drinking the kool-aid if you actually believe this enough to type it as if it were fact.
Comment of the year
Resolution independence!! It's really time we got past this idea that 1024x768 is an optimal resolution due to web site design or the lowest common denominator or because some people can't see too well. If my new monitor can draw the curve of an "A" at 300dpi, then that's what what I want to see it at, dammit. Sticking with 96dpi or similar is just dumb.
My take on this is Redhat doesn't like that Novell got all the press and kudos for Xgl and is trying to get mindshare back.
Reasons for my viewpoint:
1) I prefer Redhat over Suse. (This isn't an ego post about me, so hear me out.) I use both, but of the two I like Redhat better. I've had bad luck with Suse and Novell seems to be having trouble turning into an opensource/Linux company. We use Groupwise at work and evolution and Suse and have problems. So given a choice I'll take Redhat since I've had good luck with them. However, after reading about Novell's Xgl contributions and checking them out, my impressions of Novell have greatly improved. I'm definitely much more open minded now about them than before. Redhat has always had the reputation for commercial distros that give back to the community. Now with Novell's contributions, Redhat has contribution competition (if that makes any sense.) They are no longer THE company when it comes to good charma in the community. Another company has given back a HUGE contribution and a VERY visible one at that. Now if a person who has stated his biad towards Redhat has now given second thoughts to Novell, what is a person who has no bias or preference either way likely to think.
2. They're not contributing to Xgl, but rather they came up with their own way and specifically stated is is different than Xgl.
3. Make specific points about doing it 'upstream', which resurrects the flame wars on the xorg mailing list about in-house vs inet cvs development.
4. Specifically mention how their approach is better than Novell's and how Novell's 'doesn't sit well with a lot of people.'
My humble opinion. Don't get me wrong, I still like Redhat but in this case I think this is more for PR good than community good.
Ok, that covers *one* of the products I mentioned on *some* distributions. Now how about an equally easy solution for all of the products that works on all distributions?
Comment of the year
We need to nip this in the bud right here. My understanding is that this approach will still allow the same eyecandy but will lose the only REAL feature of XGL. A hardware accelerated desktop. Some of you like the eyecandy and transparent windows. That must be nice for you. The rest of us want a snappy and responsive desktop. XGL delivers that by hardware accelerating the entire xserver.
If my understanding is incorrect then by all means, enlighten me. If not, then please stop with differing standards and approaches and embrace the fully functional system in existance today.
P.S. Nvidia will use what they have to. They support this approach because it requires the less work on their part than XGL and therefore costs less money. Therefore, their opinion should be ignored and only the interests of the USERS should be considered.
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.