Slashdot Mirror


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!"

27 of 392 comments (clear)

  1. "Just eyecandy" by Tim+C · · Score: 5, Insightful

    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.

    1. Re:"Just eyecandy" by Jordan+Catalano · · Score: 4, Funny

      Work's work. If you could dictate the asthetics of your work environment, I bet you'd have quite a different set of coworkers.

    2. Re:"Just eyecandy" by ajs · · Score: 4, Informative
      Advantages of an OpenGL desktop:
      • Zooming in on any part of the desktop while still being able to interact with it (for the visually impared, this is HUGE)
      • Hardware support beomes much simpler.
      • Window manager interaction involves less CPU
      • SVG rendering can go straight to OpenGL for better rendering performance
      • Support for alpha blending (for PNG, anti-aliasing, gimp, etc.) is much lower overhead and easier to support universally

  2. What about X11 acceleration? by Watson+Ladd · · Score: 4, Interesting

    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
  3. OpenGL a big win by andrewzx1 · · Score: 5, Insightful

    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.

  4. Re:There go the distros again.. by tuffy · · Score: 3, Insightful
    Making incompatible forks, each one trying to be different from another insetead of collaboring to rush development of unified tools.

    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.

  5. Re:Are we wasting our efforts? by chrismcdirty · · Score: 5, Insightful

    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!
  6. Not again by prockcore · · Score: 3, Interesting

    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.

    1. Re:Not again by Erwos · · Score: 4, Informative

      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.
    2. Re:Not again by cortana · · Score: 4, Informative
      Please visit http://developer.nvidia.com/object/xdevconf_2006_p resentations.html and check out NVIDIA's presentation: "Using the Existing
      XFree86/X.Org Loadable Driver Framework to Achieve a Composited X Desktop":
      In this paper, we make the case for using the existing XFree86/X.Org DDX loadable driver framework to achieve a production-quality composited X desktop, as opposed to the X-on-OpenGL model. While the X-on-OpenGL model demonstrates what the graphics hardware is capable of, everything that the X-on-OpenGL model can achieve is equally possible with the current framework. Furthermore, the current framework offers flexibility to driver developers to expose vendor-specific features that may not be possible through the X-on-OpenGL model.
    3. Re:Not again by be-fan · · Score: 3, Informative

      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...
  7. Re:There go the distros again.. by Erwos · · Score: 4, Informative

    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.
  8. Re:Screenshots by TeacherOfHeroes · · Score: 3, Informative

    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

  9. Re:There go the distros again.. by misleb · · Score: 4, Informative

    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
  10. video card support? by atarione · · Score: 3, Informative

    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.
  11. Comparison to Novell's XGL effort by anandrajan · · Score: 5, Informative
    From the FAQ, How is this different than XGL?

    "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
  12. Interesting applications by dtsazza · · Score: 4, Interesting
    It'll certainly be interesting to see effects like those of 3dDesk the norm, rather than the exception. Also, if anyone else has played with it they might have noticed that it essentially works with lowish-res images of the desktop rather than the windows and icons themselves - you can notice it in some of the modes, there's a definite switch between the desktop itself, and the image of the desktop (in both directions). Having something fully integrated will open up many new possibilities... ...and on the same note, it's a challenge to designers to use them in a truly worthwhile way. While I agree with that eye candy does make a difference, it can also make a difference in a bad way when clueless designers turn to snazzy effects to make up for lack of basic competence (viz. many many webpages). It's the difference between
    "Let's make improvements to X - ooh, that new 3D stuff could help with that"
    and
    "Wow, that 3D stuff sure is snazzy! We'd best think up a way to get it into our next release."
    Now I'm certainly not saying that this is bad news, far from it in fact, but I can imagine there'll be temptation there to use it at any cost (especially once it starts making its way into competing projects). Hopefully interface designers will embrace the new possibilites open to them and give us some genuinely useful/nice improvements.
    --
    My, that was a yummy potato!
  13. How about actually letting us use Scaled Windows by Anonymous Coward · · Score: 3, Interesting

    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.

  14. The "eye candy" mentality by skryche · · Score: 3, Insightful

    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?

  15. Re:Are we wasting our efforts? by paulpach · · Score: 4, Insightful

    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

  16. Xgl Already Better than Mac and Vista by 0xABADC0DA · · Score: 3, Interesting

    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.

    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-Ja nuary/011922.html
    (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).

    1. Re:Xgl Already Better than Mac and Vista by be-fan · · Score: 4, Informative

      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...
    2. Re:Xgl Already Better than Mac and Vista by 0xABADC0DA · · Score: 3, Interesting

      That's disappointing news that they are not rewriting the whole thing, but only the hardware-dependent code. I hope you are on crack saying that the rest is "relatively clean" (maybe relative to the device-dependent X code???).

      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++).

  17. Re:Goose for the gander by WhiteWolf666 · · Score: 4, Insightful

    Vista's eye candy has tremendous system requirements. On X, if you can offload window operations to an OpenGL compositor, you save a significant number of CPU cycles.

    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?

    --
    WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
  18. WMP plays ogg in 2 1/2 easy steps by dstewart · · Score: 5, Informative

    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.
  19. Re:There go the distros again.. by IamTheRealMike · · Score: 3, Interesting
    Blah. Is that so? How comes then the first the world hears of AIGLX was on OSNews, but I've been reading about XGL on the Xorg mailing lists and development forums for literally years. Red Hat may claim they've been luvvy duvvy community huggers over this, but I've been watching the developments in X very carefully indeed and XDevConf 2006 (!) is the first mention I saw of it.

    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.

  20. XGL the future? Already here! by Brain_Recall · · Score: 3, Informative
    Yes, I'm using XGL, right at this very moment. I'm running a Ubuntu beta release, DapperFlight4, to which compiz and XGL have been isntalled. The forum post on how to get it installed is here: http://www.ubuntuforums.org/showthread.php?t=13126 7

    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.