hyprland: drop hyprspace, cut compositor latency
Removes the Hyprspace plugin entirely — blank-window snapshots from the 0.52.0/0.52.1 ABI skew aren't worth the patch-pin work right now. With the overview gone, also rebalances the desktop for input latency: - decoration.blur disabled (two passes at 3440x1440 were the biggest per-frame GPU cost) - render.direct_scanout = true so fullscreen apps bypass the compositor - misc.vrr = 2 (always on) instead of fullscreen-only Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
64a3051b82
commit
ddcc76efeb
1 changed files with 9 additions and 24 deletions
|
|
@ -57,12 +57,6 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd.variables = [ "--all" ];
|
systemd.variables = [ "--all" ];
|
||||||
|
|
||||||
# Native `plugin = ...` directive crashes Hyprland on the current
|
|
||||||
# nixpkgs combo (compositor 0.52.1 vs plugin built for 0.52.0).
|
|
||||||
# HM's plugins list routes through `hyprctl plugin load` at runtime,
|
|
||||||
# which tolerates the patch-level skew.
|
|
||||||
plugins = [ pkgs.hyprlandPlugins.hyprspace ];
|
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
# Pin the OC'd 190 Hz mode so we don't fall back to 60.
|
# Pin the OC'd 190 Hz mode so we don't fall back to 60.
|
||||||
monitor = "DP-2,3440x1440@190,0x0,1";
|
monitor = "DP-2,3440x1440@190,0x0,1";
|
||||||
|
|
@ -91,13 +85,18 @@
|
||||||
|
|
||||||
decoration = {
|
decoration = {
|
||||||
rounding = 8;
|
rounding = 8;
|
||||||
|
# Blur disabled — two passes at 3440x1440 was the biggest
|
||||||
|
# contributor to per-frame compositor latency. Re-enable with
|
||||||
|
# smaller size/passes if you miss the look.
|
||||||
blur = {
|
blur = {
|
||||||
enabled = true;
|
enabled = false;
|
||||||
size = 6;
|
|
||||||
passes = 2;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
render = {
|
||||||
|
direct_scanout = true; # fullscreen apps bypass compositor
|
||||||
|
};
|
||||||
|
|
||||||
animations = {
|
animations = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
# speed = tenths of a second; 2 = 0.2s. Drop to 1 for instant-ish.
|
# speed = tenths of a second; 2 = 0.2s. Drop to 1 for instant-ish.
|
||||||
|
|
@ -132,7 +131,7 @@
|
||||||
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 = 1; # 1 = on for fullscreen, 2 = always
|
vrr = 2; # 1 = on for fullscreen, 2 = always
|
||||||
vfr = false; # keep compositor ticking, don't idle between frames
|
vfr = false; # keep compositor ticking, don't idle between frames
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -143,17 +142,6 @@
|
||||||
"immediate, class:^(gamescope)$"
|
"immediate, class:^(gamescope)$"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Hyprspace overview plugin — see README for full option set
|
|
||||||
plugin.overview = {
|
|
||||||
centerAligned = true;
|
|
||||||
hideTopLayers = true;
|
|
||||||
hideOverlayLayers = true;
|
|
||||||
showNewWorkspace = true;
|
|
||||||
exitOnClick = true;
|
|
||||||
exitOnSwitch = true;
|
|
||||||
dragAlpha = 0.8;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Mirror the GNOME bindings so muscle memory carries over
|
# Mirror the GNOME bindings so muscle memory carries over
|
||||||
bind = [
|
bind = [
|
||||||
"$mod, T, exec, $term"
|
"$mod, T, exec, $term"
|
||||||
|
|
@ -168,9 +156,6 @@
|
||||||
"$mod, P, pseudo"
|
"$mod, P, pseudo"
|
||||||
"$mod, S, togglesplit"
|
"$mod, S, togglesplit"
|
||||||
|
|
||||||
# Hyprspace overview — routed via hyprctl because home-manager
|
|
||||||
# loads the plugin in exec-once, after config parse.
|
|
||||||
"$mod, SPACE, exec, hyprctl dispatch overview:toggle"
|
|
||||||
|
|
||||||
# Focus
|
# Focus
|
||||||
"$mod, left, movefocus, l"
|
"$mod, left, movefocus, l"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue