Mesa 20.1.0 ya esta aquí y presenta mejoras para Vulkan, optimizaciones, mayor soporte y más
La nueva versión de la popular implementación de OpenGL y Vulkan “Mesa 20.1.0” ya fue liberada y esta es la primera versión de la rama Mesa 20.1.x que tiene un estado experimental y que después de la estabilización final del código, se lanzará como una versión estable en la version 20.1.1.
Esta nueva versión de Mesa 20.1.0 llega con diversos cambios, de los cuales se destaca la implementación del soporte completo OpenGL 4.6 para GPU Intel (i965) y AMD (radeonsi), soporte OpenGL 4.5 para GPU AMD r600 y NVIDIA nvc0, OpenGL 4.3 para virgl, así como compatibilidad con Vulkan 1.2 para tarjetas Intel y AMD.
Es importante recalcar que algunos controladores no son compatibles con todas las características requeridas en OpenGL 4.6, ya que OpenGL 4.6 solo está disponible si se solicita en la creación de contexto. Los contextos de compatibilidad pueden informar una versión inferior dependiendo de cada controlador.
Mientras que para la API Vulkan 1.2, informada por la propiedad apiVersion de la estructura VkPhysicalDeviceProperties depende del controlador particular que se utilice.
Principales novedades de Mesa 20.1.0
De las mejoras para Vulkan que se presentan en esa nueva version se destaca por ejemplo una capa para seleccionar el dispositivo activo para la API de Vulkan en sistemas con múltiples GPU con soporte Vulkan con la variable de entorno MESA_VK_DEVICE_SELECT, que funciona de manera similar a DRI_PRIME para OpenGL.
Mientras que en el controlador Intel Vulkan ANV, se ha agregado la optimización para chips basados en Icelake (Gen11), que permite el uso de colores puros para texturizar, se ha mejorado la utilización de caché en sistemas con chips Intel Ivybridge y Haswell.
Otro de los cambios que se destaca, es en el backend «ACO» el cual ahora tiene soporte para el tipo shaderInt16 para la GPU GFX9 +, que permite el uso de enteros de 16 bits en el código del sombreador.
Para los chips gráficos Intel, el soporte para la vectorización NIR se agregó previamente para los chips AMD. En el aspecto práctico, debido a una mejor optimización del sombreador, el cambio permitió aumentar el rendimiento de OpenGL y Vulkan en muchos juegos en sistemas con GPU Intel.
De los demás cambios que se destacan del anuncio:
- Las GPU AMD Navi 12 y Navi 14 incluyen soporte para el modo de visualización DCC (Delta Color Сompression), que permite trabajar con datos de color comprimido al organizar la salida de la pantalla.
- Se agregó soporte experimental NIR para el controlador clásico Gallium3D R600 con soporte para sombreadores geométricos, de fragmentos, de vértices y de teselación.
- Se ha agregado un parche al controlador Vulkan RADV debido a la optimización del trabajo con memoria, lo que aumenta el rendimiento de los juegos Id Tech en sistemas con APU AMD.
- En Panfrost, el controlador implementó el soporte experimental OpenGL ES 3.0 y brindó soporte para la GPU de renderizado 3D Bifrost (Mali G31). Se ha preparado una implementación inicial de un compilador de sombreadores que admite el conjunto de instrucciones internas Bifrost específicas de GPU.
- El controlador TURNIP Vulkan que se está desarrollando para las GPU Qualcomm Adreno ha agregado soporte para los sombreadores geométricos y los chips Adreno 650.
- En Gallium3D-driver LLVMpipe, que proporciona representación de software, había soporte para sombreadores tesselyatsionnyh.
Finalmente si quieres conocer mas al respecto, puedes consultar el registro completo de cambios en el siguiente enlace.
¿Cómo instalar los drivers de video Mesa en Linux?
Los paquetes de Mesa se encuentran en todas las distribuciones de Linux, por lo que su instalación puede realizarse ya sea descargando y compilando el código fuente (toda la información al respecto aquí) o de una forma relativamente sencilla, la cual depende de la disponibilidad dentro de los canales oficiales de tu distribución o de terceros.
Para los que son usuarios de Ubuntu, Linux Mint y derivados pueden añadir el siguiente repositorio en donde los controladores son actualizados de manera rápida.
sudo add-apt-repository ppa:paulo-miguel-dias/mesa -y
Ahora vamos a actualizar nuestro listado de paquetes y repositorios con:
sudo apt update
Y finalmente podemos instalar los drivers con:
sudo apt upgrade
Para el caso de los que son usuarios de Arch Linux y derivados estos los instalamos con el siguiente comando:
sudo pacman -S mesa mesa-demos mesa-libgl lib32-mesa lib32-mesa-libgl
Para quienes sean usuarios de Fedora 32 pueden utilizar este repositorio, por lo que deben de habilitar corp con:
sudo dnf copr enable grigorig/mesa-stable sudo dnf update
Finalmente, para los que son usuarios de openSUSE, pueden instalar o actualizar tecleando:
sudo zypper in mesa