Mesa-24.0.1
Introdução ao Mesa
"Mesa" é uma biblioteca gráfica
"3D" compatível com "OpenGL".
Nota
"Mesa" é atualizada
relativamente muitas vezes. Você possivelmente queira usar a
versão 24.0.x do "Mesa" mais recente disponível.
Esse pacote é conhecido por construir e funcionar corretamente
usando uma plataforma LFS 12.1.
Informação do Pacote
-
Transferência (HTTP): https://mesa.freedesktop.org/archive/mesa-24.0.1.tar.xz
-
Transferência (FTP):
-
Soma de verificação MD5 da transferência:
9e7fa53b68fa6b60dba0bbfa8da7d0a9
-
Tamanho da transferência: 20 MB
-
Espaço em disco estimado exigido: 618 MB (com documentos,
adicionar 220 MB para testes)
-
Tempo de construção estimado: 3,1 UPC (com documentos;
adicionar 0,6 UPC para testes; ambos com paralelismo=4)
Transferências Adicionais
Dependências do Mesa
Exigidas
Bibliotecas do Xorg, libdrm-2.4.120 e
Mako-1.3.2
Recomendadas
Glslang-14.0.0 (exigido para suporte Vulkan),
libva-2.20.0 (para fornecer suporte VA-API para
alguns controladores gallium; observe que existe uma dependência
circular. Você precisa construir libva primeiro sem suporte EGL e GLX, instalar
esse pacote, e reconstruir libva),
libvdpau-1.5 (para construir controladores
VDPAU), LLVM-17.0.6 (exigido para controladores
Gallium3D, nouveau e radeonsi; e para swrast, o rasterizador de
software que às vezes é chamado de llvmpipe. Veja-se https://docs.mesa3d.org/systems.html
para mais informações), wayland-protocols-1.33 (exigido para
Plasma-5.27.10, GNOME, e recomendado
para GTK+-3.24.41) e Vulkan-Loader-1.3.277 (exigido para
suporte Vulkan)
Opcionais
libgcrypt-1.10.3, libunwind-1.6.2, lm-sensors-3-6-0, Nettle-3.9.1,
Valgrind-3.22.0, mesa-demos (fornece mais
que 300 extra demos para testar Mesa; isso inclui os mesmos programas
adicionados pelo remendo acima), Bellagio OpenMAX Integration
Layer (para plataformas móveis) e
libtizonia,
Configuração do Núcleo
Habilite as seguintes opções na configuração do núcleo e recompile
o núcleo se necessário:
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]
Nota
O correspondente nome do controlador Gallium3D do Mesa é
fornecido como comentário para as entradas de configuração. Se
você não sabe o nome do controlador Gallium3D do Mesa para tua
GPU, veja Mesa Gallium3D Drivers
abaixo.
CONFIG_DRM_RADEON
, CONFIG_DRM_AMDGPU
, CONFIG_DRM_NOUVEAU
e CONFIG_DRM_I915
possivelmente exijam firmware.
Veja-se Acerca de Firmware para detalhes.
Selecionar CONFIG_DRM_RADEON
ou
CONFIG_DRM_AMDGPU
como “y
” não é recomendado. Se for,
qualquer firmware exigido precisa ser construído como parte da
imagem do núcleo ou do initramfs para o controlador funcionar
corretamente.
As subentradas sob CONFIG_DRM_AMDGPU
são usadas para garantir que o controlador de núcleo AMDGPU
suporte todas as GPUs usando o controlador radeonsi
. Elas não são necessárias se você não
precisasse da própria CONFIG_DRM_AMDGPU
. Elas possivelmente sejam
desnecessárias para alguns modelos de GPU.
Para swrast
, CONFIG_DRM_VGEM
não é estritamente necessária,
mas recomendada como uma otimização.
Instalação do Mesa
Se você baixou o remendo "xdemos" (necessário se testar a
instalação do "Xorg" de acordo com as instruções do BLFS), [então]
aplique-o executando o seguinte comando:
patch -Np1 -i ../mesa-add_xdemos-2.patch
Instale o Mesa executando os
seguintes comandos:
mkdir build &&
cd build &&
meson setup \
--prefix=$XORG_PREFIX \
--buildtype=release \
-Dplatforms=x11,wayland \
-Dgallium-drivers=auto \
-Dvulkan-drivers=auto \
-Dvalgrind=disabled \
-Dlibunwind=disabled \
.. &&
ninja
Para testar os resultados, emita: meson configure -Dbuild-tests=true &&
ninja test.
Agora, como o(a) usuário(a) "root
":
ninja install
Se desejado, [então] instale a documentação opcional executando os
seguintes comandos como o(a) usuário(a) "root
":
cp -rv ../docs -T /usr/share/doc/mesa-24.0.1
Explicações do Comando
--buildtype=release
: Essa
chave garante uma construção totalmente otimizada e desabilita
asserções de depuração que desacelerarão severamente as bibliotecas
em certos casos de uso. Sem essa chave, os tamanhos de construção
podem atingir a faixa de 2 GB.
-Dgallium-drivers=auto
:
Esse parâmetro controla quais controladores Gallium3D deveriam ser
construídos. auto
seleciona todos os
controladores Gallium3D disponíveis para x86: r300
(para Radeon 9000 ou série Radeon X da ATI),
r600
(para série Radeon HD 2000-6000
da AMD/ATI), radeonsi
(para Radeon HD
7000 da AMD ou modelos de GPU mais recentes da AMD), nouveau
(para GPUs Suportadas da NVIDIA, elas
estão listadas como todos os “recursos de 3D” tanto “DONE” quanto
“N/A” na
página de
situação da Nouveau), virgl
(para
GPU virtual do QEMU com suporte virglrender; observe que o BLFS qemu-8.2.1 não é construído com o virglrender), svga
(para GPU virtual do VMWare), swrast
(usando CPU para rasterização de 3D;
observe que isso é muito mais lento que usar uma GPU moderna com
recursos de 3D, de forma que deveria ser usado somente se a GPU não
for suportada por outros controladores), iris
(para GPUs Intel fornecidas com Broadwell ou
CPUs mais recentes), crocus
(para GPUs
GMA 3000, série X3000, série 4000 ou série X4000 da Intel
fornecidas com chipsets ou GPUs Intel HD fornecidas com CPUs
pré-Broadwell), i915
(para GPUs GMA
900, 950, 3100 ou 3150 da Intel fornecidas com chipsets ou CPUs
Atom D/N 4xx/5xx). Você pode substituir auto
por uma lista separada por vírgulas, para
construir somente um subconjunto desses controladores, se souber
precisamente quais controladores precisa, por exemplo -Dgallium-drivers=radeonsi,iris,swrast
.
-Dplatforms=...
: Esse
parâmetro controla quais sistemas de janelas serão suportados. As
plataformas Linux disponíveis são x11 e wayland.
-Dvulkan-drivers=auto
: Essa
chave habilita suporte para a API gráfica Vulkan. Ele constrói
automaticamente todos os controladores gráficos que estão
disponíveis para Vulkan. Se você desejar construir controladores
específicos, as opções válidas incluem 'amd', 'intel',
'intel_hasvk' e 'swrast'. Se você não quiser suporte Vulkan, mude
'auto' para "".
-Dvalgrind=disabled
: Esse
parâmetro desabilita o uso do "Valgrind" durante o processo de
construção. Remova esse parâmetro se você tiver o "Valgrind"
instalado e desejar verificar vazamentos de memória.
-Dlibunwind=disabled
: Esse
parâmetro desabilita o uso da "libunwind".
meson configure
-Dbuild-tests=true: Esse comando reconfigurará a
construção para configurar "-Dbuild-tests=true
", mas manterá as outras opções
especificadas no comando "meson
setup" sem mudanças. Ele permite que o
"ninja test" construa
e execute testes unitários.
-Degl-native-platform="..."
: Esse
parâmetro controla qual suporte da Biblioteca de Gráficos
Incorporados será construído. As opções de Linux disponíveis são
"auto" (padrão), "x11", "wayland", "surfaceless" e "drm".
Conteúdo
Aplicativos Instalados:
glxgears e glxinfo
Bibliotecas Instaladas:
libEGL.so, libGL.so, libGLESv1_CM.so,
libGLESv2.so, libgbm.so, libglapi.so e libxatracker.so
Controladores DRI Instalados:
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 e vmwgfx_dri.so
Controladores VDPAU
Instalados: libvdpau_nouveau.so,
libvdpau_r300.so, libvdpau_r600.so e libvdpau_radeonsi.so,
libvdpau_virtio_gpu.so (Muitos desses controladores são
rigidamente lincados).
Controladores Vulkan
Instalados: libvulkan_intel_hasvk.so, libvulkan_intel.so,
libvulkan_lvp.so e libvulkan_radeon.so
Diretórios Instalados:
$XORG_PREFIX/{include/{EGL,GLES,GLES2,GLES3,KHR},
$XORG_PREFIX/lib/{dri,vdpau}}, $XORG_PREFIX/share/drirc.d
(contém soluções alternativas para vários aplicativos,
particularmente navegadores e jogos), $XORG_PREFIX/share/vulkan
e /usr/share/doc/mesa-24.0.1
Descrições Curtas
glxgears
|
é uma demonstração "GL" útil para solucionar problemas
gráficos
|
glxinfo
|
é um aplicativo de diagnóstico que exibe informações
relativas ao hardware gráfico e bibliotecas "GL"
instaladas
|
libEGL.so
|
fornece uma interface gráfica de plataforma nativa
conforme definido pela especificação "EGL-1.4"
|
libgbm.so
|
é a biblioteca "Graphics Buffer Manager" do "Mesa"
|
libGLESv1_CM.so
|
é a biblioteca "OpenGL ES 1.1" do "Mesa"
|
libGLES2.so
|
é a biblioteca "OpenGL ES 2.0" do "Mesa"
|
libGL.so
|
é a principal biblioteca "OpenGL" do "Mesa"
|