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.
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
exptl
variant
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 jplie/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 --force
in the terminal to do so.
※ This might also apply for other proprietary kernel modules like VMWare and Broadcom's wl
driver. Adjust accordingly.
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 (1)* | Centos-stream 8 (24 downloads) |
Centos-stream 9 | x86_64 (16)* | Centos-stream 9 (18 downloads) |
EPEL 8 | x86_64 (3)* | EPEL 8 (20 downloads) |
Fedora 38 | x86_64 (19)* | Fedora 38 (0 downloads) |
Fedora 39 | x86_64 (13)* | Fedora 39 (29 downloads) |
Fedora 40 | x86_64 (0)* | Fedora 40 (13 downloads) |
Fedora 41 | x86_64 (0)* | Fedora 41 (5 downloads) |
Fedora rawhide | x86_64 (23)* | Fedora rawhide (17 downloads) |
* Total number of downloaded packages.