The MESA team developing the open-source RADV “Radeon Vulkan” driver has introduced a new “knob” feature to address shader compilation errors specifically for the Steam Deck. Lately, the open-source Mesa RADV Vulkan drivers have seen notable advancements, focusing on enhancing overall performance, implementing optimizations, and addressing issues for an optimal user experience. Emerging as a compelling alternative to AMD’s official Vulkan drivers, MESA developers are now intensifying bug-fixing efforts for the Steam Deck handheld.
According to Phoronix, the latest driver version introduces new “DRIRC options” designed to compel re-compilation when back-porting shader compiler fixes. This enhancement is particularly focused on Valve’s Steam Deck, which utilizes pre-compiled shaders to mitigate long loading times and improve overall performance efficiency.
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).
Although the alteration appears minor, it will play a crucial role in resolving shader compilation errors on both Linux desktops and the Steam Deck. With the ongoing improvements, it will be intriguing to observe how the current state of Mesa RADV Vulkan drivers measures up against AMD’s official “AMDVLK” drivers.
Via Phoronix