From c95c417c18863b4df8e029644047add21566969c Mon Sep 17 00:00:00 2001 From: soraefir Date: Tue, 16 Jun 2026 00:14:42 +0200 Subject: [PATCH] hdr and workspaces --- modules/home/wayland/apps/kanshi/default.nix | 40 +++++++++++++++++++- modules/home/wayland/hyprland/config.nix | 11 ++++-- modules/nixos/system/hw/boot/default.nix | 3 ++ 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/modules/home/wayland/apps/kanshi/default.nix b/modules/home/wayland/apps/kanshi/default.nix index ac142f5..5216f39 100644 --- a/modules/home/wayland/apps/kanshi/default.nix +++ b/modules/home/wayland/apps/kanshi/default.nix @@ -5,6 +5,7 @@ let scale = 1.0; adaptiveSync = true; status = "enable"; + transform = "normal"; }; in { @@ -14,9 +15,15 @@ in { enable = true; systemdTarget = "graphical-session.target"; settings = [ + {output = baseOutput//{ + criteria = "LG Electronics LG ULTRAGEAR+ 511NTDVGC194"; + mode = "2560x1440@480.168"; + # mode = "1920x1080x240.084"; + };} {output = baseOutput//{ criteria = "AOC 24E1W1 GNSKCHA086899"; mode = "1920x1080@60.000"; + transform = "90"; };} {output = baseOutput//{ criteria = "AOC 24E1W1 GNSKBHA080346"; @@ -38,7 +45,38 @@ in { criteria = "AOC 16G3 1DDP7HA000348"; mode = "1920x1080@144.000"; };} - + {profile = { + name = "tower_00"; + outputs = [ + { + criteria = "AOC 24E1W1 GNSKCHA086899"; + transform = "180"; + position = "0,0"; + } + { + criteria = "AOC 24E1W1 GNSKBHA080346"; + position = "0,1080"; + } + { + criteria = "LG Electronics LG ULTRAGEAR+ 511NTDVGC194"; + position = "1920,720"; + } + ]; + exec = [ + "${pkgs.eww}/bin/eww open bar --screen 0" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '1', monitor = 'DP-1', default = true });\"" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '2', monitor = 'DP-2', default = true });\"" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '3', monitor = 'DP-1', default = true });\"" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '4', monitor = 'DP-1', default = true });\"" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '5', monitor = 'DP-1', default = true });\"" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '6', monitor = 'DP-1', default = true });\"" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '7', monitor = 'DP-1', default = true });\"" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '8', monitor = 'DP-1', default = true });\"" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '9', monitor = 'DP-1', default = true });\"" + "${pkgs.hyprland}/bin/hyprctl eval \"hl.workspace_rule({ workspace = '0', monitor = 'DP-3', default = true });\"" + "${pkgs.awww}/bin/awww restore" + ]; + };} {profile = { name = "tower_0"; outputs = [ diff --git a/modules/home/wayland/hyprland/config.nix b/modules/home/wayland/hyprland/config.nix index 2a593bd..526fd17 100644 --- a/modules/home/wayland/hyprland/config.nix +++ b/modules/home/wayland/hyprland/config.nix @@ -68,6 +68,7 @@ in { position = "auto"; scale = "auto"; bitdepth = 10; + cm = "auto"; #dcip3 }]; #Fullscreen HDR is possible without the hdr cm setting if "render:cm_auto_hdr" is enabled. @@ -91,14 +92,18 @@ in { cm_auto_hdr = 1; }; quirks = { - # prefer_hdr = 1; + prefer_hdr = 1; }; misc = { - force_default_wallpaper = -1; + force_default_wallpaper = 0; disable_hyprland_logo = true; + disable_splash_rendering = true; animate_mouse_windowdragging = false; animate_manual_resizes = false; - vrr = 1; + vrr = 2; + }; + debug = { + vfr = false; }; ecosystem = { no_update_news = true; diff --git a/modules/nixos/system/hw/boot/default.nix b/modules/nixos/system/hw/boot/default.nix index 4e658fa..6bf4386 100644 --- a/modules/nixos/system/hw/boot/default.nix +++ b/modules/nixos/system/hw/boot/default.nix @@ -3,6 +3,9 @@ let isSANDBOX = builtins.elem config.syscfg.hostname [ "sandbox" ]; in { config = lib.mkIf (!isSANDBOX) { boot.kernelParams = [ + "amdgpu.gpu_recovery=1" + "amdgpu.psr=0" + "amdgpu.dcfeaturemask=0x2" "async_probe=tpm*" # Load TPM in parallel without blocking udev "8250.nr_uarts=0" # Stop scanning for old motherboard serial lines (ttyS0-S3) ];