Mesa-24.2.3

Introduksjon til Mesa

Mesa er en OpenGL kompatibel 3D grafikk bibliotek.

[Notat]

Notat

Mesa oppdateres relativt ofte. Du kanskje ønsker å bruke den siste tilgjengelige 24.2.x mesa versjonen.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://mesa.freedesktop.org/archive/mesa-24.2.3.tar.xz

  • Nedlasting MD5 sum: e3a195842c5cfbfb7234ed45f70af787

  • Nedlastingsstørrelse: 28 MB

  • Estimert diskplass som kreves: 959 MB (med dokumenter, legg til 538 MB for tester)

  • Estimert byggetid: 3.0 SBU (med dokumenter; legg til 1.0 SBU for tester; begge med parallellitet=4)

Ytterligere Nedlastinger

Mesa Avhengigheter

Påkrevd

Xorg Biblioteker, libdrm-2.4.123, Mako-1.3.5, og PyYAML-6.0.2

Anbefalt

[Notat]

Notat

Velge Mesa drivere

I instruksjonene nedenfor er alle tilgjengelige drivere bygget. Det vil nesten alltid fungere. Det er imidlertid ikke effektivt. Avhengig av videomaskinvaren din, trenger du sannsynligvis bare spesifikke drivere.

Det første du trenger å vite er hvilken type videoenhet du har. I noen tilfeller er den innebygd i CPU. I andre er det et separat PCI kort. I begge tilfeller kan du fortelle hvilken videomaskinvare du har ha ved å installere pciutils-3.13.0 og kjøre:

lspci | grep VGA

Videoenheten er mest sannsynlig en av tre familier: AMD, Intel eller Nvidia. Se parameterforklaringene for -D gallium-drivers=auto nedenfor for å se hvilke alternativer som er tilgjengelige for din spesifikke videomaskinvare (eller emulert videomaskinvare). Du bør sannsynligvis legge til softpipe eller llvmpipe alternativet som en backup driver.

For 'platforms' kan du velge x11 og/eller wayland. Merk at i BLFS kan for øyeblikket bare Gnome og KDE bruke wayland. Hvis du ikke skal bruke et av de skrivebordsmiljøene vil du sannsynligvis bare ha x11.

For 'vulkan-drivers' kan det være lurt å begrense utvalget til ditt gjeldende maskinvare. Disse driverne brukes av enkelte applikasjoner. For eksempel vil ffmpeg (inkludert ffplay) bruke Vulkan i stedet for OpenGL for å gjengi video på GPU. Hvis du ikke ønsker å gjøre dette vil du kanskje ikke installere dem. Se parameterforklaringene for -D vulkan-drivers=auto nedenfor for å se hvilke alternativer som er tilgjengelige for din spesifikke videomaskinvare (eller emulert videomaskinvare). Du bør sannsynligvis legge til swrast alternativet som backupdriver med mindre du ikke trenger Vulkan i det hele tatt.

Valgfri

libgcrypt-1.11.0, libunwind-1.6.2, lm-sensors-3-6-0 , Nettle-3.10, Valgrind-3.23.0, mesa-demos (gir mer enn 300 ekstra demoer for å teste Mesa; dette inkluderer de samme programmene lagt til av oppdateringen ovenfor), Bellagio OpenMAX Integration Layer (for mobile platforms), og libtizonia,

[Notat]

Notat

En Internett-tilkobling er nødvendig for å bygge denne pakken.

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen på nytt om nødvendig:

Device Drivers --->
  Graphics support --->
    <*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
                                                                      ...  [DRM]
      # For r300 or r600:
      < /*/M> ATI Radeon                                            [DRM_RADEON]
      # For radeonsi:
      < /*/M> AMD GPU                                               [DRM_AMDGPU]
      [*]       Enable amdgpu support for SI parts               [DRM_AMDGPU_SI]
      [*]       Enable amdgpu support for CIK parts             [DRM_AMDGPU_CIK]
        Display Engine Configuration --->
        [*]   AMD DC - Enable new display engine                    [DRM_AMD_DC]
      # For nouveau:
      < /*/M> Nouveau (NVIDIA) cards                               [DRM_NOUVEAU]
      # For i915, crocus, or iris:
      < /*/M> Intel 8xx/9xx/G3x/G4x/HD Graphics                       [DRM_I915]
      # For llvmpipe or softpipe:
      < /*>   Virtual GEM provider     
      # For svga:
      < /*/M> DRM driver for VMware Virtual GPU                     [DRM_VMWGFX]
