rmnscnce/kernel-xanmod

Project ID: 40844

Description

kernel-xanmod-cacule is now able to compile akmods properly since 5.12.10-xm1cacule.0 https://pagure.io/kernel-xanmod/issue/2#comment-737288 kernel-xanmod-edge will not be built using LLVM+LTO unlike the Debian-based upstream Instead, LLVM+LTO will be used to build kernel-xanmod-exptl, the experimental branch exclusive to this Copr

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.
  • LLVM's Clang Full LTO build available [5.12-exptl].
  • High responsiveness multitasking CacULE scheduler (SCHED_NORMAL) based on ULE interactivity score mechanism build available [5.12-cacule].
  • Real-time Linux kernel (PREEMPT_RT) build available [5.11-rt].
  • Third-party patchset available: patches
    • CK's high-resolution kernel timers (hrtimer) enhancement.
    • le9's file mappings under memory pressure protection.
    • Futex WAIT_MULTIPLE implementation for Proton Fsync support.
    • Futex2 interface compatible w/ Proton Experimental [5.12].
    • Google's Multigenerational LRU Framework [5.12].
    • 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 / Clang.
    • Clear Linux patchset [partial].
    • ZSTD compression for modules support.
    • 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 distribution
  • GPLv2 license. Can be built for any distribution or purpose.

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
Regarding modules in `exptl`, you have to do this to successfully build kernel modules on `exptl` ``` # Installation sudo dnf in clang llvm lld # make sure the LLVM toolchain is installed env CC=clang LLVM=1 LLVM_IAS=1 sudo -E dnf in kernel-xanmod-exptl{,-devel} # Update sudo dnf in clang llvm lld # make sure the LLVM toolchain is installed env CC=clang LLVM=1 LLVM_IAS=1 sudo -E dnf up kernel-xanmod-exptl\* ```

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

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
Fedora 32 x86_64 (0)* Fedora 32 (0 downloads)
Fedora 33 x86_64 (0)* Fedora 33 (237 downloads)
Fedora 34 x86_64 (0)* Fedora 34 (724 downloads)
Fedora rawhide x86_64 (0)* Fedora rawhide (69 downloads)

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