From bfc55bad14c3d2f53465280434a51acd5a3223d1 Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Tue, 22 Mar 2022 19:08:21 +0800 Subject: [PATCH 1/7] xanmod-kernels: add STABLE and EDGE variants --- .../os-specific/linux/kernel/linux-xanmod.nix | 68 ---------------- .../linux/kernel/xanmod-kernels.nix | 81 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/linux-kernels.nix | 15 +++- 4 files changed, 96 insertions(+), 70 deletions(-) delete mode 100644 pkgs/os-specific/linux/kernel/linux-xanmod.nix create mode 100644 pkgs/os-specific/linux/kernel/xanmod-kernels.nix diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix deleted file mode 100644 index b170ec044b05..000000000000 --- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args: - -let - version = "5.15.27"; - release = "1"; - suffix = "xanmod${release}-tt"; -in -buildLinux (args // rec { - inherit version; - modDirVersion = "${version}-${suffix}"; - - src = fetchFromGitHub { - owner = "xanmod"; - repo = "linux"; - rev = modDirVersion; - sha256 = "sha256-ycUvTXDKnffxs8FKZJurX2bDr85gMQlSIFD0nST2Q98="; - }; - - structuredExtraConfig = with lib.kernel; { - # removed options - CFS_BANDWIDTH = lib.mkForce (option no); - RT_GROUP_SCHED = lib.mkForce (option no); - SCHED_AUTOGROUP = lib.mkForce (option no); - - # AMD P-state driver - X86_AMD_PSTATE = yes; - - # Linux RNG framework - LRNG = yes; - - # Paragon's NTFS3 driver - NTFS3_FS = module; - NTFS3_LZX_XPRESS = yes; - NTFS3_FS_POSIX_ACL = yes; - - # Preemptive Full Tickless Kernel at 500Hz - SCHED_CORE = lib.mkForce (option no); - PREEMPT_VOLUNTARY = lib.mkForce no; - PREEMPT = lib.mkForce yes; - NO_HZ_FULL = yes; - HZ_500 = yes; - - # Google's BBRv2 TCP congestion Control - TCP_CONG_BBR2 = yes; - DEFAULT_BBR2 = yes; - - # FQ-PIE Packet Scheduling - NET_SCH_DEFAULT = yes; - DEFAULT_FQ_PIE = yes; - - # Graysky's additional CPU optimizations - CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes; - - # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync. - FUTEX = yes; - FUTEX_PI = yes; - - # WineSync driver for fast kernel-backed Wine - WINESYNC = module; - }; - - extraMeta = { - branch = "5.15-tt"; - maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault ]; - description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience"; - broken = stdenv.isAarch64; - }; -} // (args.argsOverride or { })) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix new file mode 100644 index 000000000000..81927a45e894 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -0,0 +1,81 @@ +{ lib, stdenv, fetchFromGitHub, buildLinux, ... } @ args: + +let + stableVariant = { + version = "5.15.30"; + suffix = "xanmod1"; + hash = "sha256-j33P+bnR0xtKqNLXYfDZmsL8s0fEBsWUrFiV4+CaJyY="; + }; + + edgeVariant = { + version = "5.17.0"; + suffix = "xanmod1"; + hash = "sha256-tVwc6vx3SAToasbCCz8IuESfHd3NvPM34FrzbBK7Sfc="; + }; + + xanmodKernelFor = { version, suffix, hash }: buildLinux (args // rec { + inherit version; + modDirVersion = "${version}-${suffix}"; + + src = fetchFromGitHub { + owner = "xanmod"; + repo = "linux"; + rev = modDirVersion; + inherit hash; + }; + + structuredExtraConfig = with lib.kernel; { + # removed options + CFS_BANDWIDTH = lib.mkForce (option no); + RT_GROUP_SCHED = lib.mkForce (option no); + SCHED_AUTOGROUP = lib.mkForce (option no); + + # AMD P-state driver + X86_AMD_PSTATE = yes; + + # Linux RNG framework + LRNG = yes; + + # Paragon's NTFS3 driver + NTFS3_FS = module; + NTFS3_LZX_XPRESS = yes; + NTFS3_FS_POSIX_ACL = yes; + + # Preemptive Full Tickless Kernel at 500Hz + SCHED_CORE = lib.mkForce (option no); + PREEMPT_VOLUNTARY = lib.mkForce no; + PREEMPT = lib.mkForce yes; + NO_HZ_FULL = yes; + HZ_500 = yes; + + # Google's BBRv2 TCP congestion Control + TCP_CONG_BBR2 = yes; + DEFAULT_BBR2 = yes; + + # FQ-PIE Packet Scheduling + NET_SCH_DEFAULT = yes; + DEFAULT_FQ_PIE = yes; + + # Graysky's additional CPU optimizations + CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes; + + # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync. + FUTEX = yes; + FUTEX_PI = yes; + + # WineSync driver for fast kernel-backed Wine + WINESYNC = module; + }; + + extraMeta = { + branch = lib.versions.majorMinor version; + maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault ]; + description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience"; + broken = stdenv.isAarch64; + }; + } // (args.argsOverride or { })); +in +{ + stable = xanmodKernelFor stableVariant; + edge = xanmodKernelFor edgeVariant; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7f596c047184..0044fa9aaff7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22807,6 +22807,8 @@ with pkgs; # XanMod kernel linuxPackages_xanmod = linuxKernel.packages.linux_xanmod; linux_xanmod = linuxKernel.kernels.linux_xanmod; + linuxPackages_xanmod_latest = linuxKernel.packages.linux_xanmod_latest; + linux_xanmod_latest = linuxKernel.kernels.linux_xanmod_latest; cryptodev = linuxKernel.packages.linux_4_9.cryptodev; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index e3f5695fac53..e02802b88abe 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -212,12 +212,22 @@ in { ]; }; - linux_xanmod = callPackage ../os-specific/linux/kernel/linux-xanmod.nix { + # This contains both the STABLE and EDGE variants of the XanMod kernel + xanmodKernels = callPackage ../os-specific/linux/kernel/xanmod-kernels.nix; + + linux_xanmod = (xanmodKernels { kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.request_key_helper ]; - }; + }).stable; + + linux_xanmod_latest = (xanmodKernels { + kernelPatches = [ + kernelPatches.bridge_stp_helper + kernelPatches.request_key_helper + ]; + }).edge; linux_libre = deblobKernel packageAliases.linux_default.kernel; @@ -528,6 +538,7 @@ in { linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen); linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx); linux_xanmod = recurseIntoAttrs (packagesFor kernels.linux_xanmod); + linux_xanmod_latest = recurseIntoAttrs (packagesFor kernels.linux_xanmod_latest); hardkernel_4_14 = recurseIntoAttrs (packagesFor kernels.linux_hardkernel_4_14); From 96c7dbbcd5af15d012e857808fdf6d3c63c133dc Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Sat, 26 Mar 2022 16:09:21 +0800 Subject: [PATCH 2/7] linux_xanmod: 5.15.30 -> 5.15.31 --- pkgs/os-specific/linux/kernel/xanmod-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 81927a45e894..017b74069d9a 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -2,9 +2,9 @@ let stableVariant = { - version = "5.15.30"; + version = "5.15.31"; suffix = "xanmod1"; - hash = "sha256-j33P+bnR0xtKqNLXYfDZmsL8s0fEBsWUrFiV4+CaJyY="; + hash = "sha256-UWpbeuDmr0Xo3x03CpgTYitYFK9jKAIQ2Y5d5BcS6mQ="; }; edgeVariant = { From dd22fa7ecd82753b2bbfb8ed1dd1b42552c20d9e Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Wed, 30 Mar 2022 01:44:03 +0800 Subject: [PATCH 3/7] linux_xanmod: 5.15.31 -> 5.15.32 --- pkgs/os-specific/linux/kernel/xanmod-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 017b74069d9a..b4e7ff8ceb75 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -2,9 +2,9 @@ let stableVariant = { - version = "5.15.31"; + version = "5.15.32"; suffix = "xanmod1"; - hash = "sha256-UWpbeuDmr0Xo3x03CpgTYitYFK9jKAIQ2Y5d5BcS6mQ="; + hash = "sha256-63B1bV2K86WVqhFdeF57ZY/rtqAfqth9EIgCjP7QYH0="; }; edgeVariant = { From 3280363b2f9e85aaedd179f6b30e0c28281ef863 Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Wed, 30 Mar 2022 01:44:51 +0800 Subject: [PATCH 4/7] linux_xanmod_latest: 5.17.0 -> 5.17.1 --- pkgs/os-specific/linux/kernel/xanmod-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index b4e7ff8ceb75..0797d80dd6f4 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -8,9 +8,9 @@ let }; edgeVariant = { - version = "5.17.0"; + version = "5.17.1"; suffix = "xanmod1"; - hash = "sha256-tVwc6vx3SAToasbCCz8IuESfHd3NvPM34FrzbBK7Sfc="; + hash = "sha256-yRRvoH25ju9TZnlO7AS5JEFjM0oP4JYb89Ie7xGPisA="; }; xanmodKernelFor = { version, suffix, hash }: buildLinux (args // rec { From 77e6d15276effcebfdb10c87a3d5b7bcce413e63 Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Sun, 10 Apr 2022 16:36:57 +0000 Subject: [PATCH 5/7] linux_xanmod_latest: 5.17.1 -> 5.17.2 --- pkgs/os-specific/linux/kernel/xanmod-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 0797d80dd6f4..5583d3b80f32 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -8,9 +8,9 @@ let }; edgeVariant = { - version = "5.17.1"; + version = "5.17.2"; suffix = "xanmod1"; - hash = "sha256-yRRvoH25ju9TZnlO7AS5JEFjM0oP4JYb89Ie7xGPisA="; + hash = "sha256-DK6yFZewqmr/BXFW5tqKXtWb1OLfqokZRQLOQxvBg6Q="; }; xanmodKernelFor = { version, suffix, hash }: buildLinux (args // rec { From 7e31834981199670f3f3d8e920ede864aaab095c Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Sun, 10 Apr 2022 16:37:27 +0000 Subject: [PATCH 6/7] linux_xanmod: 5.15.32 -> 5.15.33 --- pkgs/os-specific/linux/kernel/xanmod-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 5583d3b80f32..1241219320aa 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -2,9 +2,9 @@ let stableVariant = { - version = "5.15.32"; + version = "5.15.33"; suffix = "xanmod1"; - hash = "sha256-63B1bV2K86WVqhFdeF57ZY/rtqAfqth9EIgCjP7QYH0="; + hash = "sha256-FOGjwkzAvautKsTKBMGfXMoRHeKgQtmK94hVKFdy2Ps="; }; edgeVariant = { From 62f673823937d2ee5e8491c643b53360c7d212d2 Mon Sep 17 00:00:00 2001 From: fortuneteller2k Date: Sun, 17 Apr 2022 17:16:25 +0000 Subject: [PATCH 7/7] linux_xanmod: 5.15.33 -> 5.15.34 --- pkgs/os-specific/linux/kernel/xanmod-kernels.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix index 1241219320aa..8464b9ad25f8 100644 --- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -2,9 +2,9 @@ let stableVariant = { - version = "5.15.33"; + version = "5.15.34"; suffix = "xanmod1"; - hash = "sha256-FOGjwkzAvautKsTKBMGfXMoRHeKgQtmK94hVKFdy2Ps="; + hash = "sha256-sfrcaFhrdvupygXvajGyl6ruuBu+vFsAKjLyINyV3pw="; }; edgeVariant = {