From cdf117daa2a6f51e0fa4e7bb651a115dc5544340 Mon Sep 17 00:00:00 2001 From: Myned Date: Fri, 6 Dec 2024 19:54:17 -0600 Subject: [PATCH] mynix: work around secondary gpu reset Signed-off-by: Myned --- machines/mynix/default.nix | 89 ++----------------- options/custom/desktops/hyprland/settings.nix | 4 +- 2 files changed, 11 insertions(+), 82 deletions(-) diff --git a/machines/mynix/default.nix b/machines/mynix/default.nix index 18c664c..df66691 100644 --- a/machines/mynix/default.nix +++ b/machines/mynix/default.nix @@ -1,4 +1,4 @@ -{ +{config, ...}: { imports = [ ./disko.nix ./hardware-configuration.nix @@ -22,7 +22,7 @@ intel = true; node = "pci_0000_03_00_0"; }; - }; + }; }; boot = { @@ -46,85 +46,14 @@ # `- \`_`"'- #// services.logind.powerKey = "ignore"; # Disable power button - # Mount external drives on boot - fileSystems = { - "/mnt/gayme" = { - device = "/dev/disk/by-label/gayme"; - options = [ - "noatime" - "nofail" - "users" - "exec" - "x-gvfs-show" - ]; - }; - - "/mnt/gaymer" = { - device = "/dev/disk/by-label/gaymer"; - options = [ - "noatime" - "nofail" - "users" - "exec" - "x-gvfs-show" + home-manager.users.${config.custom.username} = { + # Prevent secondary GPU reset from crashing window manager + wayland.windowManager.hyprland.settings = { + monitor = [ + "HDMI-A-1, disable" + "HDMI-A-2, disable" + "HDMI-A-3, disable" ]; }; }; - - # Set mount directory permissions - #?? TYPE PATH MODE USER GROUP AGE ARGUMENT - systemd.tmpfiles.rules = [ - "z /mnt/gayme 0755 myned users" - "z /mnt/gaymer 0755 myned users" - ]; - - # BUG: "manual" profile is the same as "auto" with kernel 6.10 - # TODO: Remove when Linux 6.12 is released - # https://gitlab.freedesktop.org/agd5f/linux/-/commit/ec1aab7816b06c32f42935e34ce3a3040c778afb - # Work around performance issues with AMD power scaling - # https://wiki.archlinux.org/title/AMDGPU#Screen_artifacts_and_frequency_problem - # https://wiki.archlinux.org/title/AMDGPU#Power_profiles - #!! cardX must match the correct gpu - #?? lspci - #?? ls -l /dev/dri/by-path/*-card - #?? grep '*' /sys/class/drm/card*/device/pp_power_profile_mode - services.udev.extraRules = '' - SUBSYSTEM=="drm", KERNEL=="card1", DRIVERS=="amdgpu", ATTR{device/power_dpm_force_performance_level}="manual", ATTR{device/pp_power_profile_mode}="1" - ''; - - # https://github.com/Zygo/bees - # Deduplicate entire filesystem - #?? Optimal for ~1TB total disk space - # https://github.com/Zygo/bees/blob/master/docs/config.md#hash-table-sizing - # services.beesd.filesystems.root = { - # spec = "/"; - # verbosity = "err"; - # extraOptions = [ "--loadavg-target" "5" ]; # Reduce threads on ~5% total processor load - # }; - - # Periodically upload current wallpaper to remote server - # systemd.user = { - # services."wallpaper" = { - # path = with pkgs; [ - # openssh - # rsync - # tailscale - # variety - # ]; - - # #!! Hostname dependent - # script = '' - # rsync --chown caddy:caddy "$(variety --current)" root@myne:/srv/static/wallpaper.png - # ''; - # }; - - # timers."wallpaper" = { - # wantedBy = [ "timers.target" ]; - - # timerConfig = { - # OnBootSec = "1m"; - # OnUnitActiveSec = "1m"; - # }; - # }; - # }; } diff --git a/options/custom/desktops/hyprland/settings.nix b/options/custom/desktops/hyprland/settings.nix index 9b6ef2f..fbca7db 100644 --- a/options/custom/desktops/hyprland/settings.nix +++ b/options/custom/desktops/hyprland/settings.nix @@ -39,7 +39,7 @@ in { # https://wiki.hyprland.org/Configuring/Monitors #?? monitor = NAME, RESOLUTION, POSITION, SCALE - monitor = [ + monitor = mkBefore [ ", highrr, auto, ${toString config.custom.scale}" # HACK: Ensure the fallback output has a sane resolution @@ -79,7 +79,7 @@ in { # HACK: Launch hidden GTK windows to reduce startup time "[workspace special:hidden silent] ${loupe}" "[workspace special:hidden silent] ${nautilus}" -] + ] ++ optionals config.custom.wallpaper [ "wallpaper" ]