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