Introduction à Mesa
Mesa est une bibliothèque
graphique 3D compatible avec OpenGL.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-8.1.
Informations sur le paquet
Téléchargements supplémentaires
Dépendances de Mesa
Requises
Bibliothèques Xorg, libdrm-2.4.82, Mako-1.0.4 et Python-2.7.13
Recommandées
elfutils-0.170 (requis pour le pilote
radeonsi), libva-1.8.2 (pour construire les pilotes pour les
matériels supportés, 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.1.1 (pour construire les pilotes
VDPAU), LLVM-4.0.1 (requis pour les pilotes Gallium3D r300
et radeonsi et pour le rasteriseur logiciel llvmpipe, voir
http://www.mesa3d.org/systems.html
pour plus d'information), et Wayland-1.14.0
(requis pour Plasma-5.10.0, LXQt, et
GNOME)
Facultatives
libgcrypt-1.8.0, Nettle-3.3,
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), et Bellagio OpenMAX Integration
Layer (pour les plateformes mobiles)
Note
Les instructions considèrent que elfutils et LLVM avec le moteur r600/amdgpu sont
installés. Vous devrez modifier les instructions si vous
choisissez de ne pas les installer. Pour une explication de
Gallium3D merci de regarder https://fr.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-17.1.6-add_xdemos-1.patch
Maintenant sélectionnez les pilotes que vous souhaitez installer.
Les pilotes disponibles sont i915, nouveau, r300, r600, radeonsi,
freedreno, svga, swrast, vc4 et virgl. Si les pilotes Gallium ne
sont pas spécifiés, la valeur par défaut est 'r300,r600,
svga,swrast'. Modifiez la commande ci-dessous pour indiquer les
pilotes désirés. Les pilotes listés ci-dessous prendront en charge
la plupart des cartes graphiques modernes. Pour de l'aide à la
sélection des pilotes, voir http://www.mesa3d.org/systems.html.
GLL_DRV="i915,r600,nouveau,radeonsi,svga,swrast"
Installez Mesa en lançant les
commandes suivantes :
sed -i "/pthread_stubs_possible=/s/yes/no/" configure.ac &&
./autogen.sh CFLAGS='-O2' CXXFLAGS='-O2' \
--prefix=$XORG_PREFIX \
--sysconfdir=/etc \
--enable-texture-float \
--enable-osmesa \
--enable-xa \
--enable-glx-tls \
--with-platforms="drm,x11,wayland" \
--with-gallium-drivers=$GLL_DRV &&
unset GLL_DRV &&
make
Si vous avez appliqué le correctif Xdemos, construisez les
programmes de démo en lançant la commande suivante :
make -C xdemos DEMOS_PREFIX=$XORG_PREFIX
Pour tester les résultats lancez : make check.
Maintenant, en tant qu'utilisateur root
:
make install
Si vous avez construit les programmes de démo, installez les en
lançant la commande suivante en tant qu'utilisateur root
:
make -C xdemos DEMOS_PREFIX=$XORG_PREFIX 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-17.1.6 &&
cp -rfv docs/* /usr/share/doc/mesa-17.1.6
Explication des commandes
sed -i ...
configure.ac : Ce sed supprime une dépendance
au paquet libpthread-stubs qui est
inutile sur Linux.
CFLAGS="-O2"
CXXFLAGS="-O2"
: Par défaut, Autoconf initialise CFLAGS et CXXFLAGS à "-g
-O2". Ce qui fait que les binaires et les bibliothèques sont
construits avec les symboles de débogage, ce qui les rend plus
gros. Écrasez les valeurs par défaut pour ne pas utiliser le
drapeau -g du compilateur et que les bibliothèques soient plus
légères.
--enable-texture-float
: Ce
paramètre active les tampons de rendus et les textures à points
flottant. Merci de consulter docs/patents.txt
pour voir s'il n'y a pas de
problèmes légaux si vous utilisez cette possibilité.
--enable-osmesa
: Ce
paramètre active la construction de la bibliothèque libOSMesa
.
--enable-xa
: Ce
paramètre active la construction de l'API XA X Acceleration (Requis
pour le pilote VMware 3D).
--enable-gbm
: Ce
paramètre active la construction de la bibliothèque de gestion des
tampons graphiques de Mesa.
--enable-glx-tls
: Ce
paramètre active le support TLS (Thread Local Storage) dans GLX.
--with-platforms="..."
: Ce
paramètre contrôle pour quelle plate-forme EGL devra être
construit. Les plate-formes disponibles sont drm, x11 et wayland.
--with-gallium-drivers="..."
:
Ce paramètre contrôle quels pilotes Gallium3D doivent être
construits.