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-xanmodReboot.
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
* linux-firmware-image package is optionalDownload from Sourceforge and install:
https://sourceforge.net/projects/xanmod/files/
In terminal:sudo dpkg -i linux-image-*xanmod*.deb linux-headers-*xanmod*.deb Reboot.
Check it:cat /proc/version
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
Homepage
Download Linux 5.9.0-xanmod1 source from GitHub
Download Linux 5.9.0-rt16-xanmod1 source from GitHub