HASH d94b9e8a6032
DATE 2025-02-27
SUBJECT amd: lact module init
FILES 4 CHANGED
HASH d94b9e8a6032
DATE 2025-02-27
SUBJECT amd: lact module init
FILES 4 CHANGED
┌─ .gitignore ───────────────────────────────────────────────────────────────┐
│ diff --git a/.gitignore b/.gitignore │
│ index a40c183..55738f8 100644 │
│ --- a/.gitignore │
│ +++ b/.gitignore │
│ @@ -1 +1,2 @@ │
│ repodump.xml │
│ +CLAUDE.md │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ .gitignore ─────────────────────────┐
│ diff --git a/.gitignore b/.gitignore │
│ index a40c183..55738f8 100644 │
│ --- a/.gitignore │
│ +++ b/.gitignore │
│ @@ -1 +1,2 @@ │
│ repodump.xml │
│ +CLAUDE.md │
└──────────────────────────────────────────────┘
┌─ hosts/ooksdesk/hardware.nix ──────────────────────────────────────────────┐
│ diff --git a/hosts/ooksdesk/hardware.nix b/hosts/ooksdesk/hardware.nix │
│ index 94e6c27..64fa886 100644 │
│ --- a/hosts/ooksdesk/hardware.nix │
│ +++ b/hosts/ooksdesk/hardware.nix │
│ @@ -5,7 +5,10 @@ │
│ amd.pstate.enable = true; │
│ cores = 16; │
│ }; │
│ - gpu.type = "amd"; │
│ + gpu = { │
│ + type = "amd"; │
│ + lact.enable = true; │
│ + }; │
│ features = ["printing" "ssd" "audio" "video"]; │
│ monitors = [ │
│ { │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ hosts/ooksdesk/hardware.nix ────────┐
│ diff --git a/hosts/ooksdesk/hardware.nix b/h │
│ osts/ooksdesk/hardware.nix │
│ index 94e6c27..64fa886 100644 │
│ --- a/hosts/ooksdesk/hardware.nix │
│ +++ b/hosts/ooksdesk/hardware.nix │
│ @@ -5,7 +5,10 @@ │
│ amd.pstate.enable = true; │
│ cores = 16; │
│ }; │
│ - gpu.type = "amd"; │
│ + gpu = { │
│ + type = "amd"; │
│ + lact.enable = true; │
│ + }; │
│ features = ["printing" "ssd" "audio" "v │
│ ideo"]; │
│ monitors = [ │
│ { │
└──────────────────────────────────────────────┘
┌─ modules/nixos/hardware/gpu/amd.nix ───────────────────────────────────────┐
│ diff --git a/modules/nixos/hardware/gpu/amd.nix b/modules/nixos/hardware/gpu/amd.n │
│ ix │
│ index 6a29c21..619cddc 100644 │
│ --- a/modules/nixos/hardware/gpu/amd.nix │
│ +++ b/modules/nixos/hardware/gpu/amd.nix │
│ @@ -5,35 +5,59 @@ │
│ ... │
│ }: let │
│ inherit (config.ooknet.hardware) gpu; │
│ - inherit (lib) mkIf mkDefault; │
│ + inherit (lib) getExe mkMerge mkIf mkDefault; │
│ inherit (builtins) attrValues; │
│ in { │
│ - config = mkIf (gpu.type == "amd") { │
│ - hardware.amdgpu = { │
│ - amdvlk = { │
│ - enable = false; │
│ - support32Bit.enable = true; │
│ + config = mkIf (gpu.type == "amd") (mkMerge [ │
│ + { │
│ + hardware.amdgpu = { │
│ + amdvlk = { │
│ + enable = false; │
│ + support32Bit.enable = true; │
│ + }; │
│ + opencl.enable = false; │
│ }; │
│ - opencl.enable = false; │
│ - }; │
│ - hardware.graphics = { │
│ - extraPackages = attrValues { │
│ + hardware.graphics = { │
│ + extraPackages = attrValues { │
│ + inherit │
│ + (pkgs) │
│ + vulkan-tools │
│ + vulkan-loader │
│ + vulkan-extension-layer │
│ + vulkan-validation-layers │
│ + mesa │
│ + ; │
│ + }; │
│ + extraPackages32 = [pkgs.driversi686Linux.amdvlk]; │
│ + }; │
│ + boot = { │
│ + initrd.kernelModules = ["amdgpu"]; │
│ + kernelModules = ["amdgpu"]; │
│ + }; │
│ + environment.systemPackages = [pkgs.nvtopPackages.amd]; │
│ + services.xserver.videoDrivers = mkDefault ["modesetting" "amdgpu"]; │
│ + } │
│ + (mkIf gpu.lact.enable { │
│ + boot.kernelParams = ["amdgpu.ppfeaturemask=0xfffd7fff"]; │
│ + environment.systemPackages = attrValues { │
│ inherit │
│ (pkgs) │
│ - vulkan-tools │
│ - vulkan-loader │
│ - vulkan-extension-layer │
│ - vulkan-validation-layers │
│ - mesa │
│ + lact │
│ + unigine-heaven │
│ + unigine-superposition │
│ ; │
│ }; │
│ - extraPackages32 = [pkgs.driversi686Linux.amdvlk]; │
│ - }; │
│ - boot = { │
│ - initrd.kernelModules = ["amdgpu"]; │
│ - kernelModules = ["amdgpu"]; │
│ - }; │
│ - environment.systemPackages = [pkgs.nvtopPackages.amd]; │
│ - services.xserver.videoDrivers = mkDefault ["modesetting" "amdgpu"]; │
│ - }; │
│ + │
│ + systemd = { │
│ + packages = [pkgs.lact]; │
│ + services.lactd = { │
│ + wantedBy = ["multi-user.target"]; │
│ + unitConfig = { │
│ + Description = "GPU Control Daemon"; │
│ + After = ["multi-user.target"]; │
│ + }; │
│ + }; │
│ + }; │
│ + }) │
│ + ]); │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...es/nixos/hardware/gpu/amd.nix ───┐
│ diff --git a/modules/nixos/hardware/gpu/amd. │
│ nix b/modules/nixos/hardware/gpu/amd.nix │
│ index 6a29c21..619cddc 100644 │
│ --- a/modules/nixos/hardware/gpu/amd.nix │
│ +++ b/modules/nixos/hardware/gpu/amd.nix │
│ @@ -5,35 +5,59 @@ │
│ ... │
│ }: let │
│ inherit (config.ooknet.hardware) gpu; │
│ - inherit (lib) mkIf mkDefault; │
│ + inherit (lib) getExe mkMerge mkIf mkDefau │
│ lt; │
│ inherit (builtins) attrValues; │
│ in { │
│ - config = mkIf (gpu.type == "amd") { │
│ - hardware.amdgpu = { │
│ - amdvlk = { │
│ - enable = false; │
│ - support32Bit.enable = true; │
│ + config = mkIf (gpu.type == "amd") (mkMerg │
│ e [ │
│ + { │
│ + hardware.amdgpu = { │
│ + amdvlk = { │
│ + enable = false; │
│ + support32Bit.enable = true; │
│ + }; │
│ + opencl.enable = false; │
│ }; │
│ - opencl.enable = false; │
│ - }; │
│ - hardware.graphics = { │
│ - extraPackages = attrValues { │
│ + hardware.graphics = { │
│ + extraPackages = attrValues { │
│ + inherit │
│ + (pkgs) │
│ + vulkan-tools │
│ + vulkan-loader │
│ + vulkan-extension-layer │
│ + vulkan-validation-layers │
│ + mesa │
│ + ; │
│ + }; │
│ + extraPackages32 = [pkgs.driversi686 │
│ Linux.amdvlk]; │
│ + }; │
│ + boot = { │
│ + initrd.kernelModules = ["amdgpu"]; │
│ + kernelModules = ["amdgpu"]; │
│ + }; │
│ + environment.systemPackages = [pkgs.nv │
│ topPackages.amd]; │
│ + services.xserver.videoDrivers = mkDef │
│ ault ["modesetting" "amdgpu"]; │
│ + } │
│ + (mkIf gpu.lact.enable { │
│ + boot.kernelParams = ["amdgpu.ppfeatur │
│ emask=0xfffd7fff"]; │
│ + environment.systemPackages = attrValu │
│ es { │
│ inherit │
│ (pkgs) │
│ - vulkan-tools │
│ - vulkan-loader │
│ - vulkan-extension-layer │
│ - vulkan-validation-layers │
│ - mesa │
│ + lact │
│ + unigine-heaven │
│ + unigine-superposition │
│ ; │
│ }; │
│ - extraPackages32 = [pkgs.driversi686Li │
│ nux.amdvlk]; │
│ - }; │
│ - boot = { │
│ - initrd.kernelModules = ["amdgpu"]; │
│ - kernelModules = ["amdgpu"]; │
│ - }; │
│ - environment.systemPackages = [pkgs.nvto │
│ pPackages.amd]; │
│ - services.xserver.videoDrivers = mkDefau │
│ lt ["modesetting" "amdgpu"]; │
│ - }; │
│ + │
│ + systemd = { │
│ + packages = [pkgs.lact]; │
│ + services.lactd = { │
│ + wantedBy = ["multi-user.target"]; │
│ + unitConfig = { │
│ + Description = "GPU Control Daem │
│ on"; │
│ + After = ["multi-user.target"]; │
│ + }; │
│ + }; │
│ + }; │
│ + }) │
│ + ]); │
│ } │
└──────────────────────────────────────────────┘
┌─ modules/nixos/hardware/options.nix ───────────────────────────────────────┐
│ diff --git a/modules/nixos/hardware/options.nix b/modules/nixos/hardware/options.n │
│ ix │
│ index 864eba3..1e85597 100644 │
│ --- a/modules/nixos/hardware/options.nix │
│ +++ b/modules/nixos/hardware/options.nix │
│ @@ -18,6 +18,7 @@ in { │
│ type = nullOr (enum ["intel" "amd" "nvidia"]); │
│ default = null; │
│ }; │
│ + lact.enable = mkEnableOption "Enable amd tuning software lact"; │
│ }; │
│ │
│ cpu = { │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...es/nixos/hardware/options.nix ───┐
│ diff --git a/modules/nixos/hardware/options. │
│ nix b/modules/nixos/hardware/options.nix │
│ index 864eba3..1e85597 100644 │
│ --- a/modules/nixos/hardware/options.nix │
│ +++ b/modules/nixos/hardware/options.nix │
│ @@ -18,6 +18,7 @@ in { │
│ type = nullOr (enum ["intel" "amd" │
│ "nvidia"]); │
│ default = null; │
│ }; │
│ + lact.enable = mkEnableOption "Enable │
│ amd tuning software lact"; │
│ }; │
│ │
│ cpu = { │
└──────────────────────────────────────────────┘
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET