gavinmaxp/kernel-xanmod

( forked from rmnscnce/kernel-xanmod )

Project ID: 120571

Description

XanMod Kernel

Upstream GitHub

XanMod is a general-purpose Linux kernel distribution with custom settings and new features. Built to provide a stable, responsive and smooth desktop experience.

The real-time version is recommended for critical runtime applications such as Linux gaming eSports, streaming, live productions and ultra-low latency enthusiasts.

Supports all recent 64-bit versions of Fedora® Linux.

※ Note: The current proprietary NVIDIA, VirtualBox, VMware Workstation / Player and some other akmod/dkms modules builds do not officially support Clang'ed (EXPTL) and RT kernels.

XanMod Logo

Main features

  • Preemptive Full Tickless Kernel at 500Hz w/ Tuned CPU Core Scheduler.
  • RCU Boost for better responsiveness and lower overall system latency.
  • Full multi-core block layer runqueue requests for high I/O throughput.
  • Caching, Virtual Memory Manager and CPUFreq Governor improvements.
  • BBRv2 TCP congestion control + FQ-PIE packet scheduling and AQM algorithm.
  • ORC Unwinder for kernel stack traces (debuginfo) implementation.
  • High responsiveness multitasking Task Type scheduler (SCHED_NORMAL) build available [5.15-tt].
  • Real-time Linux kernel (PREEMPT_RT) build available [5.13-rt].
  • Third-party patchset available: patches
    • CK's high-resolution kernel timers (hrtimer) enhancement.
    • le9's file mappings under memory pressure protection.
    • Linux Random Number Generator (LRNG) framework.
    • AMD's P-state driver for Zen2 and Zen3 processors [5.15].
    • Futex waitv and legacy WAIT_MULTIPLE implementation for Wine / Proton Fsync support.
    • WineSync driver for fast kernel-backed Wine [5.15] [as module: winesync].
    • Google's Multigenerational LRU framework [5.14].
    • Google's BBRv2 TCP congestion control.
    • Paragon's Software NTFS3 driver [as module: ntfs3].
    • PCIe ACS Override for bypassing IOMMU groups support.
    • Graysky's additional CPU optimizations for GCC and Clang.
    • Clear Linux patchset [partial].
    • Android Ashmem and Binder IPC driver as module for Anbox.
    • Updated ZSTD library for bug fixes and r/w performance compression improvements on Btrfs, F2FS, SquashFS, pstore, initramfs and vmlinuz.
  • Kernel package for compatibility with the Fedora® Linux, EPEL 8*^, and CentOS Stream* distribution
  • GPLv2 license. Can be built for any distribution or purpose.

*) kernel-xanmod-lts only⁣

^) XanMod kernel is NOT based on RHCK and thus may break bug-for-bug compatibility with RHEL (for instance, kmod packages from ELRepo will NOT work, and akmod packages from RPMFusion may not be compatible with the kernel-devel of XanMod kernel). You should not run this software on a machine that requires compatibility with RHEL.


Build status

edge variant

pipeline status Copr build status

exptl variant

pipeline status Copr build status

[ DEPRECATED replaced by the tt variant ] cacule variant

Copr build status

tt variant

pipeline status Copr build status

lts variant

pipeline status Copr build status

rt variant

pipeline status Copr build status

Installation Instructions

※Don't forget to install the respective -devel package if you use akmod and dkms

Enable the Copr repo:

sudo dnf copr enable rmnscnce/kernel-xanmod

And now install the kernel:

sudo dnf in kernel-xanmod-edge

if you want edge but built with LLVM+Clang with full LTO:

sudo dnf in kernel-xanmod-exptl

Important -- Notes for exptl users: As you can see here, NVIDIA apparently don't support LLVM+LTO kernels. There's no one that can (legally) fix it other than NVIDIA themselves. For now, you should manually build the NVIDIA kmod using the akmods command. Run sudo env CC=clang HOSTCC=clang LD=ld.lld LLVM=1 LLVM_IAS=1 akmods -fin the terminal to do so.

※ This might also apply for other proprietary kernel modules like VMWare and Broadcom's wl driver. Adjust accordingly.


[ DEPRECATED replaced by the tt variant ] if you want the variant with CacULE patches:

# Since 5.15.x this will install kernel-xanmod-tt sudo dnf in kernel-xanmod-cacule

if you want the variant with the TT scheduler patches:

sudo dnf in kernel-xanmod-tt

if you want to use LTS kernels:

sudo dnf in kernel-xanmod-lts

if you want to do RT workloads:

sudo dnf in kernel-xanmod-rt

Additionally, you can self-sign the kernel image and modules for UEFI secure boot. Follow the instructions here

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Centos-stream 8 x86_64 (0)* Centos-stream 8 (20 downloads)
Centos-stream 9 x86_64 (0)* Centos-stream 9 (20 downloads)
EPEL 8 x86_64 (0)* EPEL 8 (20 downloads)
Fedora 38 x86_64 (0)* Fedora 38 (0 downloads)
Fedora 39 x86_64 (4)* Fedora 39 (25 downloads)
Fedora 40 x86_64 (6)* Fedora 40 (26 downloads)
Fedora 41 x86_64 (0)* Fedora 41 (7 downloads)
Fedora rawhide x86_64 (12)* Fedora rawhide (21 downloads)

* Total number of downloaded packages.