Announcement

Collapse
No announcement yet.

The New Linux OpenGL ABI Is Nearing Reality

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • The New Linux OpenGL ABI Is Nearing Reality

    Phoronix: The New Linux OpenGL ABI Is Nearing Reality

    One year ago a new Linux OpenGL ABI was proposed to make dealing with Linux OpenGL libraries easier and cleaner, among other benefits. The Linux OpenGL changes that will ultimately affect all Linux graphics drivers is nearing fruition...

    http://www.phoronix.com/vr.php?view=MTQ3MTc

  • #2
    The video (along with other ones) is available here.

    Comment


    • #3
      The video presentation can be found here:
      http://www.x.org/videos/XDC2013/

      Comment


      • #4
        I guess that means that AMD will support that in what...2 years?

        Anyway, does that mean that, if both drivers would work with that ABI, I could run a Nvidia card in combination with an AMD card the same way I can today plug two AMD cards into my PC and connect them (X-fire)?

        Comment


        • #5
          Originally posted by Detructor View Post
          I guess that means that AMD will support that in what...2 years?

          Anyway, does that mean that, if both drivers would work with that ABI, I could run a Nvidia card in combination with an AMD card the same way I can today plug two AMD cards into my PC and connect them (X-fire)?
          Afaik today only one GL implementation can be used at a time, the one which last created the /usr/lib/libGL.so, if you wanna use another implementation you have to run some filesystem utility to remove/overwrite the current GL implementation at /usr/lib/libGL.so (say the nouveau one) with another driver (say Nvidia's proprietary one).

          The new ABI allows many drivers to coexist in peace and the runtime is agnostic of which drivers exist in the OS and chooses which driver to use without any hacks whatsover, e.g. you can have in the same application window a GL context running on nouveau and the other one running on Nvidia's proprietary driver. Not that you need this, it just shows that the infight between GL drivers should be over, plus some provisions for future non-GL based solutions.

          But since it's not final yet, we don't know exactly what it will be.

          Comment


          • #6
            Does that mean, that SteamOS can just preinstall NVIDIA, Catalyst and intel-dri and some clever code will just detect the hardware and work out-of-the-box with the proper drivers?

            Comment


            • #7
              Originally posted by blackout23 View Post
              Does that mean, that SteamOS can just preinstall NVIDIA, Catalyst and intel-dri and some clever code will just detect the hardware and work out-of-the-box with the proper drivers?
              Yes, the basic idea is you install as many video drivers as you want and the system/program will use the proper one, kind of like the linux modules which you can load and unload at runtime at any time depending on which device is connected or available.
              Last edited by mark45; 09-28-2013, 01:26 PM.

              Comment


              • #8
                Hope this gets fixed good.
                Linux really needs a way to deal with the concept of API's in general better than the current mess.
                This system of doing this would be a nice thing to have more universally for all API's.

                Comment


                • #9
                  Originally posted by mark45 View Post
                  Afaik today only one GL implementation can be used at a time, the one which last created the /usr/lib/libGL.so, if you wanna use another implementation you have to run some filesystem utility to remove/overwrite the current GL implementation at /usr/lib/libGL.so (say the nouveau one) with another driver (say Nvidia's proprietary one).
                  No. It's enough to use LD_LIBRARY_PATH=/path/to/libgl
                  There's also LIBGL_DRIVERS_PATH. And if all doesn't work, you can still use LD_PRELOAD to load another libgl first.

                  But of course it would be much better to have actual support of that instead of just loading different libraries and hoping that nothing collides.

                  Comment


                  • #10
                    Originally posted by ChrisXY View Post
                    No. It's enough to use LD_LIBRARY_PATH=/path/to/libgl
                    There's also LIBGL_DRIVERS_PATH. And if all doesn't work, you can still use LD_PRELOAD to load another libgl first.

                    But of course it would be much better to have actual support of that instead of just loading different libraries and hoping that nothing collides.
                    Which is what I'm saying, without crappy workarounds and knowing where stuff is located (since it's not standardized) is a pita and doesn't work at all if you haven't invested a lot of time in figuring a working workaround out. It's like X11 which basically works but is crappy as hell and anyone wants to get rid of it except a few folks that are conservative (read "with down syndrome") who like it.

                    Comment

                    Working...
                    X