Mesa-23.1.6

Introduction à Mesa

Mesa est une bibliothèque graphique 3D compatible avec OpenGL.

[Note]

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

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]

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