Software 42771 Published by

A new XanMod Linux Kernel based on Linux Kernel 5.9.0 has been released. XanMod is a general-purpose Linux kernel distribution with custom settings and new features. The real-time version is recommended for critical runtime applications such as Linux gaming eSports, streaming, live productions and ultra-low latency enthusiasts.





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 Debian and Ubuntu-based systems.

Main Features

  • Preemptive Full Tickless Kernel at 500Hz w/ Tuned CPU Core Scheduler.
  • RCU Boost for better responsiveness and lower overall system latency.
  • Block Layer w/ multi-threaded runqueue for high I/O throughput.
  • Caching, Virtual Memory Manager and CPUFreq Governor improvements.
  • BBR TCP Congestion Control + FQ-PIE Packet Scheduling and AQM Algorithm [5.8].
  • ORC Unwinder for Kernel Stack Traces (debuginfo) implementation.
  • Third-party patchset available: ZSTD kernel, initrd and modules support [5.8][5.6-rt], Full x86_64 FSGSBASE instructions [5.8], Clear Linux [partial], CK's Hrtimer Patchset [5.8][5.4], Wine / Proton Fsync, PCIe ACS Override, BMQ Process Scheduler [5.4 stock disabled], Aufs [5.4] and GCC graysky's.
  • Real-time Linux kernel (PREEMPT_RT) build available [5.6-rt][5.4-rt].
  • Generic kernel package for compatibility with most Debian & Ubuntu based distributions. Built on the latest GCC 10.2 and Binutils 2.35.
  • GPLv2 license. Can be built for any distribution or purpose.

Install via Terminal

echo 'deb  http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-kernel.list && wget -qO -  https://dl.xanmod.org/gpg.key | sudo apt-key add -

Then update and install:

sudo apt update && sudo apt install linux-xanmod

Reboot.

Meta packages available: linux-xanmod [5.8]linux-xanmod-edge [5.8]linux-xanmod-lts [5.4]linux-xanmod-rt-edge [5.6-rt] and linux-xanmod-rt [5.4-rt].

To try without adding the repository

Download from Sourceforge and install:
https://sourceforge.net/projects/xanmod/files/

  1. In terminal:
    sudo dpkg -i linux-image-*xanmod*.deb linux-headers-*xanmod*.deb
  2. Reboot.
  • Check it:
    cat /proc/version
* linux-firmware-image package is optional

Linux 5.9.0-xanmod1

  • 5409fb1 Linux 5.9.0-xanmod1
  • 2524d03 selftests: futex: Add FUTEX_WAIT_MULTIPLE wake up test
  • f26dbd9 selftests: futex: Add FUTEX_WAIT_MULTIPLE wouldblock test
  • 6fc9ab5 selftests: futex: Add FUTEX_WAIT_MULTIPLE timeout test
  • f6f9dce futex: Restore futex_key
  • b3eb7a4 futex: Implement mechanism to wait on any of several futexes
  • af53b9e android: Export symbols needed by Android drivers
  • a3a4618 android: Enable building ashmem and binder as modules
  • 1a421e2 init/Kconfig: Enable -O3 KBUILD_CFLAGS optimization for all architectures
  • 59e6f88 sysctl: fix build when CONFIG_PRINTK=n
  • 181b1d8 clockevents, hrtimer: Make hrtimer granularity and minimum hrtimeout configurable in sysctl. Set default granularity to 100us and min timeout to 500us.
  • 97f8559 time: Don't use hrtimer overlay when pm_freezing since some drivers still don't correctly use freezable timeouts.
  • 7c97cfd hrtimer: Replace all calls to schedule_timeout_uninterruptible of potentially under 50ms to use schedule_msec_hrtimeout_uninterruptible
  • 3ddac93 hrtimer: Replace all calls to schedule_timeout_interruptible of potentially under 50ms to use schedule_msec_hrtimeout_interruptible.
  • b101027 hrtimer: Replace all schedule timeout(1) with schedule_min_hrtimeout()
  • c79c34d timer: Convert msleep to use hrtimers when active.
  • a2cbdf6 time: Special case calls of schedule_timeout(1) to use the min hrtimeout of 1ms, working around low Hz resolutions.
  • a1f3f29 hrtimer: Create highres timeout variants of schedule_timeout functions.
  • 3310f5d locking: rwsem: spin faster
  • fa55f3b firmware: Enable stateless firmware loading
  • 47c4736 intel_rapl: Silence rapl trace debug
  • 9562989 x86/kconfig: Enable additional cpu optimizations for gcc v10.1+ kernel v5.8
  • 324aac9 init: add support for zstd compressed modules
  • a82da6f trace: add trace events for open(), exec() and uselib() (for v3.7+)
  • 06c4709 lib/kconfig.debug: disable default CONFIG_SYMBOLIC_ERRNAME and CONFIG_DEBUG_BUGVERBOSE
  • 8e091ac scripts: disable the localversion "+" tag of a git repo
  • 3bf84bc cpufreq: tunes ondemand and conservative governor for performance
  • 15f3306 pci: Enable overrides for missing ACS capabilities
  • c23953c mm/vmscan: vm_swappiness = 30 decreases the amount of swapping
  • 59a6dba sched/autogroup: Add kernel parameter and config option to enable/disable autogroup feature by default
  • 28c5dcb dcache: cache_pressure = 50 decreases the rate at which VFS caches are reclaimed
  • cec299f kconfig: set PREEMPT and RCU_BOOST without delay by default
  • 92e2b6b kconfig: add 500Hz timer interrupt kernel config option
  • 9531167 block: set rq_affinity = 2 for full multithreading I/O requests
  • 06ed096 mm: set 2 megabytes for address_space-level file read-ahead pages size
  • d87acd3 sched/core: nr_migrate = 256 increases number of tasks to iterate in a single balance run.
  • da07b4c modules: disinherit TAINT_PROPRIETARY_MODULE

Linux 5.9.0-rt16-xanmod1

  • 914f177 Linux 5.9.0-rt16-xanmod1
  • 551ea49 futex: Restore futex_key
  • c8a6ce3 kconfig: set PREEMPT_RT and RCU_BOOST without delay by default
  • a723c37 sched/core: nr_migrate = 128 increases number of tasks to iterate in a single balance run.
  • c89b9f8 Merge tag 'v5.9-rt16' into 5.9
    |\
    | * e62b5d1 v5.9-rt16
    | * b574b04 tcp: Remove superfluous BH-disable around listening_hash
    | * 166899d rtmutex: Always evaluate subclass argument
  • 8c5b009 Revert "futex: Restore futex_key"
  • e8e8fea Revert "kconfig: set PREEMPT and RCU_BOOST without delay by default"
  • 531711c Revert "sched/core: nr_migrate = 256 increases number of tasks to iterate in a single balance run."
  • 5409fb1 Linux 5.9.0-xanmod1
  • 2524d03 selftests: futex: Add FUTEX_WAIT_MULTIPLE wake up test
  • f26dbd9 selftests: futex: Add FUTEX_WAIT_MULTIPLE wouldblock test
  • 6fc9ab5 selftests: futex: Add FUTEX_WAIT_MULTIPLE timeout test
  • f6f9dce futex: Restore futex_key
  • b3eb7a4 futex: Implement mechanism to wait on any of several futexes
  • af53b9e android: Export symbols needed by Android drivers
  • a3a4618 android: Enable building ashmem and binder as modules
  • 1a421e2 init/Kconfig: Enable -O3 KBUILD_CFLAGS optimization for all architectures
  • 59e6f88 sysctl: fix build when CONFIG_PRINTK=n
  • 181b1d8 clockevents, hrtimer: Make hrtimer granularity and minimum hrtimeout configurable in sysctl. Set default granularity to 100us and min timeout to 500us.
  • 97f8559 time: Don't use hrtimer overlay when pm_freezing since some drivers still don't correctly use freezable timeouts.
  • 7c97cfd hrtimer: Replace all calls to schedule_timeout_uninterruptible of potentially under 50ms to use schedule_msec_hrtimeout_uninterruptible
  • 3ddac93 hrtimer: Replace all calls to schedule_timeout_interruptible of potentially under 50ms to use schedule_msec_hrtimeout_interruptible.
  • b101027 hrtimer: Replace all schedule timeout(1) with schedule_min_hrtimeout()
  • c79c34d timer: Convert msleep to use hrtimers when active.
  • a2cbdf6 time: Special case calls of schedule_timeout(1) to use the min hrtimeout of 1ms, working around low Hz resolutions.
  • a1f3f29 hrtimer: Create highres timeout variants of schedule_timeout functions.
  • 3310f5d locking: rwsem: spin faster
  • fa55f3b firmware: Enable stateless firmware loading
  • 47c4736 intel_rapl: Silence rapl trace debug
  • 9562989 x86/kconfig: Enable additional cpu optimizations for gcc v10.1+ kernel v5.8
  • 324aac9 init: add support for zstd compressed modules
  • a82da6f trace: add trace events for open(), exec() and uselib() (for v3.7+)
  • 06c4709 lib/kconfig.debug: disable default CONFIG_SYMBOLIC_ERRNAME and CONFIG_DEBUG_BUGVERBOSE
  • 8e091ac scripts: disable the localversion "+" tag of a git repo
  • 3bf84bc cpufreq: tunes ondemand and conservative governor for performance
  • 15f3306 pci: Enable overrides for missing ACS capabilities
  • c23953c mm/vmscan: vm_swappiness = 30 decreases the amount of swapping
  • 59a6dba sched/autogroup: Add kernel parameter and config option to enable/disable autogroup feature by default
  • 28c5dcb dcache: cache_pressure = 50 decreases the rate at which VFS caches are reclaimed
  • cec299f kconfig: set PREEMPT and RCU_BOOST without delay by default
  • 92e2b6b kconfig: add 500Hz timer interrupt kernel config option
  • 9531167 block: set rq_affinity = 2 for full multithreading I/O requests
  • 06ed096 mm: set 2 megabytes for address_space-level file read-ahead pages size
  • d87acd3 sched/core: nr_migrate = 256 increases number of tasks to iterate in a single balance run.
  • da07b4c modules: disinherit TAINT_PROPRIETARY_MODULE

Xanmod

Homepage
Download Linux 5.9.0-xanmod1 source from GitHub
Download Linux 5.9.0-rt16-xanmod1 source from GitHub