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
19.3.x disponible.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-9.1.
Informations sur le paquet
Téléchargements supplémentaires
Dépendances de Mesa
Requises
Bibliothèques Xorg, libdrm-2.4.100 et
Mako-1.1.1
Recommandées
libva-2.6.1 (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 le support EGL et GLX,
installer ce paquet puis reconstruire libva), libvdpau-1.3
(pour construire les pilotes VDPAU), LLVM-9.0.1 (requis
pour les pilotes Gallium3D, r300 et radeonsi et pour swrast, le
rasteriseur logiciel souvent appelé llvmpipe. Voir http://www.mesa3d.org/systems.html
pour plus d'information) et wayland-protocols-1.18 (requis pour
Plasma-5.18.1, GNOME et recommandé
pour GTK+-3.24.13)
Facultatives
libgcrypt-1.8.5, lm-sensors-3-6-0, Nettle-3.5.1,
Valgrind-3.15.0, 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
Tout d'abord, corrigez un problème avec l'utilisation de Xorg pour
les appareils qui utilisent le pilote SVGA :
patch -Np1 -i ../mesa-19.3.4-fix_svga_vmwgfx_segfaults-1.patch
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-19.3.4-add_xdemos-1.patch
Si Python-2.7.17 n'est pas installé, ajustez un
script dans la suite de test pour qu'il utilise Python 3 :
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-4.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 plateforme (« systèmes de fenêtrages ») disponibles
pour linux sous X86 sont x11, wayland, drm 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 http://www.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,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=false \
.. &&
unset GALLIUM_DRV DRI_DRIVERS &&
ninja
Si vous construisez les tests (voir l'« Explication des
commandes »), pour les lancez exécutez : ninja test.
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-19.3.4 &&
cp -rfv ../docs/* /usr/share/doc/mesa-19.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=true
: activer ce
paramètre fournit la prise en charge des jeux (Windows) conçus pour
DX9.
-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=false
: 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.
-Dbuild-tests=true
: Cette option
activera le code de test.