Menü schliessen
Created: July 13th 2025
Categories: Hardware and Gadgets,  Linux
Author: Milos Jevtic

Fixing AMD GPU Multi-Monitor Refresh Rate Issues on Linux Using amdgpu and xorg.conf

Donation Section: Background
Monero Badge: QR-Code
Monero Badge: Logo Icon Donate with Monero Badge: Logo Text
82uymVXLkvVbB4c4JpTd1tYm1yj1cKPKR2wqmw3XF8YXKTmY7JrTriP4pVwp2EJYBnCFdXhLq4zfFA6ic7VAWCFX5wfQbCC

Introduction: The Refresh Rate Problem on AMD GPUs

In multi-monitor setups using AMD GPUs on Linux, users often encounter a frustrating performance issue: when connecting monitors with different refresh rates, all displays default to the lowest refresh rate. For example, pairing a 144Hz monitor with a 60Hz secondary screen can cause the high-refresh monitor to be capped at 60Hz. This not only degrades user experience but also negates the benefits of high-refresh hardware. Fortunately, with the correct use of the amdgpu driver and specific xorg.conf options, this issue can be resolved or significantly mitigated.

Understanding the Technical Root Cause

Under the X11 display server, AMD’s driver (amdgpu) has historically synchronized buffer flips across displays. When one monitor is running at 60Hz and another at 144Hz, the driver's default behavior forces both outputs to sync at the lower common denominator to avoid tearing, especially in mirrored or cloned display configurations. While this behavior may be technically safe, it sacrifices performance.

Solution: Forcing Asynchronous Buffer Flipping & Variable Refresh

To overcome this limitation, AMD’s open-source amdgpu driver supports certain options in the xorg.conf configuration file. These include enabling asynchronous page flips and variable refresh rate (VRR). Together, these settings allow each monitor to operate at its native refresh rate.

Step-by-Step Guide: Creating xorg.conf for AMDGPU

Create a new Xorg configuration file:

sudo nano /etc/X11/xorg.conf.d/20-amdgpu.conf

Insert the following configuration:

Section "Device"
    Identifier  "AMD"
    Driver      "amdgpu"
    Option      "AsyncFlipSecondaries" "True"
    Option      "VariableRefresh" "true"
EndSection

Save the file and reboot your system.

That’s it — with this setup, your high refresh rate monitor should no longer be held back. This is especially beneficial for Linux gamers using a 144Hz primary display alongside a 60Hz secondary monitor for applications like Discord, Twitch, or system monitoring.