FreeSync

Introduction

FreeSync, also known as Variable Refresh Rate (VRR) is a technology that prevents the tearing of images on screen.

The refresh rate from the monitor is adjusted to the framerate of the GPU, thus, no performance is lost as e.g. with V-Sync or triple buffering.

FreeSync Requirements

How to enable FreeSync

You create the file /usr/local/etc/X11/xorg.conf.d/amdgpu.conf and do write the following:

If you do like to use the modesetting driver by xorg-server instead by xf86-video-amdgpu use modesetting in Driver instead.

Section "Device"

Identifier "Card0"

Driver "amdgpu"

Option "VariableRefresh" "true"

EndSection

Verifying FreeSync is Enabled

Run xrandr --prop provided by x11/xrandr

This will list you all connections with all its capabilities and vrr_capable: 1 should then appear at the connection that you want to use.

Example:

DisplayPort-1 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 697mm x 392mm
        EDID:
                00ffffffffffff004c2dde0f35305630
                271d0104a54627783b4935ad5146a927
                0f5054bfef80714f810081c081809500
                a9c0b300010122e50050a0a067500820
                f80cb9882100001a000000fd003090e1
                e13b010a202020202020000000fc0043
                33324a4735780a2020202020000000ff
                0048544f4d3930303530360a20200141
                020313f146901f041303122309070783
                010000565e00a0a0a0295030203500b9
                882100001a023a801871382d40582c45
                00b9882100001e5aa000a0a0a0465030
                203500b9882100001a6fc200a0a0a055
                5030203500b9882100001a0000000000
                00000000000000000000000000000000
                000000000000000000000000000000af
        GAMMA_LUT_SIZE: 4096
                range: (0, -1)
        DEGAMMA_LUT_SIZE: 4096
                range: (0, -1)
        GAMMA_LUT: 0
                range: (0, 65535)
        CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
                0 1
        DEGAMMA_LUT: 0
                range: (0, 65535)
        TearFree: auto
                supported: off, on, auto
        subconnector: Native
                supported: Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native
        vrr_capable: 1
                range: (0, 1)
        max bpc: 8
                range: (8, 16)
        underscan vborder: 0
                range: (0, 128)
        underscan hborder: 0
                range: (0, 128)
        underscan: off
                supported: off, on, auto
        scaling mode: None
                supported: None, Full, Center, Full aspect
        link-status: Good
                supported: Good, Bad
        CONNECTOR_ID: 76
                supported: 76
        non-desktop: 0
                range: (0, 1)
   2560x1440    144.00*+ 120.00    99.95    59.95
   1920x1200    144.00
   1920x1080     60.00    50.00    59.94
   1600x1200    144.00
   1680x1050     59.95
   1600x900      60.00
   1280x1024     75.02    60.02
   1440x900      59.89
   1280x800      59.81
   1152x864      75.00
   1280x720      60.00    50.00    59.94
   1024x768      75.03    70.07    60.00
   832x624       74.55
   800x600       72.19    75.00    60.32    56.25
   720x576       50.00
   720x480       60.00    59.94
   640x480       75.00    72.81    66.67    60.00    59.94
   720x400       70.08

Checking FreeSync Works

Try playing games where you know tearing can occur, or check your monitor's OSD to see if the refresh rate changes (if the monitor provides it).

Example from an Alienware OSD:

AlienWare OSD FreeSync Check.png

Issues, Limitations & Notes


CategoryHowTo

AlexanderVereeken/FreeSync (last edited 2023-04-30T23:37:57+0000 by AlexanderVereeken)