-The Problem-
While in-game with Adaptive Sync active (more specifically during fps drops, long stuttering periods or simple loading screens) the screen goes blank for a second or so. Then immediately recovers and Adaptive Sync keeps working fine.
I can reproduce this consistently with some games just by pausing and unpausing (or opening and closing menu windows) very quickly causing stutters.
-More info-
This used to happen on Windows with a lot of Freesync monitors a while ago but not anymore.
This might be because the Windows drivers now do frame multiplying even if the fps of the game haven’t dropped below the monitor’s minimum VRR range value yet.
Using my monitor’s OSD, I can see that the Windows drivers do this much more aggressively than the Linux blob. The Linux drivers, in fact, multiplies the frames sent to my monitor only if the fps drop below my monitor’s minimum VRR range value (doing what AMD calls “low frame rate compensation” or “LFC”).
-Workarounds-
I could mitigate this problem greatly by using a custom EDID and changing my minimum VRR range value to something higher.
This causes LFC to kick in at higher refresh rate values so that frames get multiplied and sent to my monitor much earlier preventing my refresh rate from dropping down to those lowish values that make my screen go blank.
I don’t know if the Windows drivers have some specific optimizations for certain monitors that the Linux blob lacks (or simply aren’t as buggy regarding Adaptive Sync) but what I know for sure is that (at least regarding my own monitor) this problem is currently only present on Linux while Windows, testing the same games/test applications, works fine.
-How to reproduce-
Cross platform software recommended:
-Speculations-
The fact that LFC is not working properly (see https://devtalk.nvidia.com/default/topic/1059120/linux/low-frame-rate-compensation-with-adaptive-sync-fails-to-prevent-tearing-on-linux-works-fine-on-windows-10-/ ) could also contribute to this screen blanking bug.
-Hardware-
Monitor: Alienware AW2518HF (VRR range: 48-240 Hz, non validated).
GPU: GTX 1070ti
-Software-
Distros tested: Ubuntu 19.04 (fresh install), Kubuntu 18.04
Tested driver versions: 430.40, 430.26 and 418.56
Window managers tested: Mutter, Kwin (no composition), Openbox
nvidia-bug-report.log.gz (1.15 MB)