Mesa-23.1.6
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
23.1.x disponible.
This package is known to build and work properly using an LFS 12.0
platform.
Informations sur le paquet
Téléchargements supplémentaires
Dépendances de Mesa
Requises
Bibliothèques Xorg, libdrm-2.4.115 et
Mako-1.2.4
Recommandées
libva-2.19.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,5
(pour construire les pilotes VDPAU), LLVM-16.0.5 (requis
pour les pilotes Gallium3D, nouveau 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.32 (requis pour
Plasma-5.27.7, GNOME et recommandé
pour GTK+-3.24.38)
Facultatives
libgcrypt-1.10.2, libunwind-1.6.2, lm-sensors-3-6-0, Nettle-3.9.1,
Valgrind-3.21.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), glslang (pour les
pilotes vulkan),
libtizonia et Vulkan-Loader
Configuration du noyau
Activez les options suivantes dans la configuration du noyau et
recompilez le noyau si nécessaire :
Device Drivers --->
Graphics support --->
<*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
... [DRM]
# For r300 or r600:
< /*/M> ATI Radeon [DRM_RADEON]
# For radeonsi:
< /*/M> AMD GPU [DRM_AMDGPU]
[*] Enable amdgpu support for SI parts [DRM_AMDGPU_SI]
[*] Enable amdgpu support for CIK parts [DRM_AMDGPU_CIK]
Display Engine Configuration --->
[*] AMD DC - Enable new display engine [DRM_AMD_DC]
# For nouveau:
< /*/M> Nouveau (NVIDIA) cards [DRM_NOUVEAU]
# For i915, crocus, or iris:
< /*/M> Intel 8xx/9xx/G3x/G4x/HD Graphics [DRM_I915]
# For swrast:
< /*/M> Virtual GEM provider [DRM_VGEM]
# For svga:
< /*/M> DRM driver for VMware Virtual GPU [DRM_VMWGFX]
Note
Le nom du pilote Mesa Gallium3D correspondant est fournit en
commentaire dans les entrées de configuration. Si vous ne
connaissez pas le nom du pilote Mesa Gallium3D pour votre GPU,
consultez Mesa Gallium3D Drivers plus
bas.
CONFIG_DRM_RADEON
, CONFIG_DRM_AMDGPU
, CONFIG_DRM_NOUVEAU
et CONFIG_DRM_I915
peuvent nécessiter un
micrologiciel. Consultez À
propos des Firmwares pour plus de détails.
Il n'est pas recommandé de choisir CONFIG_DRM_RADEON
ou CONFIG_DRM_AMDGPU
avec « y
». Si c'est le cas, les
micrologiciels requis doivent être intégrés à l'image du noyau ou
à l'initramfs pour que le pilote fonctionne correctement.
Les sous-entrées dans CONFIG_DRM_AMDGPU
sont utilisées pour s'assurer
que le pilote noyau AMDGPU prenne en charge tous les GPU qui
utilisent le pilote radeonsi
. Elles
ne sont pas requises si vous n'avez pas besoin de CONFIG_DRM_AMDGPU
. Elles peuvent ne pas être
requises pour certains modèles de GPU.
Pour swrast
, CONFIG_DRM_VGEM
n'est pas strictement nécessaire
mais recommandé comme optimisation.
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 exécutant la commande suivante :
patch -Np1 -i ../mesa-add_xdemos-2.patch
Installez Mesa en exécutant les
commandes suivantes :
mkdir build &&
cd build &&
meson setup \
--prefix=$XORG_PREFIX \
--buildtype=release \
-Dplatforms=x11,wayland \
-Dgallium-drivers=auto \
-Dvulkan-drivers="" \
-Dvalgrind=disabled \
-Dlibunwind=disabled \
.. &&
ninja
Pour tester les résultats lancez : meson configure -Dbuild-tests=true &&
ninja test. Trois tests liés à mesa:intel sont
connus pour échouer.
Maintenant, en tant qu'utilisateur root
:
ninja install
Si vous le désirez, installez la documentation facultative en
exécutant les commandes suivantes en tant qu'utilisateur
root
:
install -v -dm755 /usr/share/doc/mesa-23.1.6 &&
cp -rfv ../docs/* /usr/share/doc/mesa-23.1.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.
-Dgallium-drivers=auto
: ce
paramètre contrôle les pilotes Gallium3D à construire. auto
choisit tous les pilotes Gallium3D
disponibles pour x86 : r300
(pour
les séries ATI Radeon 9000 ou Radeon X), r600
(pour les séries AMD/ATI Radeon HD
2000-6000), radeonsi
(pour les modèles
de GPU AMD Radeon HD 7000 et plus récents), nouveau
(pour les GPU NVIDIA pris en charge, ils
sont listés avec toutes les « fonctionnalités 3D » en « DONE » ou
« N/A » sur la page de
statut de Nouveau), virgl
(pour le
GPU virtuel de QEMU avec la prise en charge de virglrender ; remarquez que le qemu-8.1.0 de BLFS n'est pas construit avec
virglrender), svga
(pour le GPU virtuel de VMWare), swrast
(pour utiliser le CPU pour la rastérisation
3D ; remarquez que c'est bien plus lent que les GPU 3D
modernes, donc cette option ne devrait être utilisée que si le GPU
n'est pas pris en charge par un autre pilote), iris
(pour les GPU Intel intégrés à Broadwell et
aux CPU plus récents), crocus
(pour
les séries Intel GMA 3000, X3000, 4000 ou X4000 des GPU intégrés
avec un chipset, ou les GPU Intel HD fournis avec les CPU avant
Broadwell), i915
(pour les GPU Intel
GMA 900, 950, 3100 ou 3150 fournis avec les chipsets ou les CPU
Atom D/N 4xx/5xx). Vous pouvez remplacer auto
par une liste d'éléments séparés par des
virgules pour ne construire qu'un sous-ensemble de ces pilotes si
vous savez précisément de quelles pilotes vous aurez besoin, par
exemple -Dgallium-drivers=radeonsi,iris,swrast
.
-Dplatforms="..."
: ce
paramètre contrôle les systèmes de fenêtrage pris en charge. Les
plate-formes linux disponibles sont x11 et wayland.
-Dvulkan-drivers=""
:
ce paramètre vous permet de choisir les pilotes Vulkan à
construire. La valeur par défaut est auto, mais cela nécessite les
dépendances facultatives glslang
et
Vulkan-Loader. Vulkan est la
nouvelle API conçue pour utiliser les GPU avec une meilleure
performance qu'OpenGL, mais rien dans BLFS n'en bénéficie
actuellement. Nous passons donc une liste vide pour supprimer ces
dépendances.
-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.
meson configure
-Dbuild-tests=true : cette commande
reconfigurera la construction pour utiliser -Dbuild-tests=true
, sans changer les autres options
spécifiées dans la commande meson
setup. Cela permet à ninja test de construire et
lancer les tests unitaires.
-Degl-native-platform="..."
: ce
paramètre contrôle la prise en charge Embedded Graphics
Library qui sera construite. Les options disponibles
pour linux sont auto (par défaut), x11, wayland, surfaceless et
drm.
Contenu
Programmes installés:
glxgears et glxinfo
Bibliothèques installées:
libEGL.so, libGL.so, libGLESv1_CM.so,
libGLESv2.so, libgbm.so, libglapi.so et libxatracker.so
Pilotes installés:
crocus_dri.so, i915_dri.so, iris_dri.so,
kms_swrast_dri.so, nouveau_dri.so, nouveau_drv_video.so,
r300_dri.so, r600_dri.so, r600_drv_video.so, radeonsi_dri.so,
radeonsi_drv_video.so, swrast_dri.so, virtio_gpu_dri.so,
virtio_gpu_drv_video.so, vmwgfx_dri.so, libvdpau_nouveau.so,
libvdpau_r300.so libvdpau_r600.so et libvdpau_radeonsi.so
libvdpau_virtio_gpu.so (nombre de ces pilotes sont liés en
dur).
Répertoires installés:
$XORG_PREFIX/{include/{EGL,GLES,GLES2,GLES3,KHR},
$XORG_PREFIX/lib/{dri,vdpau}}, $XORG_PREFIX/share/drirc.d
(contient des contournements pour diverses applications, en
particulier les navigateurs et les jeux) et
/usr/share/doc/mesa-23.1.6
Descriptions courtes
glxgears
|
est une démo GL utile pour dépanner des problèmes
graphiques
|
glxinfo
|
est un programme de diagnostic affichant des informations
sur le matériel graphique et les bibliothèques GL
installées
|
libEGL.so
|
fournit nativement une interface de plate-forme graphique
qui est définie avec les spécifications EGL-1.4
|
libgbm.so
|
est la bibliothèque de gestion du tampon graphique de
Mesa
|
libGLESv1_CM.so
|
est la bibliothèque OpenGL ES 1.1 de Mesa
|
libGLES2.so
|
est la bibliothèque OpenGL ES 2.0 de Mesa
|
libGL.so
|
est la bibliothèque OpenGL principale de Mesa
|