Introduction à Mesa
Mesa est une bibliothèque
graphique 3D compatible avec OpenGL.
Note
Mesa est mis à jour
régulièrement. Vous pourriez vouloir utiliser la dernière version
20.3.x disponible.
This package is known to build and work properly using an LFS-10.1
platform.
Informations sur le paquet
Téléchargements supplémentaires
Dépendances de Mesa
Requises
Bibliothèques Xorg, libdrm-2.4.104 et
Mako-1.1.4
Recommandées
libva-2.10.0 (pour construire les pilotes VA-API
pour certains pilotes gallium, remarquez qu'il y a une dépendance
circulaire. Vous devez construire libva d'abord sans la prise en charge d'EGL et
GLX, installer ce paquet puis reconstruire libva), libvdpau-1.4
(pour construire les pilotes VDPAU), LLVM-11.1.0 (requis
pour les pilotes Gallium3D, nouveau, r300 et radeonsi et pour
swrast, le rasteriseur logiciel souvent appelé llvmpipe. Voir
https://docs.mesa3d.org/systems.html
pour plus d'information) et wayland-protocols-1.20 (requis pour
Plasma-5.21.1, GNOME et recommandé
pour GTK+-3.24.25)
Facultatives
libgcrypt-1.9.2, lm-sensors-3-6-0, Nettle-3.7.1,
Valgrind-3.16.1, mesa-demos (fournit
plus de 300 démos supplémentaires pour tester Mesa ; ceci inclut les même programmes
que ceux ajoutés par le correctif ci-dessus), Bellagio OpenMAX Integration
Layer (pour les plateformes mobiles), libunwind et
libtizonia
Note
Les instructions considèrent que LLVM avec les moteurs hôte et r600/amdgpu et
les informations de type à l'exécution (RTTI, requis pour
nouveau) sont installés. Vous devrez modifier les instructions si
vous choisissez de ne pas tous les installer. Pour une
explication de Gallium3D lisez https://en.wikipedia.org/wiki/Gallium3D.
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/mesa
Installation de Mesa
Si vous avez téléchargé le correctif xdemos (nécessaire pour tester
l'installation de Xorg par les instructions de BLFS), appliquez-le
en lançant la commande suivante :
patch -Np1 -i ../mesa-20.3.4-add_xdemos-1.patch
Ajustez un fichier de script dans la suite de tests pour utiliser
Python 3, au lieu de Python 2 qui est obsolète :
sed '1s/python/&3/' -i bin/symbols-check.py
Note
Les mesures ci-dessus, et le contenu plus bas sont pour la
construction complète. En général, les gens n'ont pas envie
d'installer les pilotes qu'ils n'utilisent pas, donc les
paragraphes suivants expliquent comment limiter les pilotes et
donnent un exemple qui peut être réduit ou modifié si nécessaire.
Maintenant, sélectionnez les pilotes que vous souhaitez installer.
Pour l'architecture X86, les pilotes gallium disponibles sont auto,
ou un seul au choix parmi
i915, nouveau, r300, r600, radeonsi, svga, swrast et virgl. Ce
dernier est recommandé si vous voulez lancer le système sous
qemu-5.2.0. Si vous souhaitez construire tous les
pilotes gallium utilisez « auto ».
Les pilotes (non-gallium) DRI disponibles sous X86 sont auto,
ou un seul au choix parmi
i915, i965, nouveau, r100, r200 et swrast. Utilisez
« auto » pour construire tous les pilotes DRI ou utilisez
une chaîne vide (DRI_DRIVERS="") si vous voulez seulement
construire des pilotes gallium.
Les plateformes (« systèmes de fenêtrages ») disponibles
pour linux sous X86 sont x11, wayland et surfaceless. En ne
spécifiant rien, le système de construction meson construira pour
toutes ces plateformes si vous avez les dépendances, comme si vous
aviez spécifié « -Dplatforms=auto ».
Modifiez les commandes ci-dessous pour indiquer les pilotes que
vous souhaitez. Les pilotes listés ci-dessous couvriront les cartes
vidéos les plus modernes et les machines virtuelles. Pour trouver
de l'aide à la sélection des pilotes lisez https://docs.mesa3d.org/systems.html.
Note
Bien que les pilotes nouveau puissent être construits pour
gallium et dri, le pilote i915 ne peut être construit que pour
l'un des deux.
GALLIUM_DRV="i915,iris,nouveau,r600,radeonsi,svga,swrast,virgl"
DRI_DRIVERS="i965,nouveau"
Installez Mesa en lançant les
commandes suivantes :
mkdir build &&
cd build &&
meson --prefix=$XORG_PREFIX \
-Dbuildtype=release \
-Ddri-drivers=$DRI_DRIVERS \
-Dgallium-drivers=$GALLIUM_DRV \
-Dgallium-nine=false \
-Dglx=dri \
-Dosmesa=gallium \
-Dvalgrind=disabled \
-Dlibunwind=disabled \
.. &&
unset GALLIUM_DRV DRI_DRIVERS &&
ninja
Si vous construisez les tests (voir l'« Explication des
commandes »), pour les lancer exécutez : ninja test. Deux tests dans la
suite llvmpipe sont connus pour échouer.
Maintenant, en tant qu'utilisateur root
:
ninja install
Si vous le désirez, installez la documentation facultative en
lançant les commandes suivantes en tant qu'utilisateur root
:
install -v -dm755 /usr/share/doc/mesa-20.3.4 &&
cp -rfv ../docs/* /usr/share/doc/mesa-20.3.4
Explication des commandes
-Dbuildtype=release
:
ce paramètre s'assure que la construction est complètement
optimisée et désactive les assertions de débogage qui ralentiraient
sévèrement les bibliothèques pour certains usages. Sans ce
paramètre, la taille de la construction peut prendre jusqu'à 2 GB.
-Ddir-drivers="..."
:
Ce paramètre contrôle quels pilotes dri (non-gallium) doivent être
construits.
-Dgallium-drivers="..."
: Ce
paramètre contrôle quels pilotes Gallium3D doivent être construits.
-Dgallium-nine=false
:
évite de construire la prise en charge des jeux (Windows) conçus
pour DX9. Indiquez true si vous voulez cette prise en charge.
-Dosmesa=gallium
: ce
paramètre active la construction de la bibliothèque libOSMesa
et fournit la prise en charge
Gallium3D. Il a besoin du pilote gallium swrast.
-Dvalgrind=disabled
:
Ce paramètre désactive l'utilisation de Valgrind pendant le
processus de construction. Supprimez ce paramètre si vous avez
installé Valgrind et souhaitez vérifier les fuites mémoire.
-Dlibunwind=disabled
:
ce paramètre désactive l'utilisation de libunwind.
-Dbuild-tests=true
: Cette option
activera le code de test.