rmnscnce/kernel-xanmod

Project ID: 40844

Description

kernel-xanmod-edge will not be built using LLVM+ThinLTO unlike the Debian-based upstream Instead, LLVM+LTO will be used to build kernel-xanmod-exptl, the experimental branch exclusive to this Copr (ThinLTO is not being used due to an undefined behavior in akmods crashing LLVM when trying to build kernel modules with it)

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 CacULE scheduler (SCHED_NORMAL) based on ULE interactivity score mechanism build available [5.14-cacule].
  • 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.
    • Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync.
    • Futex2 interface compatible w/ latest Wine / Proton Fsync [5.14].
    • Google's Multigenerational LRU framework [5.13].
    • 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].
    • LSM Fork brute force attack mitigation support [5.13].
    • 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.
    • WineSync/NTSync Driver as module for fast, kernel-backed Wine [5.14].
  • 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

Copr build status

exptl variant

Copr build status

cacule variant

Copr build status

lts variant

Copr build status

rt variant

Copr build status


Donate to rmnscnce using Liberapay to support the package maintainer (donations to upstream can be given here)

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.


if you want the variant with CacULE patches:

sudo dnf in kernel-xanmod-cacule

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 (21 downloads)
Centos-stream 9 x86_64 (0)* Centos-stream 9 (19 downloads)
Epel for CentOS 8 x86_64 (0)* Epel for CentOS 8 (29 downloads)
Fedora 32 x86_64 (0)* Fedora 32 (0 downloads)
Fedora 33 x86_64 (0)* Fedora 33 (286 downloads)
Fedora 34 x86_64 (0)* Fedora 34 (1711 downloads)
Fedora 35 x86_64 (0)* Fedora 35 (47 downloads)
Fedora rawhide x86_64 (0)* Fedora rawhide (134 downloads)

* Total number of packages downloaded in the last seven days.