Después de dos meses de desarrollo se dio a conocer el lanzamiento de la nueva versión de la implementación de la API OpenGL y Vulkan, «Mesa 22.1.0». Como siempre, la primera versión de la rama Mesa tiene un estado experimental, por lo que después de la estabilización final del código, se lanzará una versión estable 22.1.1.
En Mesa 22.1, la compatibilidad con la API de gráficos Vulkan 1.3 está disponible en los controladores anv para GPU Intel, radv para GPU AMD y el rasterizador de software Lavapipe. Vulkan 1.2 es compatible con el modo de emulador (vn), Vulkan 1.1 en el controlador de GPU Qualcomm (tu) y Vulkan 1.0 en el controlador de GPU Broadcom VideoCore VI (Raspberry Pi 4)
Principales novedades de Mesa 22.1.0
En esta nueva versión que se presenta, el controlador ANV Vulkan (Intel) y el controlador Iris OpenGL son compatibles con las tarjetas gráficas discretas Intel DG2 (Arc Alchemist) y Arctic Sound-M, mientras que el controlador D3D12, con la capa OpenGL sobre la API de DirectX 12 (D3D12), es compatible con OpenGL 4.2. El controlador se usa en la capa WSL2 para ejecutar aplicaciones gráficas de Linux en Windows.
Tambien se destaca el controlador de lavapipe con una implementación de rasterizador de software para la API de Vulkan (similar a llvmpipe, pero para Vulkan, que traduce las llamadas de la API de Vulkan a la API de Gallium) ahora es compatible con Vulkan 1.3.
El controlador Nouveau para las GPU GeForce 6/7/8 anteriores se convirtió para usar la representación intermedia (IR) sin tipo de los sombreadores NIR . El soporte NIR también permite obtener soporte de representación intermedia TGSI (Tungsten Graphics Shader Infrastructure) al habilitar una capa para traducir NIR a TGSI.
El controlador v3d OpenGL desarrollado para el acelerador de gráficos VideoCore VI utilizado desde el modelo Raspberry Pi 4 implementa compatibilidad con el almacenamiento en caché de sombreadores en el disco.
Para las GPU AMD equipadas con el motor de video VCN 2.0, se implementó la compatibilidad con EFC (Conversión de formato de codificador), que permite usar un codificador de video de hardware para leer directamente superficies RGB sin conversiones RGB-> YUV realizadas por sombreadores.
Se agregó soporte para la capa ANGLE, que traduce las llamadas de OpenGL ES a OpenGL, Direct3D 9/11, Desktop GL y Vulkan, al controlador Venus con una implementación de GPU virtual (virtio-gpu) basada en la API de Vulkan.
De los demás cambios que se destacan de esta nueva versión:
- Se agregó soporte para la extensión OpenGL GL_NV_pack_subimage de NVIDIA para actualizar rectángulos en la memoria del host usando framebuffer o datos de textura.
- Se agregó soporte para extensiones de controladores RADV (AMD), ANV (Intel) y lavapipe Vulkan
- Se agregó compatibilidad con las GPU AMD GFX1036 y GFX1037.
- El controlador Crocus, desarrollado para GPU Intel más antiguas basadas en microarquitecturas Gen4-Gen7 que no son compatibles con el controlador Iris, incluye un perfil de compatibilidad con versiones anteriores de OpenGL.
- El controlador PanVk, que brinda soporte para la API de gráficos Vulkan para GPU ARM Mali Midgard y Bifrost, ha comenzado a trabajar en el soporte de sombreado de cómputo.
- El controlador RADV (AMD) implementó la eliminación de rayos primitivos, lo que mejoró la compatibilidad con el trazado de rayos para juegos como DOOM Eternal.
- Se propone una implementación inicial del controlador GPU Vulkan basado en la arquitectura PowerVR Rogue desarrollada por Imagination.
- El paquete incluye un compilador OpenCL compacto propuesto por Intel y utilizado en el trazado de rayos.
Finalmente si estás interesado en conocer más al respecto sobre esta nueva versión de los controladores Mesa, puedes consultar los detalles 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:kisak/kisak-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
Lo de la pila grafica de linux no hay quien la entienda.
Firmware, drivers del kernel, drivers de la tarjeta, Xorg, waylands, mesa, las librerias graficas, los compositores, los gestores de ventanas, los desktop…