Merge pull request #165257 from fortuneteller2k/xanmod-variants
xanmod-kernels: add STABLE and EDGE variantsmain
commit
09a57b9eb3
@ -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 { })) |
@ -0,0 +1,81 @@ |
||||
{ lib, stdenv, fetchFromGitHub, buildLinux, ... } @ args: |
||||
|
||||
let |
||||
stableVariant = { |
||||
version = "5.15.34"; |
||||
suffix = "xanmod1"; |
||||
hash = "sha256-sfrcaFhrdvupygXvajGyl6ruuBu+vFsAKjLyINyV3pw="; |
||||
}; |
||||
|
||||
edgeVariant = { |
||||
version = "5.17.2"; |
||||
suffix = "xanmod1"; |
||||
hash = "sha256-DK6yFZewqmr/BXFW5tqKXtWb1OLfqokZRQLOQxvBg6Q="; |
||||
}; |
||||
|
||||
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; |
||||
} |
Loading…
Reference in new issue