Mesa-24.0.1

Introdução ao Mesa

"Mesa" é uma biblioteca gráfica "3D" compatível com "OpenGL".

[Nota]

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

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]

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"