libglvnd-1.7.0

Introduction to libglvnd

libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL API calls between multiple vendors. It allows multiple drivers from different vendors to coexist on the same filesystem, and determines which vendor to dispatch each API call to at runtime.

In other words, this package contains OpenGL libraries and wrappers. Mesa-25.0.2 also provides OpenGL libraries. You will need to decide which provider you want to install from. This package is required by NVIDIA-570.133.07 as that driver will not be able to use Mesa's OpenGL libraries; however, every other driver, including those in Mesa, can simply use its OpenGL libraries. Furthermore, no programs in this book require this package. Problems may arise with some build systems expecting certain files or binary-downloaded applications [2] linked against this package's libraries which are not provided by Mesa-25.0.2, though these issues are few and far between.

It is up to you on which provider to install from. If you don't want to install OpenGL libraries from this package, you can skip this page and continue onto the next package. If you want to install this package, but not NVIDIA-570.133.07, you will still need to install Mesa-25.0.2. Its instructions will account for this installation.

libglvnd Dependencies

Required

Xorg Libraries

Installation of libglvnd

Install libglvnd by running the following commands:

mkdir build &&
cd    build &&

meson setup .. --prefix=/usr --buildtype=release &&

ninja

Now as the root user:

ninja install

lib32 Installation of libglvnd

First clean the build directory:

rm -rf *

Install lib32-libglvnd by running the following commands:

CC="gcc -m32" CXX="g++ -m32"         \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
meson setup --prefix=/usr            \
            --libdir=/usr/lib32      \
            --buildtype=release      \
            .. &&

ninja

Now as the root user:

DESTDIR=$PWD/DESTDIR ninja install    &&
cp -vr DESTDIR/usr/lib32/* /usr/lib32 &&
rm -rf DESTDIR                        &&
ldconfig

Command Explanations

[Note]

Note

Inspect meson_options.txt for a full list of options.

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

Contents

Installed Programs: None
Installed Libraries: libEGL.so, libGL.so, libGLESv1_CM.so, libGLESv2.so, libGLX.so, libGLdispatch.so, and libOpenGL.so
Installed Directories: /usr/include/{EGL,GLES{,2,3},glvnd,KHR}

Short Descriptions

libEGL.so

contains EGL window-system API functions

libGL.so

is a wrapper library to libGLdispatch.so and libGLX.so

libGLESv1_CM.so

is a wrapper library to libGLdispatch.so which exposes OpenGL ES entrypoints

libGLESv2.so

is a wrapper library to libGLdispatch.so which exposes OpenGL ES entrypoints

libGLX.so

manages loading GLX vendor libraries and dispatching GLX core and extension functions to the right vendor

libGLdispatch.so

implements core GL dispatching and TLS

libOpenGL.so

is a wrapper library to libGLdispatch.so which exposes OpenGL 4.5 core and compatibility entry points



[2] Ship of Harkinian is a notable example.