
Recentemente, foi anunciado o lançamento da nova versão dos drivers abertos “Mesa 20.2.0”, uma versão na qual se destaca o trabalho de melhorar a compatibilidade e o suporte para placas e GPus AMD.
Nesta nova versão dos drivers Mesa 20.2, foi destacado que foi implementado suporte total para OpenGL 4.6 para GPUs Intel (drivers i965, iris) e AMD (radeonsi), suporte para OpenGL 4.5 para GPUs AMD (r600), NVIDIA (nvc0) e llvmpipe , OpenGL 4.3 para virgl (GPU virtual Virgil3D para QEMU / KVM), bem como suporte Vulkan 1.2 para placas Intel e AMD.
Principais novidades do Mesa 20.2.0
Como mencionamos no início, esta nova versão dos drivers mesa se destaca por oferecer melhor suporte para placas AMD, sendo que nesta nova versão o driver RADV Vulkan (para placas AMD) utiliza o compilador shader “ACO” por padrão, que está sendo desenvolvido pela Valve como uma alternativa ao compilador de sombreador LLVM. ACO é escrito em C ++, desenvolvido com a compilação JIT em mente e tem como objetivo garantir que a geração de código seja a mais ideal possível para shaders de jogo, bem como velocidades de compilação muito altas.
Além disso, no lado do suporte, é notado que o suporte inicial da GPU foi adicionado para AMD Navi 21 (Navy Flounder) e Navi 22 (Sienna Cichlid).
Outra mudança que se destaca com o anúncio é o novo driver llvmpipe para renderização de software que fornece suporte a OpenGL 4.5.
Enquanto por parte dos drivers da GPU Intel, o suporte para chips baseados na microarquitetura Rocket Lake foi melhorado e eles adicionaram suporte inicial para placas discretas Intel Xe DG1.
E o driver Gallium3D Zink, que implementa a API OpenGL no topo do Vulkan, também foi melhorado. O Zink permite que você obtenha OpenGL acelerado por hardware se seu sistema tiver drivers limitados para suportar apenas a API Vulkan.
O driver Gallium3D Nouveau NVC0 usa HMM (Heterogeneous Memory Management) para suportar OpenCL SVM (Shared Virtual Memory).
O driver Panfrost estabiliza o suporte de renderização 3D para GPUs Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx).
E também houve melhorias no RadeonSI relacionadas à virtualização da GPU.
Adicionado suporte para o armazenamento em cache da representação intermediária TGSI (Tungsten Graphics Shader Infrastructure) no disco.
Em relação às novas extensões OpenGL adicionadas:
- GL_ARB_compute_variable_group_size para Intel Iris.
- GL_ARB_gl_spirv para Nouveau nvc0.
- GL_NV_half_float para Nouveau nvc0.
- GL_NV_copy_depth_to_color para Nouveau nvc0.
- GL_ARB_spirv_extensions para Nouveau nvc0.
- GL_EXT_shader_group_vote para llvmpipe.
- GL_ARB_gpu_shader5 para llvmpipe.
- GL_ARB_post_depth_coverage para llvmpipe.
- GL_EXT_texture_shadow_lod para llvmpipe.
As seguintes extensões também foram adicionadas ao driver RADV Vulkan (para placas AMD):
- VK_EXT_4444_formats
- VK_KHR_memory_model
- VK_AMD_texture_gather_bias_lod
- VK_AMD_gpu_shader_half_float
- VK_AMD_gpu_shader_int16
- VK_EXT_extended_dynamic_state
- VK_EXT_image_robustness
- VK_EXT_private_data
- VK_EXT_custom_border_color
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_subgroup_size_control
- VK_GOOGLE_user_type
- VK_KHR_shader_subgroup_extended_types
E para o driver Vulkan ANV (para placas Intel), adicionou as extensões:
- VK_EXT_image_robustness
- VK_EXT_shader_atomic_float
- VK_EXT_4444_formats
- VK_EXT_extended_dynamic_state
- VK_EXT_private_data
- VK_EXT_custom_border_color
- VK_EXT_pipeline_creation_cache_control
Por fim, se quiser saber mais sobre o assunto, pode consultar o seguinte link.
Como instalar os drivers de vídeo Mesa no Linux?
Os pacotes Mesa são encontrados em todas as distribuições Linux, portanto sua instalação pode ser feita baixando e compilando o código fonte (todas as informações sobre ele aqui) ou de forma relativamente simples, que depende da disponibilidade dentro dos canais oficiais de sua distribuição ou de terceiros.
Para aqueles que são usuários do Ubuntu, Linux Mint e derivados podem adicionar o seguinte repositório onde os drivers são atualizados rapidamente.
sudo add-apt-repository ppa:paulo-miguel-dias/mesa -y
Agora vamos atualizar nossa lista de pacotes e repositórios com:
sudo apt update
E, finalmente, podemos instalar os drivers com:
sudo apt upgrade
No caso dos que são usuários do Arch Linux e derivados, nós os instalamos com o seguinte comando:
sudo pacman -S mesa mesa-demos mesa-libgl lib32-mesa lib32-mesa-libgl
Para aqueles que são usuários do Fedora 32 podem usar este repositório, porém devem habilitar o copr com:
sudo dnf copr enable grigorig/mesa-stable
sudo dnf update
Finalmente, para aqueles que são usuários do openSUSE, podem instalar ou atualizar digitando:
sudo zypper in mesa