NVIDIA’s new beta drivers – with full AIGLX support [Update]

cube-with-matrixNVIDIA has released a new beta version of their graphics drivers. Phoronix has a short review here.

The most exciting news is support for the OpenGL extension GLX_EXT_texture_from_pixmap. Or, as said in the mentioned Phoronix article:

We had no problems running NVIDIA 1.0-9625 drivers with AIGLX on Fedora Core 6 Test 3.

That’s amazing! Other new features are OpenGL version 2.1 support, support for Quad SLI and NVIDIA Quadro Plex and a new support for Display configurations: like with ATI drivers you are now able to switch to TwinView without restarting the X server. This was always a big disadvantage compared to for example Microsoft Windows.

But back to the AIGLX support: some might ask why this is important: the background is that Xgl – although delivering pretty cool and fancy effects – is technically a quite “bad” (read: alien) solution and breaks with lots of standards in the X system and introduces a own set of new problems due to the “hacks” which were necessary to get Xgl like it is. AIGLX, on the other hand, is an enhancement of the X server and is compliant to the X standards, so it does not have this problem. The reason why it was not used by most people was that most graphic chips where not supported. Now, with the new NVIDIA driver, this has changed. The last thing missing are ATI drivers with AIGLX support now.

Anyway, if you wonder how you can install AIGLX – it is part of the official X.Org server since version 7.1. Therefore all you have to do is to update to that version. If your window manager will support it is another question, but for example Fedora Core 6 will come with in-build AIGLX support at least in the default GNOME window manager Metacity. In other cases, the solution is most likely to install compiz – or probably the new compiz fork beryl.

However: AIGLX is now a “real” standard, which means it is supported by the masses and not only an unused something. And therefore it will find its way into most Linux distributions very quickly – and most Linux desktop distributions will have fancy desktop effects by default.

Update
Mikos wrote me some comments about the fact that AIGLX and GLX_EXT_texture_from_pixmap are not directly connected. Also, NVIDIA does not use AIGLX but uses its own (maybe closed source) indirect rendering infrastructure. Everything is a bit blurry atm but when I get new information I post them, of course🙂

9 thoughts on “NVIDIA’s new beta drivers – with full AIGLX support [Update]”

  1. Well, according to Wikipedia, NVidia drivers have supported accelerated indirect rendering even before AIGLX was created. The only thing why Compiz didn’t work on NVidia drivers was missing glx_ext_texture_from_pixmap OpenGL extension. New NVidia beta drivers supports glx_ext_texture_from_pixmap, so now it works. But it has nothing to do with AIGLX, NVidia uses their own implementation of accelerated indirect rendering.

  2. That can’t be right – AIGLX never depended on Compiz. In fact, Compiz was ported some time after AIGLX was released.
    Can you post the link to the Wikipedia entry so that I can try to shed some more light? If nvidia used his own indirect rendering infrastructure was this open source or closed source?

  3. I never said that AIGLX depended on Compiz. Compiz was only example. The point is that missing part for Compiz (or any other OpenGL compositing window manager) on NVidia drivers was glx_ext_texture_from_pixmap extension, not AIGLX.

    Well, it wasn’t Wikipedia entry (I was wrong), it was this article Communication between Xorg, Xgl, and an OpenGL client, through libGL and the GLX Protocol:

    “Aiglx is a project (now completely merged in Xorg CVS HEAD) that provides Accelerated Rendering to Indirect OpenGL Contexts. Before aiglx, only NVIDIA’s implementation of libglx provided Accelerated Indirect GLX.”

    And in this post from by James Jones (from NVIDIA) is clearly stated:

    “AIGLX stands for Accelerated Indirect GLX. It is not related to compiz or GLX_EXT_texture_from_pixmap at all, except that support for GLX_EXT_texture_from_pixmap in the open source DRI OpenGL drivers required it. NVIDIA has always supported Accelerated Indirect GLX rendering.”

  4. Also this part of James Jones is important:

    “Neither Xgl or AIGLX are required to use compiz with the NVIDIA drivers now that they natively support GLX_EXT_texture_from_pixmap.”

  5. Thanks for the links, however I have to admit that they do not clear up my mind completely.

    But it can be that NVIDIA already supported – with its own version of libGL – the indirect rendering. But in that case, who wants to use that? It is closed source, and therefore is a non-standard solution.

    With AIGLX we now have a standard way – and with the new extension you *can* use AIGLX with NVIDIA drivers. But you are right, you do not have to, you can still do it without. But, again, why use a closed source solution when there is a open source solution available?
    And, to be clear about that: you do not have to install some additional software for the AIGLX way – not at all. All you need is X.Org 7.1.

    And in one thing James Jones is not right: the ATI drivers also need GLX_EXT_texture_from_pixmap support to be able to run AIGLX. So it is in a way connected.

    Hm, I hope I get this all right at this time of the day…

  6. AIGLX stands for Accelerated Indirect GLX. But as I understand it (maybe badly? I don’t know for sure…) AIGLX is only one implementation of accelerated indirect rendering (and is bounded to DRI), NVidia drivers clearly have their own implementation. And as I understand it they doesn’t support AIGLX – there is no need for them to supporting it (if you enable AIGLX in xorg.conf on new NVidia drivers, nothing happends, everything is same as before, even logs), OpenGL applications doesn’t see underlying technology.

    So speaking about AIGLX in connection with NVidia new drivers is probably wrong. But as I said I don’t know this for sure, so maybe I am wrong🙂

  7. I think that you’re right with your explanation. But there is still the issue if this indirect rendering is closed source or open source.

    To get a bit more clarification I wrote the phoronix.com guys if they can help there. I hoe they will write a bit about it…

  8. Hi all,

    Just fyi I’ve set up some directions in my blog (gbil.dyndns.org) on how to setup compiz-quinn & cgwd in FC6 (rawhide).

    Hope you find it helpful.

    Cheers

Comments are closed.