From 0c49b5547ddc482d7d887295853d217329b5dda9 Mon Sep 17 00:00:00 2001 From: ediblerope Date: Mon, 11 May 2026 09:58:29 +0100 Subject: [PATCH] hyprland: cut input latency and speed up animations Enables VRR for fullscreen, disables compositor VFR, and gates tearing behind allow_tearing + immediate windowrules for Steam and gamescope. Animations drop to 0.2s via a snappier bezier. Co-Authored-By: Claude Opus 4.7 --- settings/hyprland.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/settings/hyprland.nix b/settings/hyprland.nix index 6f5a3f3..2de1829 100644 --- a/settings/hyprland.nix +++ b/settings/hyprland.nix @@ -82,6 +82,7 @@ border_size = 2; layout = "dwindle"; resize_on_border = true; + allow_tearing = true; }; decoration = { @@ -93,6 +94,21 @@ }; }; + animations = { + enabled = true; + # speed = tenths of a second; 2 = 0.2s. Drop to 1 for instant-ish. + bezier = [ + "snap, 0.05, 0.9, 0.1, 1.0" + ]; + animation = [ + "windows, 1, 2, snap" + "windowsOut, 1, 2, snap, popin 80%" + "border, 1, 3, default" + "fade, 1, 2, default" + "workspaces, 1, 2, snap" + ]; + }; + input = { kb_layout = "gb,no"; kb_options = "grp:alt_shift_toggle"; @@ -112,8 +128,17 @@ disable_hyprland_logo = true; disable_splash_rendering = true; focus_on_activate = true; + vrr = 1; # 1 = on for fullscreen, 2 = always + vfr = false; # keep compositor ticking, don't idle between frames }; + # Let tearing-tolerant fullscreen apps bypass vsync. allow_tearing + # above is the global gate; these rules opt specific apps in. + windowrulev2 = [ + "immediate, class:^(steam_app_.*)$" + "immediate, class:^(gamescope)$" + ]; + # Hyprspace overview plugin — see README for full option set plugin.overview = { centerAligned = true;