Mesa-25.2.2

Introduksjon til Mesa

Mesa inneholder flere biblioteker og drivere for flere API-er som OpenGL og Vulkan.

[Viktig]

Viktig

Denne pakken kan installere sine egne kjerne OpenGL bibliotekene, men støttes ikke av denne bokens redigeringsredaktører på grunn av deres diverse problemer. Les Om OpenGL for mer informasjon. Hvis du ikke vil installere libglvnd-1.7.0 og ønsker å installere denne pakkens kjerne OpenGL bibliotekene, vil Parameterforklaringer instruere deg til å fjerne en gitt parameter for å gjøre det.

[Notat]

Notat

En internettforbindelse er nødvendig for å bygge Nouveau Vulkan driveren. Systemsertifikatlageret må kanskje konfigureres med make-ca-1.16.1 før du bygger denne pakken.

[Notat]

Notat

Dette kan ta litt tid å bygge. Gjør gjerne noe annet mens dette bygges.

Mesa Avhengigheter

Required
libdrm-2.4.125, libxcb-1.17.0, mako-1.3.10, PyYAML-6.0.2, og Xorg Biblioteker

Recommended

Optional
GBM (libgbm-1.0.1 eller Mesa-25.2.2), libgcrypt, libunwind-1.8.3, lm-sensors, Nettle-3.10.1, valgrind, Mesa-Demos (provides more than 300 demos to test Mesa), Bellagio OpenMAX Integration Layer (for mobile plattformer), og libtizonia

Installasjon av Mesa

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

mkdir build &&
cd    build &&

meson setup --prefix=/usr            \
            --buildtype=release      \
            -D glvnd=enabled         \
            -D platforms=x11,wayland \
            -D gallium-drivers=auto  \
            -D vulkan-drivers=auto   \
            -D gles1=disabled        \
            -D video-codecs=all      \
            -D valgrind=disabled     \
            -D libunwind=disabled    \
            .. &&

ninja

Nå, som root bruker:

ninja install

Hvis ønskelig, installer den valgfrie dokumentasjonen ved å kjøre følgende kommandoer som root bruker:

cp -rv ../docs -T /usr/share/doc/mesa-25.2.2

lib32 Installasjon av Mesa

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

rm -rf * &&
meson setup --cross-file=lib32       \
            --prefix=/usr            \
            --libdir=/usr/lib32      \
            --buildtype=release      \
            -D glvnd=enabled         \
            -D platforms=x11,wayland \
            -D gallium-drivers=auto  \
            -D vulkan-drivers=auto   \
            -D gles1=disabled        \
            -D video-codecs=all      \
            -D valgrind=disabled     \
            -D libunwind=disabled    \
            .. &&
sed -i 's/\/usr\/lib\//\/usr\/lib32\//g' ./build.ninja &&

BINDGEN_EXTRA_CLANG_ARGS="-m32" ninja

Nå, som root bruker:

