MESA’s Open-Source RADV Driver Now Adds Forced Shader Re-Compilation on Steam Deck
MESA’s Open-Source RADV Driver Now Adds Forced Shader Re-Compilation on Steam Deck

The MESA team working on the open-source RADV "Radeon Vulkan" driver has added a new "knob" feature to cater to shader compilation errors on Steam Deck,
In recent times, the open-source Mesa RADV Vulkan drivers have witnessed a significant increase in developments, especially when it comes to improving performance across the board, along with several optimizations and fixes to provide optimal experience to users. They are shaping up to be a great alternative to AMD's official Vulkan drivers, and now the MESA developers have gone one step ahead in the bug-fixing department on the Steam Deck handheld.
Phoronix reports that there are some new "DRIRC options" added to the latest version of the drivers, which basically aim at forcing the re-compilation when a shader compiler fix needs to be back-ported. This mainly targets Valve's Steam Deck, which relies on pre-compiled shaders to prevent high loading times and inefficient performance. Here is how Samuel Pitoiset of Valve's Linux graphics driver explains the merged code:
On Steam Deck, shaders are pre-compiled for better performance (less stuttering, less CPU usage, etc). But when a compiler fix needs to be backported, there is currently no way to handle this properly.
This introduces 3 drirc options radv_override_{graphics,compute,ray_tracing}_shader_version in order to force the driver to re-compile pipelines when needed.
By default, the shader version is 0 for all pipelines. When one drirc is set for a specific game, RADV will re-compile all pipelines only once with the compiler fix included (because the pipeline key would be different).
While the change may seem small, it will ultimately help in fixing shader compilation errors on Linux desktops as well as the Steam Deck. With the recent updates being made, it will be compelling to see how the current state of Mesa RADV Vulkan drivers compares with AMD's official "AMDVLK" ones.
News Source: Phoronix
What's Your Reaction?






