No announcement yet.

Help me understand why freesync and vrr is not working.

  • Filter
  • Time
  • Show
Clear All
new posts

  • Help me understand why freesync and vrr is not working.

    I was playing with retroarch and there is an option to activate freesync / vrr.
    Never try it on linux, so i try to enable it and see if it was working, and no, it isn't.

    In term of setup i have a ryzen 3700x, 6900 xt gpu. I have two monitor, a 24' LCD that support freesync, and a LG Oled 48 CX that also supports freesync. The LCD is connected with displayport and the lg with hdmi 2.1 cable. I run Manjaro testing with 5.13 kernel and kde 5.22.
    So if i refer to the dock, it seems :
    - Freesync is suppose to work as both my gpu and monitors are compatible
    - hdmi 2.1 freesync / vrr is possible since kernel 5.13.
    - Kde is suppose to support freesync / vrr in both x11 and wayland in kde 5.22

    So everything should be in place for this to work, and it isn't.
    In retroarch it is not working, try gl and vulkan. In my LG cx there is a command to show an osd with actual screen res and refresh. Also i install the vrrtest program, i try to run it.
    vrrtest show garbage as soon as the fps drop, strangely vsync is said to be "off", and it say to press s to enable it, which is not doing anything, it stay on false if i press s. I try to find a way for force vsync on x11, it didn't seems to exist, even if it suppose to be enable by kwin with "refresh full screen" option.
    Needless to say i try with x11 and wayland, with dual monitor or one by one (as it seems freesync can only work with one monitor, but it is not working either).

    Also got a custom config in /etc/X11/xorg.conf.d
    with this :
    Section "Device"
    Identifier "AMD"
    Driver "amdgpu"
    Option "TearFree" "true"
    Option "VariableRefresh" "true"

    This command show freesync is enable in the driver :
    grep VariableRefresh /var/log/Xorg.0.log
    [ 2428.803] (**) AMDGPU(0): Option "VariableRefresh" "true"
    [ 2428.831] (**) AMDGPU(0): VariableRefresh: enabled

    The problem seems to come from a wrong edid i guess, because
    DISPLAY=:0 xrandr --prop
    vrr_capable: 0
    range: (0, 1)
    For both monitor. This is where i don't understand, why these two monitor are not recognizz as freesync sapable ? I guess i need to make a custom edid with the vrr_capable option force to 1 ?

  • #2
    HDMI 2.1 VRR is not possible currently due to restrictions from the HDMI consortium.


    • #3
      It's not working either with displayport in my 24 LCD...


      • #4
        In X at least, it won't work with multiple displays.


        • #5
          Well as i said i tried all the possibility, including only the LCD connected with displayport, it's not working more. But i guess it's ok, my 6900 xt is power full enough to lock at 120 fps old games i am playing under linux. But it's obvious this freesync thing is really random under linux yet, hope it will get better.