hyprland: clean up frame pacing for smoother cursor

allow_tearing was causing visible tearing during window drags, and
misc.vrr=2 was set but never actually engaging — the G34WQCP doesn't
advertise FreeSync on the 190 Hz OC mode. Both were feeding Hyprland's
pacing logic bad signals.

Drops allow_tearing + the matching immediate windowrules, sets vrr=0
explicitly, and pins cursor.no_hardware_cursors=0 to make sure the HW
cursor plane is in use.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
ediblerope 2026-05-11 10:18:49 +01:00
parent ddcc76efeb
commit 5802e0dbef

View file

@ -80,7 +80,6 @@
border_size = 2; border_size = 2;
layout = "dwindle"; layout = "dwindle";
resize_on_border = true; resize_on_border = true;
allow_tearing = true;
}; };
decoration = { decoration = {
@ -131,16 +130,17 @@
disable_hyprland_logo = true; disable_hyprland_logo = true;
disable_splash_rendering = true; disable_splash_rendering = true;
focus_on_activate = true; focus_on_activate = true;
vrr = 2; # 1 = on for fullscreen, 2 = always # VRR off — the OC'd 190 Hz mode on the G34WQCP doesn't advertise
# FreeSync, so vrr=2 was set but never actually engaged. Leaving
# it set caused pacing weirdness; explicitly off keeps things
# honest.
vrr = 0;
vfr = false; # keep compositor ticking, don't idle between frames vfr = false; # keep compositor ticking, don't idle between frames
}; };
# Let tearing-tolerant fullscreen apps bypass vsync. allow_tearing cursor = {
# above is the global gate; these rules opt specific apps in. no_hardware_cursors = 0; # force HW cursor plane (AMD)
windowrulev2 = [ };
"immediate, class:^(steam_app_.*)$"
"immediate, class:^(gamescope)$"
];
# Mirror the GNOME bindings so muscle memory carries over # Mirror the GNOME bindings so muscle memory carries over
bind = [ bind = [