Recently the launch of the new version of the OpenGL and Vulkan API implementation "Table 22.3.0", being this the first version of the Mesa 22.3.0 branch that has an experimental state and that later (after the final stabilization of the code), a stable version 22.3.1 will be released.
In Mesa 22.3, Vulkan 1.3 graphics API support is available in anv for Intel GPUs, radv for AMD GPUs, and in emulator (vn) mode. Support for Vulkan 1.1 is implemented in the lavapipe software rasterizer (lvp) and Vulkan 1.0 in the v3dv driver (Raspberry Pi 4 Broadcom VideoCore VI GPU).
Table 22.3.0 main novelties
In this new version that is presented sand added the freedreno driver for Qualcomm Adreno GPUs is support the graphics API OpenGL 4.5 and the emulator driver (vn) is API compliant Vulcan 1.3.
Another of the changes that stands out in this new version is that added support for GFX11/RDNA3 GPUs (Radeon RX 7000 series) in RADV (AMD) Vulkan Driver, plus added support for R8G8B8, B8G8R8, and R16G16B16 pixel formats, as well as 64-bit vertex buffer formats.
We can also find that in Table 22.3.0 the Rusticl driver is included with the implementation of the OpenCL 3.0 specification, which defines the C language API and extensions to orchestrate cross-platform parallel computing. The driver is written in Rust, developed using the Gallium interface provided in Mesa, and acts as an analogue of the Clover OpenCL interface present in Mesa.
Clover has long been neglected and rusticl is positioned as its future replacement. Rust and Rusticl support is disabled by default and requires compilation with explicit options "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021«. It should be noted that when compiling, the rustc compiler, bindgen, LLVM, SPIRV-Tools and SPIRV-LLVM-Translator are required as additional dependencies.
In addition, the controller RadeonSI has support for multi-threaded rendering via OpenGL enabled by default, while the Panfrost driver implements the ability to cache shaders to disk and adds support for the Mali T620 GPU.
Of the other changes that stand out in Mesa 22.3.0:
- Mesa-DB is introduced, a new type of shader cache that stores data in a single file.
- The driver is compliant with the OpenGL 3.1 specification and OpenGL ES 3.1.
- The code for ray tracing has been optimized.
- Added support for the extendedDynamicState2PatchControlPoints flag, which defines support for the VK_EXT_extended_dynamic_state2 extension.
- Integrated Radeon Ray Tracing Analyzer.
- Added support for OpenGL extensions: GL_ARB_shader_clock for llvmpipe, GL_KHR_blend_equation_advanced_coherent for zinc, GL_NV_shader_atomic_float for llvmpipe.
- Se agregó soporte para las extensiones de Vulkan: VK_KHR_shader_clock para lavapipe, VK_EXT_attachment_feedback_loop_layout para RADV, lavapipe, VK_KHR_global_priority para RADV, VK_EXT_load_store_op_none para RADV, VK_EXT_mutable_descriptor_type para RADV, VK_EXT_shader_atomic_float para lvp, VK_EXT_shader_atomic_float2 para lvp, VK_EXT_image_robustness para v3dv., VK_EXT_extended_dynamic_state3 para lavapipe, RADV y ANV, VK_EXT_extended_dynamic_state2 for RADV.
Finally if you are interested in knowing more about it about this new version of the Mesa drivers, you can check the details in the following link.
How to install Mesa video drivers on Linux?
Mesa packages found in all Linux distributions, so its installation can be done either by downloading and compiling the source code (All information about it here) or in a relatively simple way, which depends on the availability within the official channels of your distribution or third parties.
For those who are users of Ubuntu, Linux Mint and derivatives they can add the following repository where the drivers are updated quickly.
sudo add-apt-repository ppa:kisak/kisak-mesa -y
Now we are going to update our list of packages and repositories with:
sudo apt update
And finally we can install the drivers with:
sudo apt upgrade
For the case of those who are Arch Linux users and derivatives, we install them with the following command:
sudo pacman -S mesa mesa-demos mesa-libgl lib32-mesa lib32-mesa-libgl
For whoever they are Fedora 32 users can use this repository, so they must enable corp with:
sudo dnf copr enable grigorig/mesa-stable sudo dnf update
Finally, for those who are openSUSE users, they can install or upgrade by typing:
sudo zypper in mesa