Skip to content

Latest commit

 

History

History
70 lines (53 loc) · 4.03 KB

File metadata and controls

70 lines (53 loc) · 4.03 KB

linux-mauri870

My personal Linux kernel, tuned for gaming on modern hardware. Built with the latest LLVM toolchain targeting native compilation, configured with a 1000Hz tick rate, NTSYNC for low-latency synchronization, Transparent Hugepages, full preemption, sched_ext, and NOHZ_FULL tickless support. Patched with BORE scheduling, HDMI 2.1 48Gbps with ALLM(auto low-latency) and VRR(FreeSync) for AMD GPUs, Google's BBRv3 TCP congestion control, increased power limit for AMD GPUs and various desktop-focused tweaks.

Build & Install

Compiling the kernel takes around 15-20min on a 9950X3D with the default -j$(nproc).

makepkg -si -f

Recommendations

Optional packages

Install dmemcg-booster and plasma-foreground-booster-dmemcg to make use of the cgroup vram patch.

Kernel Boot Args

amdgpu

amdgpu.ppfeaturemask=0xffffffff amdgpu.ignore_min_pcap=1 to be able to set custom power limit

amdgpu.dcfeaturemask=0x402 to enable HDMI FRL

nohz

For dual-CCD asymmetric CPUs such as 9950X3D/9900X3D, configure the kernel boot args so X3D cores run tickless and offload RCU callbacks and IRQs to CCD1:

C=$(nproc); Q=$((C/4)); H=$((C/2)); echo "nohz_full=1-$((Q-1)),${H}-$((H+Q-1)) rcu_nocbs=1-$((Q-1)),${H}-$((H+Q-1)) irqaffinity=${Q}-$((H-1)),$((H+Q))-$((C-1))"
# cpu 0 can't be tickless
nohz_full=1-7,16-23 rcu_nocbs=1-7,16-23 irqaffinity=8-15,24-31

For a 9950X3D2 I advise to set CCD1 cores as nohz_full and move system tasks to CCD0. Since cpu0 is the BSP it cannot be made tickless, so you might as well isolate CCD1 for gaming instead.