AMDGPU FreeSync Video Mode Optimization Updated But Too Late For Linux 5.12
Going back to last year there has been work by AMD engineers on an experimental FreeSync video mode optimization to avoid screen blanking around full-screen video playback. Basically avoiding an entire mode-set when changing the timing mode during video playback to bypass any screen flickering/blanking. That work has now been updated to its sixth spin while it's being viewed as a temporary measure until a better solution can be devised.
That FreeSync video mode optimization has continued seeing new revisions following the public code review process. The sixth version of the patches were posted this week but obviously given the timing is too late for possibly seeing it in the imminent Linux 5.12 merge window -- it will now wait until at least Linux 5.13.
The latest code for this video mode optimization has some additional minor optimizations. The patches also now note that using this mode result in higher power consumption. Additionally, it may be viewed as temporary until a better solution can be sorted out.
The amdgpu.freesync_video option remains off-by-default as expected while now there is some documentation offering some reasoning: "This option shall be opt-in by default since it is a temporary solution until long term solution is agreed upon which may require userspace interface changes. This feature give the user a seamless experience when freesync aware programs (media players for instance) switches to a compatible freesync mode when playing videos. Enabling this feature also have the potential side effect of causing higher power consumption due to running a mode with lower resolution and base clock frequency with the highest base clock supported on the monitor as per its advertised modes. There has been precedent of manufacturing modes in the kernel. In AMDGPU, the existing usage are for common modes and scaling modes. Other driver have a similar approach as well."
The latest AMDGPU FreeSync video patches for those interested via the amd-gfx mailing list.