There are issues with DRM 6.1 regarding functionality of FreeSync, see PR 277558

This article currently only covers the traditional way while its also possible to use HDMI or other vendors instead of AMD for example.

If you are have such an working setup then it would be nice if this article could be extended.


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

The refresh rate of the monitor is adapted to the frame rate produced by the GPU so that no screen tearing occurs.

The big advantage is that there are no delays as with VSync, for example. In addition, games that have a very poor or unstable frame rate (to a certain degree) can still look smooth.


How to enable FreeSync

Create the file /usr/local/etc/X11/xorg.conf.d/amdgpu.conf and write the following to it:

If you want to use the modesetting driver by xorg-server instead of xf86-video-amdgpu, use modesetting in Driver instead.

Section "Device"

Identifier "Card0"

Driver "amdgpu"

Option "VariableRefresh" "true"


Verifying that FreeSync is Enabled

Run xrandr --prop provided by x11/xrandr

This lists all connections with all their capabilities and vrr_capable should be set to 1 for the connection you want to use. If it is set to 0 then FreeSync is not enabled on your monitor.


DisplayPort-1 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 697mm x 392mm
        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 if 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

Disabling the Compositor

For technologies such as FreeSync to work properly, the games must address the GPU directly, i.e. the image shouldn't go through a compositor first. (Known as fullscreen window unredirect.)

But also in general it is important that the compositor is off when you play something, as this affects the performance and delay somewhat.

The following lists are incomplete.

List of environments/window managers that allow to or automatically turn off the compositor when an application is in full screen mode:

¹ Works only partially or not at all.

List of environments/window managers that dont use a compositor by default:

Screen Flickering

If you have a game where the frame rates jump back and forth too often in large intervals and also between the FreeSync ranges, the image can flicker.

The intensity of that flickering depends on the model. With some models it can even happen that frame drops occur, so it is advisable to solve this directly.

To solve this: Limit the frame rate to your refresh rate, if the game has no framelimiter then enable Vsync. If the game is unstable inside the FreeSync range then try to enable some functions such as triple buffering or frame smoothing.

If nothing helps, the game must be run in windowed mode so that it FreeSync gets not used.



AlexanderVereeken/FreeSync (last edited 2024-03-28T07:26:02+0000 by AlexanderVereeken)