Mesa 25.0 llega con soporte para RX 9000, mejoras en OpenGL y avanza hacia Vulkan 1.4
Hace pocos se dio a conocer el lanzamiento de la nueva versión experimental de Mesa 25.0, la cual corresponde a la primera versión de esta nueva rama y que según en el modelo de desarrollo esta versión experimental, que se estabilizará en la versión final 25.0.1.
Con este lanzamiento, Mesa 25.0 introduce soporte para la API Vulkan 1.4 en diversos controladores gráficos, abarcando desde los ANV de Intel y RADV de AMD hasta NVK de NVIDIA. Por otro lado, algunos controladores como PanVK, que proporciona soporte para GPU ARM Mali, han alcanzado la compatibilidad con Vulkan 1.1, mientras que otros como v3dv y dzn aún operan bajo la versión 1.0 de la API.
Mejoras de soporte de OpenGL y transición hacia Vulkan 1.4
Entre las principales novedades que presenta esta nueva versión de Mesa 25.0, se destaca que a nivel de OpenGL, Mesa ha conseguido ofrecer compatibilidad total con la versión 4.6 a una amplia gama de controladores, incluyendo los controladores Iris para GPUs de Intel de octava generación en adelante, también se encuentra el controlador Radeonsi (de AMD), Crocus (para arquitecturas más antiguas de Intel), así como los controladores de renderizado por software como llvmpipe y virgl, utilizados en entornos de virtualización con QEMU/KVM.
Asimismo, se han ampliado las capacidades del controlador Panfrost OpenGL para GPUs ARM Mali, y se ha habilitado de forma predeterminada un mecanismo de «eliminación de transacciones» que descarta operaciones redundantes, reduciendo así el procesamiento innecesario. La implementación de renderizado incremental permite, además, una disminución en el consumo de memoria al renderizar grandes cantidades de objetos mediante el procesamiento por mosaicos, y se ha aumentado el ancho y la altura máximos de textura soportados, de 8192 a 32768 píxeles.
Otra de las mejoras que se introduce en Mesa 25.0 es la ampliación del soporte para Vulkan 1.4 en los controladores modernos, lo que representa un salto respecto a la compatibilidad anterior con Vulkan 1.3.
Soporte para RX 9000 y controladores AMD
Mesa 25.0 se convierte en la primera versión de los controladores en añadir el soporte inicial del controlador RADV para las GPUs RDNA4 (GFX12, serie Radeon RX 9000), mientras que el controlador RadeonSI se ha migrado al backend de compilación de sombreadores ACO, desarrollado por Valve. Este nuevo backend, escrito en C++ y orientado a compilación JIT, se diseñó para generar código de manera óptima y acelerar significativamente la compilación de sombreadores, especialmente en aplicaciones de juegos.
Otra novedad relevante es la incorporación del controlador amdgpu_virtio, que permite a los sistemas invitados aprovechar los controladores OpenGL y Vulkan como radeonsi, radeonsi_drv_video y radv proporcionados por el entorno host a través de VirtIO. Este nuevo controlador promete ofrecer un rendimiento superior en aceleración 3D en máquinas virtuales en comparación con los controladores virgl y venus existentes.
Optimizaciones y mejoras en extensiones
Mesa 25.0.0 también incluye mejoras de optimización de la gestión de datos, como la incorporación del modo AFBC 32×8, que optimiza el trabajo con el búfer de escaneo en algunos controladores de pantalla, y el soporte para el modo de texturizado MTK_FMT_MOD_TILE_16L32S, que facilita el procesamiento de datos fragmentados en un búfer temporal no fragmentado antes de la renderización.
Por otro lado, el controlador ANV (Intel) se ha actualizado para incluir extensiones Vulkan que permiten decodificar video en formato AV1, mientras que el controlador PanVK para GPUs ARM Mali basadas en la arquitectura V10 (como las Mali-G610 y Mali-G310) no solo ahora ofrece soporte para Vulkan 1.1, sino que también se habilita de forma predeterminada en sistemas ARM.
Este controlador implementa una amplia gama de extensiones Vulkan que abarcan desde almacenamiento de 8 bits y asignación dedicada hasta robustez de imagen y diversas capacidades de consulta y control de subgrupos. Además, el controlador RADV recibio el soporte para las extensiones VK_KHR_maintenance8 y VK_KHR_depth_clamp_zero_one, y el controlador rusticl ha añadido soporte para la extensión OpenCL cl_khr_depth_images.
Interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
¿Como instalar los controladores 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, Debian o derivados, en estas distribuciones, Mesa generalmente se encuentra en los repositorios oficiales. Para instalar o actualizar:
sudo apt update && sudo apt upgrade -y
ers
sudo apt install mesa-utils mesa-va-drivers mesa-vulkan-driv
Si deseas la versión más reciente desde PPA (para Ubuntu y derivados):
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade -y
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-utils mesa-demos mesa-libgl lib32-mesa lib32-mesa-libgl
Para quienes sean usuarios de Fedora, deben saber que se proporcionan los paquetes actualizados en sus repositorios y solo debes ejecutar:
sudo dnf install mesa-dri-drivers mesa-va-drivers mesa-vulkan-drivers
Si deseas versiones más recientes, puedes usar el repositorio Mesa Copr:
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