Mesa-23.1.6
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 23.1.x do "Mesa" mais recente disponível.
Esse pacote é conhecido por construir e funcionar corretamente
usando uma plataforma LFS 12.0.
Informação do Pacote
Transferências Adicionais
Dependências do Mesa
Exigidas
Bibliotecas do Xorg, libdrm-2.4.115 e
Mako-1.2.4
Recomendadas
libva-2.19.0 (para fornecer suporte "VA-API"
para alguns controladores "gallium"; observe que existe uma
dependência circular. Você precisa construir a "libva" primeiro sem suporte "EGL" e "GLX",
instalar esse pacote, e reconstruir a "libva"), libvdpau-1.5
(para construir os controladores "VDPAU"), LLVM-16.0.5 (exigido
para os controladores "Gallium3D", "nouveau" e "radeonsi"; e para o
"swrast", o rasterizador de logiciário que às vezes é chamado de
"llvmpipe". Veja-se https://docs.mesa3d.org/systems.html
para mais informações) e wayland-protocols-1.32 (exigido para o
"Plasma-5.27.7", "GNOME", e
recomendado para o "GTK+-3.24.38")
Opcionais
libgcrypt-1.10.2, libunwind-1.6.2, lm-sensors-3-6-0 , Nettle-3.9.1,
Valgrind-3.21.0, mesa-demos (fornece mais
que trezentos (300) demonstrativos extra para testar Mesa; isso inclui os mesmos aplicativos
adicionados pelo remendo acima), Camada de Integração Bellagio
OpenMAX (para plataformas móveis), glslang (para os
controladores "vulkan"),
libtizonia e Vulkan-Loader
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="" \
-Dvalgrind=disabled \
-Dlibunwind=disabled \
.. &&
ninja
Para testar os resultados, emita: meson configure -Dbuild-tests=true &&
ninja test. Três testes relacionados a mesa:intel
são conhecidos por falharem.
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
":
install -v -dm755 /usr/share/doc/mesa-23.1.6 &&
cp -rfv ../docs/* /usr/share/doc/mesa-23.1.6
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.1.0 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=""
: Essa
chave permite escolher quais controladores Vulkan serão
construídos. O padrão é auto, mas isso exige as dependências
opcionais glslang e Vulkan-Loader. Vulkan é uma API mais recente
projetada para utilizar as GPUs com um desempenho melhor que
OpenGL, mas nada no BLFS se beneficia disso por enquanto. Portanto,
nós passamos uma lista vazia para a finalidade de remover a
necessidade dessas dependências.
-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 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, vmwgfx_dri.so, libvdpau_nouveau.so,
libvdpau_r300.so libvdpau_r600.so e libvdpau_radeonsi.so
libvdpau_virtio_gpu.so (Muitos desses controladores são
rigidamente lincados).
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,
principalmente navegadores e jogos) e
/usr/share/doc/mesa-23.1.6
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"
|