libglvnd-1.7.0

Introduksjon til libglvnd

libglvnd pakken inneholder OpenGL implementeringer som sender API kall til en gitt driverleverandør. Noen av bibliotekene er rett og slett innpakninger til hoveddistributøren.

[Viktig]

Viktig

Les Om OpenGL for å avgjøre om du vil installere OpenGL implementeringer fra denne leverandøren.

libglvnd Avhengigheter

Anbefalt

Installasjon av libglvnd

Installer libglvnd ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr       \
            --buildtype=release \
            -D gles1=false      \
            -D hgl=false        \
            .. &&

ninja

Nå, som root bruker:

ninja install

lib32 Installasjon av libglvnd

Installer lib32-libglvnd ved å kjøre følgende kommandoer:

rm -rf * &&
CC="gcc -m32" CXX="g++ -m32"         \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
meson setup --prefix=/usr            \
            --libdir=/usr/lib32      \
            --buildtype=release      \
            -D gles1=false           \
            -D hgl=false             \
            .. &&

ninja

Nå, som root bruker:

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

Parameterforklaringer

[Notat]

Notat

Undersøk meson_options.txt eller meson.options for en fullstendig liste over alternativer.

--buildtype=release: Spesifiser en byggetype som er egnet for stabile utgivelser av pakken, da standardtypen kan produsere uoptimaliserte binærfiler.

-D gles1=false: Dette deaktiverer en utdatert versjon av OpenGL ES.

-D hgl=false: Dette deaktiverer målretting mot Haiku som standard, ettersom denne veiledningen er for Linux, ikke Haiku.

-D gles2=false: Hvis du ikke trenger OpenGL ES, bruk dette alternativet. Sørg for å lese «Om GLES (OpenGL ES)».

Liste over pakker med problemer

Selv om installasjon av denne pakken kan bidra til å forhindre mange problemer senere, kan den ha noen forbehold, og alle er relatert til BLFS. BLFS forventer naturligvis at den eneste OpenGL leverandøren er Mesa, så instruksjonene vil dermed anta at denne pakken ikke er installert. Følgende har kjente problemer og løsninger:

  • Mesa: I BLFS er en oppdatering oppført i Mesa side og vil instruere deg om å bruke den. Dette vil forårsake et problem med mindre du eksplisitt ber byggesystemet om ikke å lenke mot denne pakkens biblioteker, som betyr at det må bygge sine egne OpenGL implementeringer, noe som vil forårsake problemer i seg selv. Den nøyaktige feilen oppdateringen forårsaker er en lenkefeil i det siste settet med trinn når den bygger demoene, da den forventer funksjoner som ikke finnes i de spesifikke bibliotekene fra denne pakken den prøver å lenke mot.

    Enten ikke bruk den oppdateringen, eller følg denne boken sin Mesa-25.1.4 side i stedet. Siden Mesa byggesystemet som automatisk oppdager om libglvnd er installert, installasjonsinstruksjonene endres ikke så mye mellom denne boken og BLFS. De viktigste forskjellene er lib32-støtte og at demoens oppdateringen ikke er oppført.

  • GLU: I BLFS, GLU siden angir eksplisitt GL leverandøren til Mesa siden byggesystemet ellers vil forvente libglvnd og libOpenGL skal installeres. Selv om instruksjonene på BLFS siden fører til en vellykket kompilering, fungerer ikke det resulterende biblioteket som det skal. Du bør følge SLFS GLU siden i stedet. Den sjekker også om leverandøren er Mesa.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libEGL, libGL, libGLESv2, libGLX, libGLdispatch, og libOpenGL
Installerte Mapper: /usr/include/{EGL,GLES{2,3},glvnd,KHR}

Korte Beskrivelser

libEGL

inneholder EGL vindusystem API funksjoner

libGL

er «legacy» OpenGL bibliotek; kall på wrapper bibliotek libGLdispatch og libGLX

libGLESv2

eksponerer OpenGL ES 2.x og 3.x inngangspunkter; kall på wrapper bibliotek libGLdispatch

libGLX

sender GLX utvidelser til riktig leverandør

libGLdispatch

sender OpenGL og TLS til riktig leverandør

libOpenGL

er «ny» OpenGL bibliotek og eksponerer OpenGL inngangspunkter; kalling av wrapper bibliotek libGLdispatch