Announcement

Collapse
No announcement yet.

A New Linux OpenGL ABI Is Being Proposed

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

  • A New Linux OpenGL ABI Is Being Proposed

    Phoronix: A New Linux OpenGL ABI Is Being Proposed

    The Linux OpenGL stack along with the upstream OpenGL specification has been evolving at a fast pace in recent years. There was recently some discussion within the Khronos camp for updating the guide for how to implement OpenGL support on Linux and it's been decided it will be talked about next week at XDC2012. To get the ball rolling for planning out a new Linux OpenGL ABI, NVIDIA has published a proposal...

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

  • #2
    Can someone explain if and what benefits are to be expected for users once this is implemented?

    Comment


    • #3
      Originally posted by 89c51 View Post
      Can someone explain if and what benefits are to be expected for users once this is implemented?
      It's not for users, it's for developers.

      When Intel killed a lot of old crap from Mesa including XAA and unmaintained drivers they didn't do it for the users. Same here - it is for the developers to be easier to properly/easier setup a system and program for it - which in the long run greatly benefits the users.

      Comment


      • #4
        TL;DR:

        Less work, less hoops to jump through for developers = easier, less complicated time for end users

        Comment


        • #5
          eselect opengl list

          Gentoo ftw

          Comment


          • #6
            I don't really know where you guys got the impression that this benefits developers only. The article clearly states that it's a benefit for software vendors and users.

            It will benefit users in being possible for multiple 3D drivers to coexist in the same filesystem. I can imagine for instance having the intel opensource stack coexisting with fglrx and being able to select the default driver to use for applications. Meaning I can select which GPU I want to run an application on.
            You should also be able to have both nVidia hardware and AMD hardware in the same machine and select which app runs on which GPU.

            Comment


            • #7
              Originally posted by mdias View Post
              It will benefit users in being possible for multiple 3D drivers to coexist in the same filesystem. I can imagine for instance having the intel opensource stack coexisting with fglrx and being able to select the default driver to use for applications. Meaning I can select which GPU I want to run an application on.
              You should also be able to have both nVidia hardware and AMD hardware in the same machine and select which app runs on which GPU.
              I was under the impression that we could do this already via eselect-opengl under Gentoo, and that the benefit of the new/proposed ABI is that it would allow us to run two GL applications simultaneously on two different mfrs' cards.

              I guess that we all might be a little confused regarding the implications of the proposal, and that it will be made clearer at XDC.

              I'm really not 100% convinced yet that the proposal benefits anyone other than the developers of proprietary GL drivers.

              F

              Comment


              • #8
                Originally posted by jannis View Post
                eselect opengl list

                Gentoo ftw
                This has nothing to do with it. If you eselect another GL library, all applications will use that. You can't have both; eselect simply selects one of several alternatives, it doesn't activate them simultaneously.

                Comment


                • #9
                  since ppl are asking questions...

                  why EGL ?
                  whats wrong with GLUT, it makes windows and displays stuff

                  Comment


                  • #10
                    Originally posted by gens View Post
                    since ppl are asking questions...

                    why EGL ?
                    whats wrong with GLUT, it makes windows and displays stuff
                    These aren't equivalent. GLUT is like a shitty toy version of GTK/Qt. EGL is an OS-neutral version of GLX. GLUT layers over GLX/WGL/AGL/EGL, and offers borderline useless input and timer mechanisms and window management. EGL lets you create and bind GL contexts to a full real windowing system and allows using the native fully featured window system API for input, timers, I/O, events, etc.

                    Comment


                    • #11
                      Also, the implication of this proposal are very clear and easy to understand.

                      A) no more replacing libGL.1.so to switch drivers. Core OS-provided libraries should never be replaced with addon libraries.

                      B) vendor libraries are separate, so you can install AMD and NVIDIA drivers simultaneously, without requiring distro-specific selection mechanisms.

                      C) the GL API is bound in the vendor-neutral OS-provided library, so you can load multiple drivers into the same address space. This means you can draw with a discrete NVIDIA GPU while offloading other work to your integrated Bulldozer or Intel GPU.

                      D) vendors will be able to opt out of providing the deprecated non-Core profile functions, e.g. as Apple does, which simplifies drivers and can even allow some mild performance improvements (though we'd need another round of GL function removals and DSA additions to get any significant improvements).

                      E) the APIs for device management in the window system are provided by the OS primarily with driver extensions, so proprietary drivers could work with Wayland or any other future new display system that uses GL/EGL, while GLX can be phased out.

                      F) allows the removal of cruft that will not be needed in the future, like GLX, which right now must be implemented by the drivers, even for systems that don't use X at all.
                      Last edited by elanthis; 09-13-2012, 02:49 PM.

                      Comment


                      • #12
                        Originally posted by mdias View Post
                        I don't really know where you guys got the impression that this benefits developers only. The article clearly states that it's a benefit for software vendors and users.

                        It will benefit users in being possible for multiple 3D drivers to coexist in the same filesystem. I can imagine for instance having the intel opensource stack coexisting with fglrx and being able to select the default driver to use for applications. Meaning I can select which GPU I want to run an application on.
                        You should also be able to have both nVidia hardware and AMD hardware in the same machine and select which app runs on which GPU.
                        This could work with Optimus for example, with the nvidia blob and the Intel driver coexisting peacefully on the same system and sharing their buffers seamlessly. Another scenario would be a multihead setup with say an AMD card alongside an nvidia one and each one is driven by their respective blobs

                        Comment


                        • #13
                          Originally posted by elanthis View Post
                          Also, the implication of this proposal are very clear and easy to understand.
                          ..good answers...
                          I guess that I'm OK with this. The "why are we doing this" is fairly important to me. I just want to be certain that this will be helping us in the case of wanting to load two FOSS drivers. I want to be certain that we're doing this to prevent blobs from interfering with mesa, and not solely to benefit vendors who choose not to take part in the FOSS ecosystem.

                          F

                          Comment


                          • #14
                            Originally posted by russofris View Post
                            I guess that I'm OK with this. The "why are we doing this" is fairly important to me. I just want to be certain that this will be helping us in the case of wanting to load two FOSS drivers. I want to be certain that we're doing this to prevent blobs from interfering with mesa, and not solely to benefit vendors who choose not to take part in the FOSS ecosystem.

                            F
                            is about to be able to use mesa / nvidia / fglrx / another vendor blob at the same time without script to death your way into it[among many other possible things], about the FOSS im pretty darn sure that nvidia dont wanna take part of the FOSS ecosystem but should make users/distros life lots easier tho

                            Comment


                            • #15
                              Will this a affect

                              will this affect how older games run such as neverwinter nights, quake 4 and what about older versions of wine that are needed for games that don't run in the current version?
                              Last edited by hosh-blot; 09-13-2012, 03:46 PM.

                              Comment

                              Working...
                              X