Mesa-25.3.1
Introduction à Mesa
Mesa contient plusieurs
bibliothèques et pilotes pour plusieurs API comme OpenGL et Vulkan.
Note
Ce paquet fournit des bibliothèques OpenGL comme libGL.so. Les paquets et les binaires en dehors
de BLFS, comme AppImages, peuvent avoir du mal à se compiler et à
s'exécuter sur des systèmes qui utilisent des bibliothèques
OpenGL construites à partir de ce paquet. Si vous n'arrivez pas à
construire ou exécuter un paquet ou un binaire donné, installez
le paquet GLFS libglvnd.
Il fournit ses propres bibliothèques OpenGL et permet d'utiliser
des pilotes en dehors de BLFS. Vous devrez reconstruire plusieurs
paquets qui utilisent OpenGL pour que les paquets puissent
utiliser libglvnd. Cela n'est
pas pris en charge par les rédacteurs de BLFS.
Note
Mesa is updated relatively
often. You may want to use the latest available version.
Note
Les versions de développement de BLFS peuvent ne pas arriver à
contruire ou à exécuter certains paquets correctement si LFS ou
des dépendances ont été mises à jour depuis la dernière version
stable des livres.
Informations sur le paquet
-
Téléchargement (HTTP) : https://mesa.freedesktop.org/archive/mesa-25.3.1.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
80c20978752fc15a792c41d482b04196
-
Taille du téléchargement : 42 Mo
-
Estimation de l'espace disque requis : 1,1 Go (avec
la doc, plus 457 Mo pour les tests)
-
Estimation du temps de construction : 3 SBU (avec
la doc, plus 1,4 SBU pour les tests, tous deux avec
parallélisme = 4)
Téléchargements supplémentaires
Dépendances de Mesa
Requises
Bibliothèques Xorg, libdrm-2.4.130, Mako-1.3.10 et PyYAML-6.0.3
Recommandées
Note
Une connexion internet est requise pour construire le pilote
Nouveau Vulkan. Vous devrez peut-être initialiser le magasin de
certificats systèmes avec make-ca-1.16.1 avant de construire ce
paquet.
Note
Choisir ses pilotes
Mesa
Dans les instructions ci-dessous, tous les pilotes disponibles
sont construits. Cela fonctionnera presque toujours. Cependant,
ce n'est pas efficace. En fonction de votre matériel vidéo, vous
n'aurez probablement besoin que d'un seul pilote spécifique.
La première chose que vous devez savoir est le type de matériel
vidéo que vous avez. Dans certains cas il est intégré au CPU.
Dans d'autre, il s'agit d'une carte PCI distincte. Dans les deux
cas vous pouvez savoir quel matériel vidéo est installé si vous
avez installé pciutils-3.14.0 et lancez :
lspci | grep VGA
Le matériel vidéo fait très probablement partie d'une de ces
trois familles : AMD, Intel ou NVIDIA. Voir les explications
des commandes pour -D
gallium-drivers=auto ci-dessous pour voir les options
disponibles pour votre matériel vidéo spécifique (ou matériel
vidéo émulé). Vous devrez probablement ajouter les options
softpipe ou llvmpipe comme pilote de secours.
Pour l'option « platforms », vous pouvez choisir x11
et/ou wayland. Remarquez que dans BLFS seul Gnome et KDE peuvent
utiliser wayland pour le moment. Si vous n'allez pas utiliser ces
environnements de bureau, vous n'aurez besoin que de x11.
Pour l'option « vulkan-drivers » vous voudrez peut-être
limiter la liste à votre matériel actuel. Ces pilotes sont
utilisés par certaines applications spécifiques. Par exemple,
ffmpeg (y compris ffplay) utilisera Vulkan au lieu d'OpenGL pour
le rendu vidéo sur le GPU. Si vous ne voulez pas de cela vous
pouvez ne pas les installer. Voir les explications de commande
pour -D
vulkan-drivers=auto plus bas pour voir les options
disponibles pour votre matériel vidéo spécifique (ou pour un
matériel vidéo émulé). Vous devrez probablement ajouter l'option
swrast comme pilote de secours à moins de ne pas vouloir utiliser
Vulkan du tout.
Facultatives
libdisplay-info-0.3.0, libgcrypt-1.11.2, libunwind-1.8.3, lm-sensors-3-6-2, Nettle-3.10.2,
Valgrind-3.26.0, mesa-demos (provides more
than 300 extra demos to test Mesa;
this includes the same programs added by the patch above),
Bellagio
OpenMAX Integration Layer (for mobile platforms), libglvnd
(provides OpenGL libraries), and
libtizonia
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]
[*] Use GSP firmware for Turing/Ampere (needs firmware installed)
... [DRM_NOUVEAU_GSP_DEFAULT]
# For i915, crocus, or iris:
< /*/M> Intel 8xx/9xx/G3x/G4x/HD Graphics [DRM_I915]
# For iris:
< /*/M> Intel Xe2 Graphics [DRM_XE]
[*] Enable display support [DRM_XE_DISPLAY]
(*) Force probe xe for selected Intel hardware IDs
... [DRM_XE_FORCE_PROBE]
# For llvmpipe or softpipe:
< /*> 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.
Pour les GPU pris en charge par le pilote Iris Gallium3D, avec
CONFIG_DRM_I915 activé et
CONFIG_DRM_XE_FORCE_PROBE configuré à
la chaîne *, le pilote i915 sera
utilisé s'il prend en charge le GPU, et le pilote Xe sera utilisé
s'il prend en charge le GPU mais pas le pilote i915. Si vous
savez que votre GPU est pris en charge par le pilote i915, vous
pouvez désactiver le pilote Xe pour gagner du temps de
compilation. Si votre GPU est supporté par les deux pilotes et
que vous voulez utiliser le pilote Xe, vous pouvez désactiver le
pilote i915 ou faire refuser votre GPU au pilote i915 via
l'option CONFIG_DRM_I915_FORCE_PROBE,
par exemple en la configurant à !7d55 pour faire refuser le GPU intégré Meteor
Lake (dont l'identifiant PCI est 8086:7d55), pour le laisser aux pilote Xe.
CONFIG_DRM_RADEON, CONFIG_DRM_AMDGPU, CONFIG_DRM_NOUVEAU, CONFIG_DRM_I915 et CONFIG_DRM_XE peuvent nécessiter un
micrologiciel. Consultez À
propos des Firmwares pour plus de détails.
Il n'est pas recommandé de choisir CONFIG_DRM_RADEON, CONFIG_DRM_AMDGPU ou CONFIG_DRM_NOUVEAU 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 llvmpipe ou softpipe, CONFIG_DRM_VGEM est requis ou les clients X
échoueraient à démarrer avec un message cryptique Error: couldn't get an RGB, Double-buffered
visual. À proprement parler, il peut être compilé en tant
que module. Cependant, le module ne sera pas chargé
automatiquement, donc il est plus pratique de l'embarquer dans
l'image du noyau.
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-4.patch
Installez Mesa en exécutant les
commandes suivantes :
mkdir build &&
cd build &&
meson setup .. \
--prefix=$XORG_PREFIX \
--buildtype=release \
-D platforms=x11,wayland \
-D gallium-drivers=auto \
-D vulkan-drivers=auto \
-D valgrind=disabled \
-D video-codecs=all \
-D libunwind=disabled &&
ninja
Avertissement
Consultez votre avocat ou supprimez le paramètre -D video-codecs=all si vous voulez
distribuer les bibliothèques Mesa compilées et ses pilotes à
d'autres personnes.
Pour tester les résultats lancez :
meson configure -D build-tests=true &&
ninja test
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 :
cp -rv ../docs -T /usr/share/doc/mesa-25.3.1
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.
-D
gallium-drivers=auto : ce paramètre contrôle quels
pilotes Gallium3D doivent être construits :
-
auto choisit tous les pilotes
Gallium3D disponible pour x86. Avec une liste d'éléments
séparés par des virgules, seul un sous-ensemble de ces
pilotes sera construit. Si vous savez précisément les pilotes
dont vous avez besoin, vous pouvez les lister explicitement.
Par exemple, -D
gallium-drivers=radeonsi,iris,llvmpipe.
-
r300 (pour ATI Radeon 9000 ou la
série Radeon X)
-
r600 (pour les séries AMD/ATI
Radeon HD 2000-6000)
-
radeonsi (pour les modèles de
GPU AMD Radeon HD 7000 ou plus récents)
-
nouveau (pour les GPU NVIDIA
pris en charge, ils sont listés avec toutes les « 3D
features » (fonctonnalités 3D) soit en
« DONE », soit en « N/A »
sur la page
d'avancement de Nouveau)
-
virgl (pour un GPU virtuel QEMU
avec la prise en charge de virglrender ; remarquez que
qemu-10.1.3 dans BLFS n'est pas construit
avec virglrender)
-
svga (pour un GPU virtuel
VMWare)
-
llvmpipe (utilise le CPU pour la
rasterisation 3D. Remarquez que c'est bien plus lent
qu'utiliser un GPU moderne capable de faire de la 3D, donc il
ne devrait être utilisé que si le GPU n'est pas pris en
charge par d'autres pilotes)
-
softpipe (utilise également le
CPU pour la rastérisation 3D, mais il est plus lent que
llvmpipe. Il n'y a plus de raison de l'utiliser à moins que
LLVM ne soit pas disponible)
-
iris (pour les GPU Intel
intégrés au CPU Broadwell et plus récents, ou sur une carte
PCIe dédiée)
-
crocus (pour les séries de GPU
Intel GMA 3000, X3000, 4000 ou X4000 intégrés sur puce et les
GPU Intel HD intégrés aux CPU avant Broadwell)
-
i915 (pour les GPU Intel GMA
900, 950, 3100 ou 3150 intégrés sur puce ou les CPU Atom D/N
4xx/5xx)
-
zink (utilise Vulkan pour
implémenter OpenGL, et bien qu'il puisse parfois être
instable, c'est un bon remplaçant pour les pilotes gallium
peu performants comme nouveau)
-D
vulkan-drivers=auto : ce paramètre contrôle les
pilotes Vulkan à construire :
-
auto choisit tous les pilotes
Vulkan disponibles pour x86. Avec une liste d'éléments
séparés par des virgules, seul un sous-ensemble de ces
pilotes sera construit. Si vous savez précisément de quels
pilotes vous avez besoin, vous pouvez les lister
explicitement. Par exemple -D
vulkan-drivers=amd,nouveau,swrast.
-
amd (pour les GPU AMD Radeon HD
7730 ou plus récents)
-
intel (pour les GPU Intel
intégrés aux processeurs Skylake ou plus récent, ou sur une
carte PCIe dédiée)
-
intel_hasvk (pour les GPU Intel
intégrés aux CPU Ivy Bridge, Haswell ou Broadwell)
-
nouveau (pour les GPU NVIDIA GTX
16XX, RTX 20XX ou plus récents)
-
swrast (pour utiliser le CPU
pour la rasterisation 3D). Remarquez que c'est bien plus lent
que d'utiliser un GPU moderne capable de faire de la 3D, donc
il ne devrait être utilisé que si le GPU n'est pas pris en
charge par d'autres pilotes.
-
"" (la liste vide, utilisez
-D vulkan-drivers="" si vous
n'avez pas installé et ne prévoyez pas d'installer Vulkan-Loader-1.4.335.0)
-D platforms=... : ce
paramètre contrôle les systèmes de fenêtrage pris en charge. Les
plate-formes linux disponibles sont x11 et wayland.
-D valgrind=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.
-D video-codecs=all :
ce paramètre active la construction des codecs pour les formats
vidéo couverts par des brevets tiers.
-D
libunwind=disabled : ce paramètre désactive
l'utilisation de libunwind.
meson configure -D
build-tests=true : cette commande
reconfigurera la construction pour utiliser -D
build-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.
-D egl-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 et libgallium-25.3.1.so
Squelettes de pilotes DRI
installés: libdril_dri.so and
multiple symlinks to it
Pilotes VA-API installés:
nouveau_drv_video.so, r600_drv_video.so,
radeonsi_drv_video.so, and virtio_gpu_drv_video.so (symlinks to
libgallium-25.3.1.so)
Moteurs GBM installés:
dri_gbm.so
Pilotes Vulkan installés:
libvulkan_intel_hasvk.so,
libvulkan_intel.so, libvulkan_lvp.so, libvulkan_nouveau.so et
libvulkan_radeon.so
Répertoires installés:
$XORG_PREFIX/include/{EGL,GLES,GLES2,GLES3,KHR},
$XORG_PREFIX/lib/{dri,gbm}, $XORG_PREFIX/share/drirc.d
(contains workarounds for various applications, particularly
browsers and games), $XORG_PREFIX/share/vulkan, and
/usr/share/doc/mesa-25.3.1
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
|
|
dri_gbm.so
|
is the GBM backend for Mesa drivers
|
|
libdril_dri.so
|
est un squelette qui permet au serveur Xorg de coopérer
avec les pilotes Gallium3D
|
|
libEGL.so
|
fournit nativement une interface de plate-forme graphique
qui est définie avec les spécifications EGL-1.4
|
|
libgallium-25.3.1.so
|
contains all the Gallium3D and VA-API drivers
|
|
libgbm.so
|
est la bibliothèque de gestion du tampon graphique
générique 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
|