Om OpenGL

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.

[Notat]

Notat

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.

Hvorfor installerer GLFS 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.