OpenGL er et eldre grafikk API på høyt nivå som de fleste grafikkpakker på Linux bruker i dag.
I BLFS, OpenGL biblioteker (libGL og
andre) er installert fra Mesa. Flere Linux distribusjoner installerer
disse bibliotekene fra libglvnd-1.7.0. GLFS har tatt den samme
avgjørelsen som disse distribusjonene og forventer at du installerer
libglvnd-1.7.0. Til tross for dette, Mesa-25.2.2 er
nødvendig for mange systemer fordi det tilbyr nødvendige drivere,
ikke bare OpenGL biblioteker. GLFS sørger for at instruksjonene i den
pakken ber om libglvnd støtte slik at Mesa ikke bygger sine egne
OpenGL biblioteker.
Alle pakker støtter libglvnd i BLFS. Når BLFS sier at en pakke er avhengig av Mesa, betyr det at pakken trenger OpenGL biblioteker. (libglvnd-1.7.0) og/eller libgbm (libgbm-1.0.2 eller libgbm fra Mesa-25.2.2). Enkelte sider vil også lenke til GLU. Du må imidlertid installere denne bokens versjon av GLU-9.0.3 for å sikre kompatibilitet med libglvnd.
Hvis du ikke har installert noen pakker som er avhengige av OpenGL
ennå, kan du gå videre og installere libglvnd-1.7.0 og driveren
for GPU-en din. Hvis du har installert Mesa fra BLFS, har du
sannsynligvis OpenGL bibliotekene som leveres av Mesa.
Hovedproblemene du vil støte på ved overføring er forskjeller i
soname i libGL samt potensielle ABI
problemer. Som et resultat vil mange pakker kreve ny installasjon for
å bruke de riktige bibliotekene. Av den grunn anbefales ikke
overgang, og det kan være bedre å installere LFS og dens
delprosjekter på nytt med libglvnd i tankene.
Selv om du kan installere de fleste pakkene i GLFS med Mesas OpenGL biblioteker, og til og med aktivere installasjon av disse bibliotekene fra Mesa i denne boken ved å fjerne et dokumentert alternativ, anbefales det sterkt at du ikke gjør det. Verken GLFS eller SLFS støtter den konfigurasjonen.
Det finnes mer informasjon om OpenGL og libglvnd. Hvis du bare vil lese boken slik det er tiltenkt, kan du hoppe over til installasjonen av libglvnd.
Hovedgrunnen til at GLFS forventer at brukere skal installere
libglvnd er at NVIDIA-580.105.08 og flere pakker og
AppImages krever libglvnd enten direkte eller indirekte. For NVIDIA
krever libglvnd direkte, mens AppImages lider av problemet nevnt
tidligere i denne delen: forskjeller i soname-er, samt et manglende
bibliotek. libGL har et soname som er
forskjellig fra Mesa og libGLX er
ikke inkludert fra Mesa. Dette ødelegger de fleste AppImages. Som
med andre pakker, kan byggesystemene deres føre til at
konfigurasjonen feiler uten libglvnd som libOpenGL finnes ikke, og byggesystemene vil ikke
kombinere libGL med libEGL.
Disse problemene lekker inn i Supplemental LFS, som med Hyprland og OBS-Studio. Flatpak kan lide av det samme problemet. BLFS kan lide av dem på et tidspunkt, avhengig av når prosjekter gjør endringer som krever libglvnd i en eller annen form.