Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. legacy GL vs GLVND Open GL
Forum Updated to NodeBB v4.3 + New Features

legacy GL vs GLVND Open GL

Scheduled Pinned Locked Moved Solved Installation and Deployment
10 Posts 2 Posters 3.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • JoeCFDJ Offline
    JoeCFDJ Offline
    JoeCFD
    wrote on last edited by JoeCFD
    #1

    Maybe a dumb question.
    I noticed that Qt OpenGL lib is linked to legacy GL instead of GLVND Open GL. Is not GLVND Open GL better than legacy GL?

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      What do you mean by legacy GL ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      JoeCFDJ 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi,

        What do you mean by legacy GL ?

        JoeCFDJ Offline
        JoeCFDJ Offline
        JoeCFD
        wrote on last edited by JoeCFD
        #3

        @SGaist legacy GL is the lib OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so

        and GLVND libraries for OpenGL and GLX:
        OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
        OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so

        I would like to know the differences. I used Qt installer and therefore can not test the differences.

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          There's no Legacy GL.

          libGL is the official OpenGL implementation

          GLX is the OpenGL library that talks with X11

          GLVND is a vendor neutral GL dispatch library

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          JoeCFDJ 1 Reply Last reply
          0
          • SGaistS SGaist

            There's no Legacy GL.

            libGL is the official OpenGL implementation

            GLX is the OpenGL library that talks with X11

            GLVND is a vendor neutral GL dispatch library

            JoeCFDJ Offline
            JoeCFDJ Offline
            JoeCFD
            wrote on last edited by
            #5

            @SGaist what is /usr/lib/x86_64-linux-gnu/libOpenGL.so?

            JoeCFDJ 1 Reply Last reply
            0
            • JoeCFDJ JoeCFD

              @SGaist what is /usr/lib/x86_64-linux-gnu/libOpenGL.so?

              JoeCFDJ Offline
              JoeCFDJ Offline
              JoeCFD
              wrote on last edited by JoeCFD
              #6

              @JoeCFD these messages

              legacy GL is the lib OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
              and GLVND libraries for OpenGL and GLX:
              OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
              OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so
              

              are output from cmake

              1 Reply Last reply
              0
              • JoeCFDJ Offline
                JoeCFDJ Offline
                JoeCFD
                wrote on last edited by
                #7

                @JoeCFD said in legacy GL vs GLVND Open GL:

                libOpenGL

                In addition, there's a new library, libOpenGL.so. It's basically the same as libGL.so, except that it only exports the OpenGL functions, not GLX. It also doesn't depend on libGLX, so it could also be used with an EGL or GLX application. The hope is that future applications will link against libOpenGL.so and either libGLX.so or libEGL.so. This makes for a cleaner separation of OpenGL from the window system binding. But, libGL.so will be kept around indefinitely for backwards compatibility.

                from https://forums.gentoo.org/viewtopic-t-1117500-start-25.html

                1 Reply Last reply
                0
                • JoeCFDJ Offline
                  JoeCFDJ Offline
                  JoeCFD
                  wrote on last edited by
                  #8

                  The problem with the current situation is that different implementations of libGL.so.1 export a different set of functions, with no real rule or pattern between them.

                  There's nothing we can do about libGL.so.1 itself anymore. Too many buggy applications depend on that, and the chance of getting all of those applications fixed is zero.

                  The point of libOpenGL.so is to provide a clean separation between the window-system functions (GLX and EGL) and the OpenGL functions. In addition, since we don't have any compatibility baggage, the export list can be simple and well-defined. Unlike libGL.so, we can ensure that libOpenGL.so keeps the same export list forever.

                  https://github.com/NVIDIA/libglvnd/issues/63

                  1 Reply Last reply
                  0
                  • JoeCFDJ Offline
                    JoeCFDJ Offline
                    JoeCFD
                    wrote on last edited by
                    #9

                    libOpenGL.so has not replaced libGL.so. But cmake claims libGL.so is legacy.

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      Ok, I understand better the legacy concept in this case.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved