GLVND GLX Support Being Worked On For The X.Org Server
Red Hat's Adam Jackson has taken to working on X.Org Server patches for supporting GLVND within a GLX world (rather than just EGL) via the GLX_EXT_libglvnd extension. GLVND, of course, is NVIDIA's OpenGL Vendor Neutral Dispatch Library.
GLVND aims to make managing Linux OpenGL drivers easier and the ABI changes allow multiple hardware drivers to coexist gracefully on the same system. It's explained in more detail here. NVIDIA's proprietary driver was the first to expose a GLVND-compliant driver while the AMD proprietary hybrid stack is aiming for support as is Mesa itself.
With this patch series by Adam Jackson, the GLX_EXT_libglvnd support bits are wired up within the X.Org Server. He explained this work as, "The last patch finishes support for GLX_EXT_libglvnd by returning a vendor library string in glXQueryServerString. This is to enable libglvnd to select the correct implementation for applications that address multiple GL screens (or displays). At the moment this extension is only exposed for non-OSX and non-Windows builds, as libglvnd really isn't functional there. The swrast backend simply hardcodes the vendor to mesa. The DRI2 backend allows you to override the vendor string with Option 'GlxVendorLibrary' in xorg.conf, in either the Device or Screen sections."
GLVND aims to make managing Linux OpenGL drivers easier and the ABI changes allow multiple hardware drivers to coexist gracefully on the same system. It's explained in more detail here. NVIDIA's proprietary driver was the first to expose a GLVND-compliant driver while the AMD proprietary hybrid stack is aiming for support as is Mesa itself.
With this patch series by Adam Jackson, the GLX_EXT_libglvnd support bits are wired up within the X.Org Server. He explained this work as, "The last patch finishes support for GLX_EXT_libglvnd by returning a vendor library string in glXQueryServerString. This is to enable libglvnd to select the correct implementation for applications that address multiple GL screens (or displays). At the moment this extension is only exposed for non-OSX and non-Windows builds, as libglvnd really isn't functional there. The swrast backend simply hardcodes the vendor to mesa. The DRI2 backend allows you to override the vendor string with Option 'GlxVendorLibrary' in xorg.conf, in either the Device or Screen sections."
3 Comments