Slashdot Log In
Fedora's OpenGL Composite Desktop
Posted by
CmdrTaco
on Wed Feb 22, 2006 12:28 PM
from the now-that-could-be-pretty dept.
from the now-that-could-be-pretty dept.
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!"
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
"Just eyecandy" (Score:5, Insightful)
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.
Re:"Just eyecandy" (Score:5, Funny)
Parent
OpenGraphics.org video card, open source driver (Score:3, Interesting)
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 [slashdot.org] card will have no competition.
Re:"Just eyecandy" (Score:3, Funny)
Re:"Just eyecandy" (Score:5, Informative)
Parent
Re:"Just eyecandy" (Score:3, Funny)
Did anyone else find this punny? =P
Don't forget... (Score:3, Insightful)
Re:"Just eyecandy" (Score:3, Insightful)
Re:"Just eyecandy" (Score:3, Informative)
What about X11 acceleration? (Score:4, Interesting)
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."
Parent
OpenGL a big win (Score:5, Insightful)
Let us pay homage to Silicon Graphics, the originators of OpenGL. They may not live out the year.
Not again (Score:4, Interesting)
Why couldn't they just standardize on Xgl? It works *today*. Aigl doesn't even support my nvidia card right now.
Re:Not again (Score:5, Informative)
-Erwos
Parent
Re:Not again (Score:3, Informative)
Re:Not again (Score:5, Informative)
XFree86/X.Org Loadable Driver Framework to Achieve a Composited X Desktop":
Parent
Re:Not again (Score:4, Informative)
Parent
video card support? (Score:3, Informative)
Interesting applications (Score:4, Interesting)
How about actually letting us use Scaled Windows (Score:3, Interesting)
DEVELOPERS PLEASE STOP WORRYING ABOUT THE EYE CANDY AND THINK ABOUT FUNCTIONALITY.
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:A good step, but not the end game... (Score:3, Insightful)
This is wrong. OpenGL is actually better suited for this than Direct3D, since OpenGL has a client/server architecture. OSX proves this - it is easily possible to play in windowed mode with no slowdowns. So, no 3D apps get broken. D3D needs to be red
The "eye candy" mentality (Score:4, Insightful)
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?
Re:The "eye candy" mentality (Score:3, Insightful)
Your point is well-taken, but I'd suggest you sit down with a copy of OS X 10.0 sometime. The eye-candy was pretty unsubtle back then. The refinement present in Tiger took Apple several years to get right. XGL is not yet a year old. Give it some time to mature.
Re:The "eye candy" mentality (Score:3, Funny)
Xgl Already Better than Mac and Vista (Score:4, Interesting)
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).
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.
Parent
Re:Xgl Already Better than Mac and Vista (Score:4, Interesting)
Some of the cruft:
* using the value of a constant in a comment (/* XLFG length is 255 */)
* form feeds (ctrl-l) in the code
* magic macros with many lines of hidden code side effects (BRESINCRPGON for example)... to avoid slowdowns on cpu-drawn lines and paths. Nobody does this anymore. It's all accellerated and anyway they use static inline (see linux kernel).
* massive argument lists (XRenderCompositeDoublePoly takes 12 arguments)
* massive #define of symbols, and thus massive switch statements (not in a table someplace!). try searching programs/xkbprint/psgeom.c for XK_ISO_Prev_Group_Lock.
* symbols artificially limited to 32 characters long because compilers back then were dumb.
* supid implementation decisions, for example inserting a 'fake' client request should be a one-liner (ala requests.addFirst(fakeRequest) but instead is 64 lines because it actually puts the data into the stream being read from the client.
I mean seriously, you just open up *any* file in the Xserver and it's just crap. I don't mean to diss the developers because a) it's a somewhat large undertaking and b) they didn't have the advantages of hindsight and c) they were using slow hardware. Still, I bet the NeWS server was much better despite being made about the same time. Hopefully the device-dependent part will be done well enough that the Xserver can be rewritten in something modern (Java, ObjectiveC, even C++).
Parent
Not impressed (Score:3, Insightful)
One up Novell? (Score:3, Insightful)
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.
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:There go the distros again.. (Score:3, Insightful)
What part of "This is code that was done entirely upstream in concert with the rest of the X community." do you not understand?
Re:There go the distros again.. (Score:5, Informative)
-Erwos
Parent
Re:There go the distros again.. (Score:4, Interesting)
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 [freedesktop.org] 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.
Parent
Re:There go the distros again.. (Score:5, Informative)
-matthew
Parent
Re:Are we wasting our efforts? (Score:5, Insightful)
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.
Parent
one problem: viruses and malware (Score:3, Insightful)
Re:Are we wasting our efforts? (Score:4, Insightful)
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
Parent
Re:Are we wasting our efforts? (Score:3, Insightful)
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.
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]
Parent
Re:Give me screenshots (Score:3, Insightful)
Re:From the FAQ, We Read... (Score:3, Insightful)
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.
Re:From the FAQ, We Read... (Score:3, Insightful)
Re:Will ATI finally get FOSS friendly?? (Score:3, Informative)
Re:Will ATI finally get FOSS friendly?? (Score:3, Insightful)
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 [tweakers.net]. P
Re:Goose for the gander (Score:5, Insightful)
Yes, there is a difference. Take a look at your system. Turn off NVIDIA's custom render accel, and watch X's CPU usage while moving windows around, or resizing, or scrolling.
Install XGL, or this new Fedora thing.
Play a video on X, run a background compilation process, and then resize your video window. It'll stutter like mad. Try the same thing on XGL; its fluid. Watch all the fluid animations, and watch what happens to your CPU usage. With any accelerated video card (even ancient POS like Intel's i810, or Radeon 7500+, or older low-end Geforce) you'll see negligble CPU impact.
Contrast that with Vista's requirements for the full "Aeroglass" experience. You can do the same thing on XGL at a far, far lower cost of system resources.
One approach makes your computer faster. The other requires a faster computer. Understand?
Parent
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.
Parent
Re:Wanted to see the demo movies (Score:3, Insightful)
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 [illiminable.com]. It just takes a little bit of time.
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
Re:Building (obsolete) OpenGL into desktop core?! (Score:3, Insightful)