[Linux/Wayland] Intermittent black frames on display with VRR enabled - RTX 4090 - Driver 595.71.05

System Configuration:

  • GPU: NVIDIA GeForce RTX 4090
  • Driver: 595.71.05 (akmod-nvidia, Fedora 44)
  • CPU: AMD Ryzen 7 9800X3D
  • Motherboard: ASUS ROG STRIX B650E-F GAMING WIFI
  • RAM: 64GB
  • OS: Fedora Linux 44 (Workstation Edition)
  • Kernel: 6.19.14-300.fc44.x86_64
  • Desktop: GNOME 50 on Wayland
  • Display: ASUS ROG Swift PG27UCDM (4K 240Hz OLED)
  • Connection: DisplayPort
  • VRR range: 48-240Hz

Issue Description:
When VRR is enabled in GNOME display settings, intermittent black
frames appear on the physical display while playing games (tested
with Total War: WARHAMMER III via Proton Experimental on Steam).

The black frames occur:

  • During GPU-intensive moments (AI processing turns)
  • Consistently when moving the mouse during certain in-game states
  • Pressing Print Screen temporarily resolves the issue

Key diagnostic finding:
Screen recording during the issue (via Steam overlay) shows completely
clean footage with no black frames — the rendered output is correct.
The issue is isolated to the physical display output pipeline, not the
rendering pipeline itself.

Reproduction steps:

  1. Enable VRR in GNOME display settings
  2. Launch a GPU-intensive game fullscreen via Proton on Steam
  3. During heavy GPU load moments, intermittent black frames appear
    on the physical display
  4. Screen recording simultaneously shows no black frames

Workarounds confirmed:

  • Disabling VRR globally in GNOME display settings eliminates the issue
  • Running the game through Gamescope without --adaptive-sync also
    eliminates the issue

This suggests the bug is in NVIDIA’s VRR/adaptive sync display output
path on Wayland rather than in the rendering pipeline itself.

Note: Disabling VRR in GNOME display settings completely eliminates
the issue, confirming it is specific to the VRR/adaptive sync display
path. Driver version where this was introduced is unknown.

Launch options used: PROTON_ENABLE_WAYLAND=1 MANGOHUD=1 %command%