From ArchWiki
Revision as of 14:26, 9 August 2019 by Cknight70 (talk | contribs)
Jump to navigation Jump to search

Cknight70's Page

Information about Cknight70
Arch Linux User Since January 2018
Desktop Environment KDE
Computers with Linux Three

Testing Page

Everything below here is in construction

Note: This is under construction and I have no idea what I'm doing!

Variable Refresh Rate

Variable Refresh Rate (VRR) also reffered to as Adaptive Sync allows the monitor to adjust its refresh rate to the output signal. This allows for games to eliminate screen tearing with less of the usual downsides of Vsync (such as stuttering).


There are multiple implementations of VRR:

  • FreeSync is AMD's implementation of VESA's VRR standard, and the phrases are often used interchangeably. FreeSync branded monitors should be compatible with all VESA compatible drivers.
  • Gsync is NVIDIA's proprietary hardware and software implementation of VRR.
  • Intel plans on implementing VESA's standard in their upcoming 10th Gen. [1]

VRR compatibility and implimentations

Driver VESA Gsync
AMDGPU FreeSync No
Intel Planned No
Nouveau Not Supported Not Supported
NVIDIA Gsync Compatible Gsync


Enable on AMDGPU

Using a Xorg conf file

Add the line to your .conf file.

Option "VariableRefresh" "true"

For more information on Xorg configuration see the AMDGPU page.

Verify vrr_capable is set to 1 using xrandr:

$ xrandr --props
vrr_capable: 1
        range: (0, 1)

Enable on NVIDIA

Using a Xorg conf file

Note: This section needs info.

Via nvidia-settings

  • In nvidia-settings go to the "X Server Display Configuration" page, then under the Advanced button is the option to "Allow G-SYNC on monitor not validated as G-SYNC Compatible". Then click apply.
  • Now, under OpenGL settings, check "Allow Gsync/Gsync Compatible."

Change Freesync Range of Monitor

Freesync monitors usually have a limited range for VRR that are much lower than their max refresh rate. It should be possible to overclock the monitor to change the Freesync range.

Warning: Overclocking your monitor may cause it to run hot and possibly cause harm. Proceed at your own risk.

Editing the EDID File

External Display Identification Data (EDID) stores driver information about your monitor. By default, this file is sent by your monitor and read on connect. You will need to extract this file using something like read-edid or nvidia-settings.

You can edit this file with wxedidAUR

Note: This section needs verification from users with a freesync monitor please consider contributing.

You may follow one of the guides of people changing the freesync range on Windows: [2][3]

Process of overclocking on Linux: [4]

Make a Xorg .conf file for your monitor and add a path to the custom EDID file you have edited. See xrandr to find find out the other information about your monitor.

Section "Screen"
    Identifier "Screen0"
    Device "nvidia" # e.g. Radeon, nvidia
    Monitor "DP1"
    Option “CustomEDID” “MONITOR:/home/USER/Desktop/modified-edid.bin”
Note: Edit “MONITOR” in the fileto be the correct display ID. You can get the display ID with the xrandr –query command.

Tips and Tricks

Remove applications from Blacklist

Mesa has a list of blacklisted applications to avoid unexpected behavior, you can edit this blacklist here:



Note: This information needs to be further verified if you have a VRR monitor please consider contributing
  • The monitor must be plugged in via display port. HDMI is not supported and thunderbolt is not guaranteed to work.
  • Only one monitor may be used at a time with Gsync and possibly Freesync.
  • Some compositors may need to be disabled before the OpenGl/Vulkan program is started.
  • Mesa blacklists many applications including video players.
  • Although tearing is much less of an issue at higher refresh rates, most Freesync monitors only have a range up to 90Hz see Change Freesync range of Monitor