[Notat]

Notat

Det tilsvarende Mesa Gallium3D drivernavnet er gitt som kommentar for konfigurasjonsoppføringene. Hvis du ikke vet navnet på Mesa Gallium3D driveren for din GPU, se Mesa Gallium3D Drivers under.

CONFIG_DRM_RADEON, CONFIG_DRM_AMDGPU, CONFIG_DRM_NOUVEAU, og CONFIG_DRM_I915 kan kreve fastvare. Se Om Fastvare for detaljer.

Å velge CONFIG_DRM_RADEON eller CONFIG_DRM_AMDGPU som «y» anbefales ikke. Hvis det er, alle nødvendige fastvare må bygges som en del av kjernebildet eller initramfs for at driveren skal fungere riktig.

Underpostene under CONFIG_DRM_AMDGPU er brukt for å sikre at AMDGPU kjernedriveren støtter alle GPUer som bruker radeonsi driver. De er ikke nødvendig hvis du ikke trenger CONFIG_DRM_AMDGPU. De kan være unødvendig for noen GPU modeller.

For llvmpipe eller softpipe, CONFIG_DRM_VGEM er nødvendig, ellers kan X klienter mislykkes å starte med en kryptisk melding Error: couldn't get an RGB, Double-buffered visual. Strengt tatt, kan den kompileres som en modul. Men modulen vil ikke bli lastet automatisk, så det er mer praktisk å bygge den som en del av kjernebildet.

Installasjon av Mesa

Hvis du har lastet ned xdemos oppdateringen (nødvendig hvis du tester Xorg installasjon i henhold til BLFS instruksjoner), bruk den ved å kjøre følgende kommando:

patch -Np1 -i ../mesa-add_xdemos-3.patch

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

mkdir build &&
cd    build &&

meson setup ..                 \
      --prefix=$XORG_PREFIX    \
      --buildtype=release      \
      -D platforms=x11,wayland \
      -D gallium-drivers=auto  \
      -D vulkan-drivers=auto   \
      -D valgrind=disabled     \
      -D libunwind=disabled    &&

ninja

For å teste resultatene, utsted: meson configure -D build-tests=true && ninja test

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-24.2.3

Parameterforklaringer

--buildtype=release: Denne bryteren sikrer et fullt optimalisert bygg, og deaktiverer feilsøkingspåstander som vil kraftig bremse ned bibliotekene i visse brukstilfeller. Uten denne bryteren, kan byggestørrelsene spenne over 2 GB.

-D gallium-drivers=auto: Denne parameteren kontrollerer hvilke Gallium3D drivere som skal bygges:

  • auto velger alle tilgjengelige Gallium3D drivere for x86. Med en kommadelt liste, kun en delmengde av disse drivere vil bli bygget. Hvis du nøyaktig vet hvilke drivere du trenger, kan du velge dem eksplisitt. for eksempel, -D gallium-drivers=radeonsi,iris,llvmpipe.

  • 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 GPUer, de er listet alle som «3D features» enten «DONE» eller «N/A» i the Nouveau status page)

  • virgl (for en QEMU virtuell GPU med virglrender støtte; merk at BLFS qemu-9.1.0 ikke er bygget med virglrender)

  • svga (for en VMWare virtuell GPU)

  • llvmpipe (bruker CPU for 3D rasterisering. Merk at det er mye tregere enn å bruke en moderne 3D-kompatibel GPU, så den bør bare brukes hvis GPUen ikke støttes av andre drivere

  • softpipe (bruker også CPU for 3D rasterisering, men tregere enn llvmpipe. Det er ingen grunn til å bruke den med mindre LLVM ikke er tilgjengelig)

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

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

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

  • zink (å bruke Vulkan for å implementere OpenGL, er for tiden ikke veldig nyttig på x86, men det kan erstatte andre drivere for moderne GPU modeller i fremtiden)

-D vulkan-drivers=auto: Denne parameteren kontrollerer hvilke Vulkan drivere som skal bygges:

  • auto velger alle tilgjengelige Vulkan drivere for x86. Med en kommadelt liste, kun en delmengde av disse drivere vil bli bygget. Hvis du nøyaktig vet hvilke drivere du trenger, kan du velge dem eksplisitt. for eksempel, -D vulkan-drivers=amd,nouveau,swrast.

  • 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)

  • swrast (for bruk av CPU for 3D-rasterisering) Merk at det er mye tregere enn å bruke en moderne 3D-kompatibel GPU, så den bør bare brukes hvis GPUen ikke støttes av andre drivere.

  • "" (tom liste, bruk -D vulkan-drivers="" hvis du ikke har installert og du ikke planlegger å installere Vulkan-Loader-1.3.296)

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

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

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

