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
21.3.x disponible.
This package is known to build and work properly using an LFS-11.1
platform.
Informations sur le paquet
Téléchargements supplémentaires
Dépendances de Mesa
Requises
Bibliothèques Xorg, libdrm-2.4.110 et
Mako-1.1.6
Recommandées
libva-2.13.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-13.0.1 (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.25 (requis pour
Plasma-5.24.0, GNOME et recommandé
pour GTK+-3.24.31)
Facultatives
libgcrypt-1.10.0, lm-sensors-3-6-0, Nettle-3.7.3,
Valgrind-3.18.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,
libtizonia et libvulkan (pour le pilote zink)
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 : https://wiki.linuxfromscratch.org/blfs/wiki/mesalib
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-21.3.6-add_xdemos-1.patch
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, choisissez les pilotes que vous souhaitez installer.
Pour l'architecture X86, les pilotes gallium disponibles sont auto
(à partir de 21.2.1 cela ne sélectionne
pas crocus), ou un seul au
choix parmi crocus, i915, iris, nouveau, r300, r600,
radeonsi, svga, swrast et virgl. Ce dernier peut fournir
l'accélération dans qemu-6.2.0 s'il a été construit avec
virglrenderer
(vous aurez besoin d'un compte freedesktop.org pour obtenir cette
page, vous pouvez télécharger la version 0.9.1 sans compte à partir
de
virglrenderer-0.9.1).
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.
Pour les pilotes intel, spécifiez crocus pour i965 gen 4 jusqu'à
haswell, iris pour broadwell et supérieur.
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="crocus,i915,iris,nouveau,r600,radeonsi,svga,swrast,virgl"
DRI_DRIVERS="i965,nouveau"
Note
Si vous utilisez un GPU NVIDIA sur votre système, un correctif
spécifique a été créé pour permettre l'utilisation correcte du
multi-tâche dans le pilote Mesa. Cela corrige des problèmes avec
les application Qt parallèles ainsi qu'avec le démarrage de
certaines applications GNOME. Ce correctif est aussi
indispensable si vous voulez utiliser KDE Plasma. Appliquez le
correctif avec la commande suivante :
patch -Np1 -i ../mesa-21.3.6-nouveau_fixes-1.patch
Installez Mesa en exécutant les
commandes suivantes :
mkdir build &&
cd build &&
meson --prefix=$XORG_PREFIX \
--buildtype=release \
-Ddri-drivers=$DRI_DRIVERS \
-Dgallium-drivers=$GALLIUM_DRV \
-Dgallium-nine=false \
-Dglx=dri \
-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. Un test, mesa: intel/anv_state_pool, est connu 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-21.3.6 &&
cp -rfv ../docs/* /usr/share/doc/mesa-21.3.6
Explication des commandes
--buildtype=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 construction peut prendre dans les 2 Go.
-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.
-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. Pour lancer les tests, lancez :
ninja test.
-Dvulkan-drivers=...
: cette
option vous permet de choisir les pilote Vulkan à construire. Comme
ces pilotes dépendent des pilotes Gallium3D correspondants,
n'activez pas de pilotes qui ne sont pas activés dans les pilotes
Gallium3D. En plus, comme BLFS n'utilise pas Vulkan, vous pouvez
laisser la liste des pilotes Vulkan vide.