Slashdot is powered by your submissions, so send in your scoop


Forgot your password?

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!"
This discussion has been archived. No new comments can be posted.

Fedora's OpenGL Composite Desktop

Comments Filter:
  • by Erwos ( 553607 ) on Wednesday February 22, 2006 @01:41PM (#14777759)
    Did you even RTFA? All the work was done upstream. Nothing's there that's Fedora specific.

  • Re:Screenshots (Score:4, Informative)

    by TeacherOfHeroes ( 892498 ) on Wednesday February 22, 2006 @01:41PM (#14777766)
    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 []
  • by misleb ( 129952 ) on Wednesday February 22, 2006 @01:42PM (#14777769)
    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.

  • video card support? (Score:3, Informative)

    by atarione ( 601740 ) on Wednesday February 22, 2006 @01:42PM (#14777770)
    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. ~~~
  • Re:Not again (Score:5, Informative)

    by Erwos ( 553607 ) on Wednesday February 22, 2006 @01:43PM (#14777776)
    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.

  • by anandrajan ( 86137 ) on Wednesday February 22, 2006 @01:45PM (#14777790) Homepage
    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."

  • by TheNetAvenger ( 624455 ) on Wednesday February 22, 2006 @02:05PM (#14777944)
    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.
  • by chrismcdirty ( 677039 ) on Wednesday February 22, 2006 @02:06PM (#14777946) Homepage
    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.
  • Re:"Just eyecandy" (Score:5, Informative)

    by ajs ( 35943 ) <ajs.ajs@com> on Wednesday February 22, 2006 @02:12PM (#14778006) Homepage Journal
    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

  • Re:Not again (Score:5, Informative)

    by cortana ( 588495 ) <`ku.gro.stobor' `ta' `mas'> on Wednesday February 22, 2006 @02:21PM (#14778063) Homepage
    Please visit 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.
  • by dstewart ( 853530 ) on Wednesday February 22, 2006 @02:39PM (#14778230) []

    # 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)

    by tenchiken ( 22661 ) on Wednesday February 22, 2006 @02:42PM (#14778250)
    nVidia not only believes that it is the way to go, they helped write the spec for the feature.
  • by be-fan ( 61476 ) on Wednesday February 22, 2006 @03:05PM (#14778469)
    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.
  • by Roguelazer ( 606927 ) <> on Wednesday February 22, 2006 @03:11PM (#14778527) Homepage Journal

    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:

  • Re:Not again (Score:4, Informative)

    by be-fan ( 61476 ) on Wednesday February 22, 2006 @03:13PM (#14778547)
    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.
  • Re:"Just eyecandy" (Score:3, Informative)

    by Hes Nikke ( 237581 ) <> on Wednesday February 22, 2006 @05:21PM (#14779598) Journal
    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)
  • by Brain_Recall ( 868040 ) <> on Wednesday February 22, 2006 @06:36PM (#14780343)
    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: 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.

  • by TheNetAvenger ( 624455 ) on Wednesday February 22, 2006 @08:56PM (#14781230)
    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 redesigned for this, in short it needs a similar client/server-architecture. I wouldnt be surprised to see Direct3D 10 heading in this direction.

    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.

Thus spake the master programmer: "When a program is being tested, it is too late to make design changes." -- Geoffrey James, "The Tao of Programming"