Show Your Support: Did you know that the hundreds of articles written on Phoronix each month are mostly authored by one individual? Phoronix.com doesn't have a whole news room with unlimited resources and relies upon people reading our content without blocking ads and alternatively by people subscribing to Phoronix Premium for our ad-free service with other extra features.
AMD Finally Rolls Out New Linux Patches For Adaptive-Sync / VRR (FreeSync)
AMD has provided FreeSync support for a few years when using their AMDGPU-PRO hybrid driver, but not many gamers rely upon that packaged driver over the latest open-source drivers these days... There have been open-source FreeSync patches previously, which were once held up by the AMDGPU DAL/DC bits landing and enabled by default. But most recently the mainlining of this FreeSync/Adaptive-Sync/VRR functionality was held up on ensuring their proposed DRM (Direct Rendering Manager) API for handling the DisplayPort/HDMI standards were acceptable to the other driver developers, namely the open-source Intel driver developers.
In case you are late to the party, Adaptive-Sync / VRR are the industry standards now for variable refresh rates to reduce/avoid stuttering, tearing, and/or input lag. Supporting this by the open-source Linux graphics drivers needs bit in the kernel space (DRM) as well as within Mesa, the X.Org DDX driver, and Mesa.
AMD developer Nicholas Kazlauskas sent out the newest DRM API patches on Tuesday for supporting Adaptive-Sync / Variable Refresh Rate. The new API is added as atomic properties to the DRM connector and CRC for indicating if "variable refresh" is capable or enabled.
AMD has patches plumbed but not yet mainlined for getting this support going with their hardware and under an X.Org Server session (no Wayland). The properties can be set/queried using xrandr.
Yes, you do also need a supported display in order to enjoy this technology to reduce stuttering, input lag, and tearing.
These newest patches can be found on the dri-devel list. Let's cross our fingers that the kernel bits will happen for Linux 4.20~5.0 and that the user-space bits will all be aligned shortly thereafter for delivering on this long-awaited functionality.