-->

How do I configure Variable Refresh Rate (VRR) and exact monitor refresh rate matching for RetroArch on Linux?

Linux Variable Refresh Rate (VRR) on 2.8k Display

 

Arcade boards were designed to output directly to specific CRT monitors, meaning almost every arcade system ran at a unique, non-standard refresh rate rather than a clean 60.00 Hz:

  • Neo Geo (MVS): 59.18 Hz

  • Capcom CPS1 / CPS2 / CPS3: 59.63 Hz

  • Midway Hardware (Mortal Kombat, NBA Jam): 53.69 Hz – 54.71 Hz

  • Pac-Man / Namco System 1: 60.61 Hz

Without Variable Refresh Rate (VRR), playing these games on a fixed 60Hz monitor forces RetroArch to either pitch-shift audio to keep up or drop/duplicate frames every few seconds, causing subtle micro-stutter. Enabling VRR allows your display to dynamically adjust its refresh rate in real time to match the exact hardware clock of each arcade board.

Step 1: Enable VRR on Your Linux Display Server

Before configuring RetroArch, VRR must be active in your Linux desktop environment or window manager.

Wayland (Recommended for low latency)

Desktop Environment / WMConfiguration Method
KDE Plasma (Wayland)Open System Settings $\rightarrow$ Display & Monitor $\rightarrow$ Display Configuration $\rightarrow$ Set Adaptive Sync to Always or Automatic.
GNOME (Wayland)Open Settings $\rightarrow$ Displays $\rightarrow$ Toggle Variable Refresh Rate to ON.
HyprlandIn hyprland.conf, add misc { vrr = 1 } (1 enables VRR continuously, 2 enables it only in fullscreen).
SwayIn ~/.config/sway/config, add output * adaptive_sync on.
X11
  • AMD Graphics: Ensure your Xorg configuration (/etc/X11/xorg.conf.d/20-amdgpu.conf) includes Option "VariableRefresh" "true".

  • NVIDIA Graphics: Open nvidia-settings $\rightarrow$ X Server Display Configuration $\rightarrow$ Advanced $\rightarrow$ Check Allow G-SYNC/G-SYNC Compatible.

Step 2: Configure RetroArch for Exact Frame Sync

1.Enable 'Sync to Exact Content Framerate':Forces display refresh rate to match arcade core rate.

  1. Launch RetroArch.

  2. Go to Settings $\rightarrow$ Video $\rightarrow$ Synchronization.

  3. Toggle Sync to Exact Content Framerate (G-Sync, FreeSync) to ON.

When enabled, RetroArch commands your display server to lock the monitor's hardware refresh rate directly to the active core's frame rate (e.g., locking your monitor to 53.69 Hz while playing Mortal Kombat).

2.Configure VSync Settings:Acts as a frame cap within the VRR window.

  1. In Settings $\rightarrow$ Video $\rightarrow$ Synchronization, ensure VSync is set to ON.

  2. Set VSync Swap Interval to 1.

Note: When VRR is active, turning VSync ON in RetroArch does not introduce classic VSync input lag; instead, it prevents frame tearing if the frame rate briefly spikes above your monitor's maximum refresh rate.

3.Verify Audio Synchronization:Prevents audio crackle during non-60Hz playback.

  1. Go to Settings $\rightarrow$ Audio $\rightarrow$ Synchronization.

  2. Ensure Audio Sync is ON.

  3. Ensure Maximum Timing Skew is set to 0.05 (default).

Because VRR handles the visual pacing, RetroArch no longer needs to stretch audio samples to match a forced 60Hz output.

4.Set Fullscreen Mode:

VRR requires exclusive fullscreen presentation on most Linux display managers to prevent desktop compositor intervention:

  1. Go to Settings $\rightarrow$ Video $\rightarrow$ Fullscreen Mode.

  2. Turn Start in Fullscreen Mode to ON.

  3. Turn Use Windowed Fullscreen Mode to OFF (Exclusive Fullscreen provides the lowest input latency and most reliable VRR handoff).

Step 3: Verifying VRR is Working

To confirm that exact refresh rate matching is functioning correctly:

  1. Launch an arcade title with a distinct frame rate (e.g., Mortal Kombat on FBNeo at 54.71 Hz).

  2. Open your physical monitor’s Hardware OSD Menu using the buttons on your monitor.

  3. Check the monitor's live refresh rate readout. If VRR is working, the monitor will display ~54 Hz or ~55 Hz rather than your desktop's native 144Hz, 165Hz, or 240Hz.

Share on Google Plus

About Giampaolo Rossi.

Fond of computer and video games. Stay informed of the latest news on games for Linux and Android. The future of gaming is in Linux. All you need to know about How to play Windows games on Linux.
    Blogger Comment
    Facebook Comment

0 commenti:

Post a Comment

Random Posts