summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2026-05-26 09:34:23 -0400
committerFreya Murphy <freya@freyacat.org>2026-05-26 09:34:23 -0400
commit17cf2654a2fbd5908c049748a32ba61e1455757e (patch)
tree56b99e2b5e8a71e7a4f12c2f9f64b67cc36047d9
parentnicify system (diff)
downloaddotfiles-nix-17cf2654a2fbd5908c049748a32ba61e1455757e.tar.gz
dotfiles-nix-17cf2654a2fbd5908c049748a32ba61e1455757e.tar.bz2
dotfiles-nix-17cf2654a2fbd5908c049748a32ba61e1455757e.zip
add amd anti lag
-rw-r--r--hosts/shinji/default.nix1
-rw-r--r--options.nix1
-rw-r--r--pkgs/default.nix1
-rw-r--r--pkgs/low-latency-layer/default.nix37
-rw-r--r--system/amdgpu.nix28
-rw-r--r--system/default.nix1
6 files changed, 69 insertions, 0 deletions
diff --git a/hosts/shinji/default.nix b/hosts/shinji/default.nix
index 0750d29..cbe6834 100644
--- a/hosts/shinji/default.nix
+++ b/hosts/shinji/default.nix
@@ -94,6 +94,7 @@
};
# modules
+ amdgpu.enable = true;
battery.enable = true;
bluetooth.enable = true;
network.enable = true;
diff --git a/options.nix b/options.nix
index e3ab592..d1bb7cb 100644
--- a/options.nix
+++ b/options.nix
@@ -270,6 +270,7 @@ in {
#
# System modules
#
+ amdgpu.enable = mkEnableOption "Enable amdgpu optimizations";
battery.enable = mkEnableOption "Install battery and power system services and programs.";
bluetooth.enable = mkEnableOption "Install bluetooth system services and programs.";
fingerprint.enable = mkEnableOption "Install fingerprint system services and programs.";
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 3a31acf..032285b 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -6,6 +6,7 @@
astal = final.callPackage ./astal {};
libfprint-2-tod1-vfs0090 = final.callPackage ./libfprint-2-tod1-vfs0090 {inherit (prev) libfprint-2-tod1-vfs0090;};
solaar-udev-rules = final.callPackage ./solaar-udev-rules {};
+ low-latency-layer = final.callPackage ./low-latency-layer {};
# change default jdk
openjdk = final.openjdk25;
diff --git a/pkgs/low-latency-layer/default.nix b/pkgs/low-latency-layer/default.nix
new file mode 100644
index 0000000..c2ee993
--- /dev/null
+++ b/pkgs/low-latency-layer/default.nix
@@ -0,0 +1,37 @@
+{
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ glslang,
+ vulkan-headers,
+ vulkan-loader,
+ vulkan-utility-libraries,
+ shaderc,
+}:
+stdenv.mkDerivation (finalAttrs: {
+ pname = "low_latency_layer";
+ version = "0.2.0";
+
+ src = fetchFromGitHub {
+ owner = "Korthos-Software";
+ repo = "low_latency_layer";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-mnGAH0m19wOkWEowpcPRHXQSc6HGYW+CFYxjPF2onk4=";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ glslang
+ ];
+
+ buildInputs = [
+ vulkan-headers
+ vulkan-loader
+ vulkan-utility-libraries
+ shaderc
+ ];
+
+ cmakeFlags = [
+ "-DCMAKE_BUILD_TYPE=Release"
+ ];
+})
diff --git a/system/amdgpu.nix b/system/amdgpu.nix
new file mode 100644
index 0000000..de58a62
--- /dev/null
+++ b/system/amdgpu.nix
@@ -0,0 +1,28 @@
+{
+ lib,
+ config,
+ pkgs,
+ ...
+}: let
+ inherit (lib) mkIf;
+ cfg = config.amdgpu;
+in {
+ config = mkIf cfg.enable {
+ # kernel modules
+ boot = {
+ initrd.kernelModules = ["amdgpu"];
+ kernelModules = ["kvm-amd"];
+ };
+
+ # AMD Anti-Lag
+ environment.systemPackages = [ pkgs.low-latency-layer ];
+ environment.etc."vulkan/implicit_layer.d/low_latency_layer.json".source = "${pkgs.low-latency-layer}/share/vulkan/implicit_layer.d/low_latency_layer.json";
+
+ # Configuration
+ environment.variables = {
+ AMD_VULKAN_ICD = "RADV";
+ RADV_ANTILAG = "1";
+ LOW_LATENCY_LAYER = "1";
+ };
+ };
+}
diff --git a/system/default.nix b/system/default.nix
index 40ef029..39d41bc 100644
--- a/system/default.nix
+++ b/system/default.nix
@@ -16,6 +16,7 @@ in {
./desktops
./gaming
./virt
+ ./amdgpu.nix
./battery.nix
./bluetooth.nix
./desktop.nix