DESTDIR=$PWD/DESTDIR ninja install                     &&
cp -vr DESTDIR/usr/lib32/* /usr/lib32                  &&
if [ -d DESTDIR/usr/share/vulkan ]; then
    cp -vR DESTDIR/usr/share/vulkan /usr/share
fi                                                     &&
rm -rf DESTDIR                                         &&
ldconfig

Parameterforklaringer

[Notat]

Notat

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

--buildtype=release: Denne bryteren sikrer en fullstendig optimalisert bygging, og deaktiverer feilsøkingspåstander som vil gjøre bibliotekene betydelig tregere i visse brukstilfeller. Uten denne bryteren kan byggestørrelser strekke seg inn i 2 GB området.

-D glvnd=enabled: Dette tvinger byggesystemet til å mislykkes med konfigurasjonstrinnet hvis libglvnd-1.7.0 ikke ble funnet. Hvis du vil akseptere risikoen ved å bruke OpenGL bibliotekene til denne pakken og ikke har installert libglvnd, fjern denne parameteren. Les Om OpenGL for mer informasjon. Bytting anbefales ikke.

-D platforms=...: Denne parameteren kontrollerer hvilke vindussystemer som støttes. Tilgjengelige Linux plattformer er x11 og Wayland.

-D gallium-drivers=auto: Denne parameteren kontrollerer hvilke Gallium3D drivere som skal bygges. Gallium drivere er i hovedsak OpenGL drivere. Hvis du ønsker å bygge spesifikke drivere, inkluderer gyldige alternativer:

  • auto velger alle tilgjengelige Gallium3D drivere for x86

  • r300 (for ATI Radeon 9000 eller Radeon X seriene)

  • r600 (for AMD/ATI Radeon HD 2000-6000 seriene)

  • radeonsi (for AMD Radeon HD 7000 eller nyere AMD GPU modeller)

  • nouveau (For støttede NVIDIA GPU-er, de er oppført alle som «3D funksjoner» enten «DONE» eller «N/A» i the Nouveau status page)

  • virgl (for QEMU virtuelle GPU med virglrender støtte)

  • svga (for VMWare virtuelle GPU)

  • softpipe (bruke CPU for 3D rasterisering)

  • llvmpipe (softpipe men bruker LLVM for å øke ytelsen)

  • zink (en driver som konverterer OpenGL kall til Vulkan; hvis Vulkan driveren er effektiv, kan denne driveren også være effektiv; kan brukes som en erstatning for Gallium3D drivere som nouveau som beskrevet i Hva nå?)

  • iris (for Intel GPUer levert med Broadwell eller nyere CPUer)

  • crocus (for Intel GMA 3000, X3000 serie, 4000 serie, eller X4000 serie GPUer levert med brikkesett, eller Intel HD GPUer levert med pre-Broadwell CPUer)

  • i915 (for Intel GMA 900, 950, 3100, eller 3150 GPUer levert med brikkesett eller Atom D/N 4xx/5xx CPUer)

Du kan erstatte auto med en kommaseparert liste for å bygge et delsett av disse driverne hvis du vet nøyaktig hvilke drivere du trenger, for eksempel: -D gallium-drivers=radeonsi,iris,swrast.

-D vulkan-drivers=auto: Denne bryteren aktiverer støtte for Vulkan grafikk API. Den bygger automatisk alle grafikkdrivere som er tilgjengelige for Vulkan. Hvis du ønsker å bygge spesifikke drivere, inkluderer gyldige alternativer:

  • amd (for AMD Radeon HD 7730 eller nyere AMD GPUer)

  • intel (for Intel GPUer levert med Skylake eller nyere CPUer, eller som et dedikert PCIe kort)

  • intel_hasvk (for Intel GPUer levert med Ivy Bridge, Haswell, eller Broadwell CPUer)

  • nouveau (for GTX 16XX, RTX 20XX, eller nyere NVIDIA GPUer; denne driveren utvikles og er allerede ganske effektiv, men mindre enn NVIDIA driver; det er imidlertid en god erstatning, spesielt når den brukes med zink)

  • swrast (bruker CPU for 3D-rasterisering. Merk at det er mye tregere enn å bruke et moderne 3D kompatibelt GPU)

Du kan erstatte auto med en kommaseparert liste for å bygge et delsett av disse driverne hvis du vet nøyaktig hvilke drivere du trenger, for eksempel: -D vulkan-drivers=amd,nouveau,swrast.

-D video-codecs=all: Denne parameteren aktiverer bygging av alle videokodeker, siden de er deaktivert som standard for å unngå juridiske problemer. Det ville være klokt å ikke distribuere byggingen din hvis du angir dette alternativet. Saken er imidlertid fortsatt uklar. Se dette. Debian bug report for mer informasjon.

-D valgrind=disabled: Denne parameteren deaktiverer bruken av Valgrind under byggeprosessen. Fjern denne parameteren hvis du har Valgrind installert og ønsker å sjekke for minnelekkasjer.

-D libunwind=disabled: Denne parameteren deaktiverer bruken av libunwind.

-D egl-native-platform="...": Denne parameteren styrer hvilken støtte for innebygde grafikkbiblioteker som skal bygges. Tilgjengelige Linux alternativer er auto (standard), x11, wayland, surfaceless og drm.

-D gles1=disabled: Dette flagget deaktiverer bygging av en utdatert spesifikasjon av OpenGL ES hvis -D glvnd=enabled ikke ble sendt.

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

-D libgbm-external=true: Dette lenker mot systeminstallerte libgbm og deaktiverer bygging av GBM hvis den er installert. Når du oppdaterer denne pakken, anbefales det å også oppdatere GBM slik at dette alternativet ikke brukes.

BINDGEN_EXTRA_CLANG_ARGS="-m32": Denne variabelen sikrer at rust-bindgen-0.72.1 genererer bindinger som ikke går utenfor grensene ved kompilering av lib32 Nouveau Vulkan.

sed -i 's/\/usr\/lib\//\/usr\/lib32\//g' ./build.ninja: Denne pakken kan være sta og liker å lenke mot LLVM biblioteker i /lib, selv på en multilib installasjon, så denne kommandoen forteller denne pakken at den skal lenke mot biblioteker i riktig mappe.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libEGL_mesa, libGLX_mesa, libgallium-25.2.2, og libgbm
Installerte DRI Driver Stubber: libdril_dri og symbolske lenker til den: crocus_dri, i915_dri, iris_dri, kms_swrast_dri, nouveau_dri, r300_dri, r600_dri, radeonsi_dri, swrast_dri, virtio_gpu_dri, vmwgfx_dri, og zink_dri
Installerte VA-API Drivere: nouveau_drv_video, r600_drv_video, radeonsi_drv_video, og virtio_gpu_drv_video
Installerte GBM Drivere: dri_gbm
Installerte VDPAU Drivere: libvdpau_nouveau, libvdpau_r300, libvdpau_r600, libvdpau_radeonsi, og libvdpau_virtio_gpu (mange av disse driverne er hardt koblet)
Installerte Vulkan Drivere: libvulkan_intel_hasvk, libvulkan_intel, libvulkan_lvp, libvulkan_nouveau, og libvulkan_radeon
Installerte Mapper: /usr/include/{EGL,GLES2,GLES3,KHR}, /usr/lib/{dri,gbm,vdpau}, /usr/share/drirc.d (inneholder løsninger for diverse applikasjoner, spesielt nettlesere og spill), /usr/share/vulkan, and /usr/share/doc/mesa-25.2.2

Korte Beskrivelser

libEGL_mesa

gir all EGL funksjonaliteten som kreves for at Mesas EGL drivere skal fungere

libGLX_mesa

gir all GLX funksjonaliteten som kreves for at Mesa sine GLX drivere skal fungere

dri_gbm

er Mesa's GBM driver

libdril_dri

er en stubb som tillater Xorg serveren å samarbeide med Gallium3D drivere

libgallium-25.2.2

inneholder alle Gallium3D driverne

libgbm

er Mesa Graphics Buffer Manager bibliotek