<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [amdgpu] VRR/Freesync below the range (LFC) flickering (5700 XT)"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=111506">111506</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[amdgpu] VRR/Freesync below the range (LFC) flickering (5700 XT)
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DRI
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>DRI git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86-64 (AMD64)
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>not set
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>not set
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>DRM/AMDgpu
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>dri-devel@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>asheldon55@gmail.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>I'm getting heavy flickering when dropping below the minimum refresh rate
(default of 40-92, but I also tested 35-92) with Freesync enabled.

It seems to be LFC related as the higher the minimum, the earlier the
flickering kicks in (so it's not a case of the monitor not being able to handle
it at the low end).

I can workaround the problem by changing block of code in freesync.c:

if (in_out_vrr->max_refresh_in_uhz <
            (2 * in_out_vrr->min_refresh_in_uhz))
                in_out_vrr->btr.btr_enabled = false;

with:

if (in_out_vrr->max_refresh_in_uhz <
            (3 * in_out_vrr->min_refresh_in_uhz))
                in_out_vrr->btr.btr_enabled = false;

effectively forcing LFC to only kick in at ~30fps or lower. 

It's possibly a regression as I don't remember the issue occurring with Vega or
Polaris and 5.2 kernel. It's also possible that it's the monitor itself at
fault, and maybe LFC wasn't kicking in properly in older kernels/hardware,
effectively hiding the problem. I will try to get around to testing with Vega
and an older kernel in the future.


System:
MSI 5700 XT
amd-staging-drm-next
Mesa git</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>