FreeSync Support For RADV Vulkan Driver Blocked By Lack Of Config System
With the Linux 5.0 kernel the AMDGPU landed its support for FreeSync / Variable Rate Refresh support and that's already been joined by FreeSync/VRR support within Mesa's RadeonSI OpenGL driver. But FreeSync support for the RADV Radeon Vulkan driver has been delayed -- a merge request is now open but it's not expected to be merged at this point for a lack of a configuration management system.
For several weeks now there's been an initial RADV FreeSync patch for testing albeit not extensively tested and some users running into problems with it. But more pressing that is preventing the RADV FreeSync support from landing in Mesa 19.1 is the lack of a config system to allow whitelisting/blacklisting of the functionality on a per-game/app basis.
The RadeonSI driver already has per-game/app blacklisting to ensure FreeSync doesn't get triggered for different desktop compositors, media players, and other OpenGL-using scenarios where FreeSync usage isn't intended for various issues. That per-app handling is done using DriConf and available to Mesa OpenGL drivers, but currently there isn't such mechanisms for the Mesa Vulkan drivers.
RADV co-founder Bas Nieuwenhuizen commented on this third-party MR attempt, "what is missing is a config to enable or disable freesync per application. If you look at radeonsi there is an extensive list of applications for which not to enable freesync, because it is not the right thing for non-games (like browsers or media players). So integration with a config system and making that config is what is blocking upstreaming this."
Getting such an extensive config system in place unfortunately is not trivial. While Vulkan is mostly used by games at this point, there is also the Vulkan back-ends for GTK4, GStreamer, and a growing number of other software use-cases where FreeSync support might not work correctly if it's enabled unconditionally.
Those wanting to test the RADV FreeSync support yourself can apply this patch for testing purposes.
For several weeks now there's been an initial RADV FreeSync patch for testing albeit not extensively tested and some users running into problems with it. But more pressing that is preventing the RADV FreeSync support from landing in Mesa 19.1 is the lack of a config system to allow whitelisting/blacklisting of the functionality on a per-game/app basis.
The RadeonSI driver already has per-game/app blacklisting to ensure FreeSync doesn't get triggered for different desktop compositors, media players, and other OpenGL-using scenarios where FreeSync usage isn't intended for various issues. That per-app handling is done using DriConf and available to Mesa OpenGL drivers, but currently there isn't such mechanisms for the Mesa Vulkan drivers.
RADV co-founder Bas Nieuwenhuizen commented on this third-party MR attempt, "what is missing is a config to enable or disable freesync per application. If you look at radeonsi there is an extensive list of applications for which not to enable freesync, because it is not the right thing for non-games (like browsers or media players). So integration with a config system and making that config is what is blocking upstreaming this."
Getting such an extensive config system in place unfortunately is not trivial. While Vulkan is mostly used by games at this point, there is also the Vulkan back-ends for GTK4, GStreamer, and a growing number of other software use-cases where FreeSync support might not work correctly if it's enabled unconditionally.
Those wanting to test the RADV FreeSync support yourself can apply this patch for testing purposes.
37 Comments