meson configure -D build-tests=true: Denne kommandoen vil rekonfigurere byggingen for å sette -D build-tests=true, men behold de andre alternativene som er spesifisert i meson setup kommandoen uendret. Det tillater ninja test å bygge og kjøre enhetstester.

-D egl-native-platform="...": Denne parameteren kontrollerer hvilken støtte for Embedded Graphics Library som skal bygges. Tilgjengelig linux alternativer er auto (standard), x11, wayland, surfaceless og drm.

Innhold

Installerte Programmer: glxgears, glxinfo, mme_fermi_sim_hw_test, og mme_tu104_sim_hw_test
Installerte Biblioteker: libEGL.so, libGL.so, libGLESv1_CM.so, libGLESv2.so, libgbm.so, libglapi.so, libgallium-24.2.3.so, og libxatracker.so
Installerte DRI Driver Stubs: libdril_dri.so og symbolkoblinger til den: crocus_dri.so, i915_dri.so, iris_dri.so, kms_swrast_dri.so, nouveau_dri.so, r300_dri.so, r600_dri.so, r600_drv_video.so, radeonsi_dri.so, swrast_dri.so, virtio_gpu_dri.so, vmwgfx_dri.so, og zink_dri.so
Installerte VA-API Drivers: nouveau_drv_video.so, radeonsi_drv_video.so, og virtio_gpu_drv_video.so,
Installerte VDPAU Drivere: libvdpau_nouveau.so, libvdpau_r600.so, libvdpau_radeonsi.so, og libvdpau_virtio_gpu.so (Mange av disse driverne er hardt koblet).
Installerte Vulkan Drivere: libvulkan_intel_hasvk.so, libvulkan_intel.so, libvulkan_lvp.so, libvulkan_nouveau.so, og libvulkan_radeon.so
Installerte Mapper: $XORG_PREFIX/{include/{EGL,GLES,GLES2,GLES3,KHR}, $XORG_PREFIX/lib/{dri,vdpau}}, $XORG_PREFIX/share/drirc.d (inneholder løsninger for ulike applikasjoner, spesielt nettlesere og spill), $XORG_PREFIX/share/vulkan, and /usr/share/doc/mesa-24.2.3

Korte Beskrivelser

glxgears

er en GL demo som er nyttig for feilsøking av grafikk problemer

glxinfo

er et diagnoseprogram som viser informasjon om grafikkmaskinvare og installerte GL biblioteker

libdril_dri.so

er en stub som lar Xorg serveren samarbeide med Gallium3D drivere

libEGL.so

gir et grunnleggende plattformgrafikkgrensesnitt som definert av EGL-1.4 spesifikasjonen

libgbm.so

er Mesa Grafikkbuffer behandlingsbiblioteket

libGLESv1_CM.so

er Mesa OpenGL ES 1.1 biblioteket

libGLES2.so

er Mesa OpenGL ES 2.0 biblioteket

libGL.so

er Mesa OpenGL hovedbiblioteket

libgallium-24.2.3.so

inneholder alle Gallium3D driverne