Announcement

Collapse
No announcement yet.

About VariableRefresh

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • About VariableRefresh

    I got my new 4K display port monitor and the latest AMD wip kernel and latest Oibaf ppa Mesa recognised VariableRefresh:

    Code:
    xrandr --prop
    vrr_capable: 1 
            range: (0, 1)
    You need to enable it in:
    Code:
    cat /usr/share/X11/xorg.conf.d/10-amdgpu.conf 
    Section "OutputClass"
        Identifier "AMDgpu"
        MatchDriver "amdgpu"
        Driver "amdgpu"
    EndSection
    
    Section "Device"
             Identifier "AMDgpu"
             Driver "amdgpu"
             Option "VariableRefresh" "on"
    EndSection
    HDMI is not supported yet.

    Here is the list of supported games with freesync, is it valid with the future mainline kernel implementation?
    https://www.amd.com/en/support/kb/fa...g-AMD-FreeSync

    How to check if the Rocket League game uses VariableRefresh? I got 60-70 fps at 4K with default high graphics settings. I played against AI and at beginning of every match there is square flashing rendering. Playing the match works fine.

    Code:
    [email protected]:~$ inxi -bM
    System:
      Host: ryzenpc Kernel: 4.20.0-rc3+ x86_64 bits: 64 Desktop: Xfce 4.12.4 
      Distro: Debian GNU/Linux buster/sid 
    Machine:
      Type: Desktop Mobo: ASUSTeK model: PRIME B350M-K v: Rev X.0x 
      serial: <root required> UEFI: American Megatrends v: 4023 date: 08/20/2018 
    CPU:
      6-Core: AMD Ryzen 5 1600 type: MT MCP speed: 2797 MHz 
    Graphics:
      Device-1: AMD Ellesmere [Radeon RX 470/480] driver: amdgpu v: kernel 
      Display: x11 server: X.Org 1.20.3 driver: amdgpu 
      resolution: 3840x2160~60Hz 
      OpenGL: renderer: Radeon RX 570 Series (POLARIS10 DRM 3.27.0 4.20.0-rc3+ 
      LLVM 7.0.1) 
      v: 4.5 Mesa 19.0.0-devel (git-37a2072 2018-12-01 bionic-oibaf-ppa)

  • #2
    Originally posted by debianxfce View Post

    Here is the list of supported games with freesync, is it valid with the future mainline kernel implementation?
    https://www.amd.com/en/support/kb/fa...g-AMD-FreeSync
    That is valid HOW-IT-GOES for AMDGPU-PRO, not for Mesa

    How to check if the Rocket League game uses VariableRefresh?
    You have eyes or other human senses, so you could feel it Or just watch the framerate When it goes bellow your default vblank interval, interesting thing might happen

    That further depends of range of your monitor, how low it could go without tearing.

    If you monitor is 60Hz and FreeSync on your monitor model goes as low as 40 let say, that would mean how in that range (from 60 to 40 fps) you shouldn't see tearing

    If FreeSync does not work, then once frame rate goes bellow 60, it would likely go straight to 30... so that is just vblank working

    I got 60-70 fps at 4K with default high graphics settings.
    If you are playing games unsynced then why you are asking about FreeSync?
    Last edited by dungeon; 12-04-2018, 05:38 PM.

    Comment


    • #3
      Originally posted by dungeon View Post
      That is valid HOW-IT-GOES for AMDGPU-PRO, not for Mesa
      I feel that vrr is always on when
      Option "VariableRefresh" "on" is defined, see https://patchwork.kernel.org/cover/10674411/

      So all user space software uses vrr and I use free synced Xfce desktop probably now.

      Comment


      • #4
        Originally posted by debianxfce View Post

        I feel that vrr is always on when
        Option "VariableRefresh" "on" is defined, see https://patchwork.kernel.org/cover/10674411/

        So all user space software uses vrr and I use free synced Xfce desktop probably now.
        no, you won't have freesync until you patch Mesa and build latest xf86-video-amdgpu. Only the 4.21-drm-next kernel won't suffice.

        Comment


        • #5
          Originally posted by clapbr View Post

          no, you won't have freesync until you patch Mesa and build latest xf86-video-amdgpu. Only the 4.21-drm-next kernel won't suffice.
          The Oibaf ppa bionic version has those Mesa patches. For Debian sid, you must make the xf86-video-amdgpu package again, because ubuntu uses old xorg ABI. Download and unzip source code, have all needed developer packages and use the command: fakeroot debian/rules binary

          https://launchpad.net/~oibaf/+archiv...vers/+packages

          You have in /var/log/Xorg.0.log:

          Code:
          [     4.000] (**) AMDGPU(0): VariableRefresh: enabled
          Last edited by debianxfce; 12-05-2018, 06:01 AM.

          Comment


          • #6
            Originally posted by debianxfce View Post

            The Oibaf ppa bionic version has those Mesa patches. For Debian sid, you must make the xf86-video-amdgpu package again, because ubuntu uses old xorg ABI. Download and unzip source code, have all needed developer packages and use the command: fakeroot debian/rules binary

            https://launchpad.net/~oibaf/+archiv...vers/+packages

            You have in /var/log/Xorg.0.log:

            Code:
            [ 4.000] (**) AMDGPU(0): VariableRefresh: enabled
            If you have all patches , you should have a skeleton .drirc somewhere with the blacklists for stuff that might be break. For now they recommend not using it with browsers/compositors/video players and it will only activate if you are: fullscreen, using DRI3+present, and able to page flip for that window.

            I already tested it built from source a month ago. https://gitlab.freedesktop.org/kazla...mdgpu/issues/1 - might interest you

            edit: you can test it with unigine benchs, I confirmed it working through my monitor's OSD, but not all monitors show that
            Last edited by clapbr; 12-05-2018, 10:50 AM.

            Comment


            • #7
              Originally posted by debianxfce View Post

              I feel that vrr is always on when
              Option "VariableRefresh" "on" is defined, see https://patchwork.kernel.org/cover/10674411/

              So all user space software uses vrr and I use free synced Xfce desktop probably now.
              Maybe it is, maybe it isn't You didn't said exactly what monitor is in question, but i guess it is on this list - there are like 554 models currently listed there, 58 of which are 4k, etc... and they all differ by various factors that might matter

              https://www.amd.com/en/products/freesync-monitors

              As you said "I got 60-70 fps at 4K with default high graphics settings." i still dunno what you are doing, does you 4K monitor goes above 60 Hz?
              Last edited by dungeon; 12-05-2018, 11:36 AM.

              Comment


              • #8
                the xorg option enabled msg only tells you its enabled, not that its working. if you want to be sure boot with drm.debug=0x04 and look for msg like this: [ 2527.551130] [drm:update_freesync_state_on_stream.isra.32 [amdgpu]] VRR packet update: crtc=44 enabled=1 state=3 [ 2527.551251] [drm:update_freesync_state_on_stream.isra.32 [amdgpu]] VRR timing update: crtc=44 min=1089 max=1865

                Comment


                • #9
                  Originally posted by clapbr View Post
                  the xorg option enabled msg only tells you its enabled, not that its working. if you want to be sure boot with drm.debug=0x04 and look for msg like this: [ 2527.551130] [drm:update_freesync_state_on_stream.isra.32 [amdgpu]] VRR packet update: crtc=44 enabled=1 state=3 [ 2527.551251] [drm:update_freesync_state_on_stream.isra.32 [amdgpu]] VRR timing update: crtc=44 min=1089 max=1865
                  I have:
                  Code:
                  [email protected]:~$ dmesg | grep freesync
                  [  112.501540] [drm:update_freesync_state_on_stream.isra.40 [amdgpu]] VRR packet update: crtc=46 enabled=0 state=2
                  [  112.501566] [drm:update_freesync_state_on_stream.isra.40 [amdgpu]] VRR timing update: crtc=46 min=2222 max=2222
                  So it is not enabled. Tested with Rocket League. I checked patches from your link and Mesa has only util changes that are not in Mesa git mainline, but xf86-video-amdgpu and the AMD wip kernel have all patches.
                  Last edited by debianxfce; 12-06-2018, 03:37 PM.

                  Comment


                  • #10
                    Originally posted by debianxfce View Post

                    The Oibaf ppa bionic version has those Mesa patches.[/CODE]
                    I had not logged in Ubuntu for a while (my daily driver is manjaro) but I tried oibafs bionic package today and as I thought it doesn't have all the freesync patches, only the already upstreamed xf86-video-amdgpu patch. This is the mesa patchwork https://patchwork.freedesktop.org/series/51388/

                    edit: something not said anywhere is that this patch https://patchwork.freedesktop.org/patch/257939/ is useful to fix chromium with vaapi on radeonsi. Mesa doesn't properly apply .drirc settings to some processes at this moment (chromium and some rare wine games) but with that patch it does. The workaround I need is setting allow_rgb10_configs=false to chromium to fix scrambled colors in h264 gpu-accelerated videos. Have been using that patch in my personal build for around a month.
                    Last edited by clapbr; 12-07-2018, 10:06 PM.

                    Comment

                    Working...
                    X