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, linux-xanmod-edge, linux-xanmod-lts, linux-xanmod-rt-edge and linux-xanmod-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 6.0.0-xanmod1
3325905 Linux 6.0.0-xanmod1
4e2684e XANMOD: scripts/setlocalversion: Move localversion* files to the end
b338392 mm/mmap.c: pass in mapping to __vma_link_file()
30cbc90 mm/mmap: drop range_has_overlap() function
7a1831e mm: remove the vma linked list
24100db mm/vmscan: Use vma iterator instead of vm_next
7e973ae riscv: use vma iterator for vdso
65eddff nommu: remove uses of VMA linked list
011fd66 i915: use the VMA iterator
07fa267 mm/swapfile: use vma iterator instead of vma linked list
3f2dc51 mm/pagewalk: use vma_find() instead of vma linked list
11cdab3 mm/oom_kill: use vma iterators instead of vma linked list
14cbb30 mm/msync: use vma_find() instead of vma linked list
619b900 mm/mremap: use vma_find_intersection() instead of vma linked list
1f4c5c0 mm/mprotect: use maple tree navigation instead of VMA linked list
e6e5678 mm/mlock: use vma iterator and maple state instead of vma linked list
4f10986 mm/mempolicy: use vma iterator & maple state instead of vma linked list
19543af mm/memcontrol: stop using mm->highest_vm_end
56978fa mm/madvise: use vma_find() instead of vma linked list
24272c4 mm/ksm: use vma iterators instead of vma linked list
46a4d13 mm/khugepaged: stop using vma linked list
4294269 mm/gup: use maple tree navigation instead of linked list
1efb0e0 bpf: remove VMA linked list
2f225aa fork: use VMA iterator
4bfb9c0 sched: use maple tree iterator to walk VMAs
655e803 perf: use VMA iterator
4647180 acct: use VMA iterator instead of linked list
c281f41 ipc/shm: use VMA iterator instead of linked list
8e8a314 userfaultfd: use maple tree iterator to iterate VMAs
bf18fab fs/proc/task_mmu: stop using linked list and highest_vm_end
d0759b7 fs/proc/base: use the vma iterators in place of linked list
3425245 exec: use VMA iterator instead of linked list
f61fbb1 coredump: remove vma linked list walk
a057c37 um: remove vma linked list walk
23e102b optee: remove vma linked list walk
ae7b8b0 cxl: remove vma linked list walk
16f285c xtensa: remove vma linked list walks
e032385 x86: remove vma linked list walks
ab8cba2 s390: remove vma linked list walks
82a213a powerpc: remove mmap linked list walks
e4d76d7 parisc: remove mmap linked list from cache handling
feb9d76 arm64: Change elfcore for_each_mte_vma() to use VMA iterator
b23a4e9 arm64: remove mmap linked list from vdso
32dffe9 mm/mmap: change do_brk_munmap() to use do_mas_align_munmap()
e4e0fea mm/mmap: reorganize munmap to use maple states
63744e3 mm/mmap: move mmap_region() below do_munmap()
cff2b0d mm: convert vma_lookup() to use mtree_load()
8b7fd05 mm: remove vmacache
62a0f26 mm/mmap: use advanced maple tree API for mmap_region()
7976c7c mm: use maple tree operations for find_vma_intersection()
1108eb0 mm/mmap: change do_brk_flags() to expand existing VMA and add do_brk_munmap()
6cccf3f mm/khugepaged: optimize collapse_pte_mapped_thp() by using vma_lookup()
0c073f9 mm: optimize find_exact_vma() to use vma_lookup()
4193619 xen: use vma_lookup() in privcmd_ioctl_mmap()
8af043f mmap: change zeroing of maple tree in __vma_adjust()
c9a2202 mm: remove rb tree.
0706d04 proc: remove VMA rbtree use from nommu
3b1673b damon: convert __damon_va_three_regions to use the VMA iterator
17d2ccb kernel/fork: use maple tree for dup_mmap() during forking
4a99e8a mm/mmap: use maple tree for unmapped_area{_topdown}
772d54e mm/mmap: use the maple tree for find_vma_prev() instead of the rbtree
76903aa mm/mmap: use the maple tree in find_vma() instead of the rbtree.
f399b7d mmap: use the VMA iterator in count_vma_pages_range()
054d834 mm: add VMA iterator
9ad235c mm: start tracking VMAs with maple tree
ebce1b5 lib/test_maple_tree: add testing for maple tree
a6503ef radix tree test suite: add lockdep_is_held to header
0847806 radix tree test suite: add support for slab bulk APIs
2e772b6 radix tree test suite: add allocation counts and size to kmem_cache
17baf64 radix tree test suite: add kmem_cache_set_non_kernel()
311edb5 radix tree test suite: add pr_err define
239f3ec Maple Tree: add new data structure
83f537f mm: multi-gen LRU: design doc
a8ee626 mm: multi-gen LRU: admin guide
a40c369 mm: multi-gen LRU: debugfs interface
a91dd6b mm: multi-gen LRU: thrashing prevention
ca93c00 mm: multi-gen LRU: kill switch
040561f mm: multi-gen LRU: optimize multiple memcgs
d69a189 mm: multi-gen LRU: support page table walks
ea5691a mm: multi-gen LRU: exploit locality in rmap
40829ec mm: multi-gen LRU: minimal implementation
22dd511 mm: multi-gen LRU: groundwork
c4bf71f Revert "include/linux/mm_inline.h: fold __update_lru_size() into its sole caller"
64c694c mm/vmscan.c: refactor shrink_node()
2cc2cfa mm: x86: add CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG
70410b3 mm: x86, arm64: add arch_has_hw_pte_young()
480fefb i2c: busses: Add SMBus capability to work with OpenRGB driver control
337e4ff pci: Enable overrides for missing ACS capabilities
7214178 sysctl: add sysctl to disallow unprivileged CLONE_NEWUSER by default
7255ae8 winesync: Introduce the winesync driver and character device patchset
1da1676 SAUCE: binder: give binder_alloc its own debug mask file
d040142 SAUCE: binder: turn into module
ad732be init: wait for partition and retry scan
6ff1c29 drivers: initialize ata before graphics
4a47a48 locking: rwsem: spin faster
b1ffe7a firmware: Enable stateless firmware loading
8408ab7 intel_rapl: Silence rapl trace debug
58db882 netfilter: Add full cone NAT support
c6d0bc2 mac80211: ignore AP power level when tx power type is "fixed"
fc0293a net-tcp_bbr: v2: Use correct 64-bit division
5fdaa51 net-tcp_bbr: v2: Fix missing ECT markings on retransmits for BBRv2
e878e3a net-tcp_bbr: v2: don't assume prior_cwnd was set entering CA_Loss
a920e71 net-tcp_bbr: v2: remove cycle_rand parameter that is unused in BBRv2
d5cb303 net-tcp_bbr: v2: remove field bw_rtts that is unused in BBRv2
c21f9f1 net-tcp_bbr: v2: remove unnecessary rs.delivered_ce logic upon loss
bb7e932 net-tcp_bbr: v2: BBRv2 ("bbr2") congestion control for Linux TCP
91caa8f net-tcp: add fast_ack_mode=1: skip rwin check in tcp_fast_ack_mode__tcp_ack_snd_check()
fbb5ead net-tcp: re-generalize TSO sizing in TCP CC module API
d4d3336 net-tcp: add new ca opts flag TCP_CONG_WANTS_CE_EVENTS
deaeafb net-tcp_bbr: v2: set tx.in_flight for skbs in repair write queue
12b1c17 net-tcp_bbr: v2: adjust skb tx.in_flight upon split in tcp_fragment()
39fc288 net-tcp_bbr: v2: adjust skb tx.in_flight upon merge in tcp_shifted_skb()
6dfefa3 net-tcp_bbr: v2: factor out tx.in_flight setting into tcp_set_tx_in_flight()
2877a7d net-tcp_bbr: v2: introduce ca_ops->skb_marked_lost() CC module callback API
75175c3 net-tcp_bbr: v2: export FLAG_ECE in rate_sample.is_ece
9daa252 net-tcp_bbr: v2: count packets lost over TCP rate sampling interval
067a40a net-tcp_bbr: v2: snapshot packets in flight at transmit time and pass in rate_sample
d4ff8ef net-tcp_bbr: v2: shrink delivered_mstamp, first_tx_mstamp to u32 to free up 8 bytes
9f28645 net-tcp_bbr: broaden app-limited rate sample detection
0b4908d futex: Add entry point for FUTEX_WAIT_MULTIPLE (opcode 31)
6cbaa60 XANMOD: Makefile: Move ARM and x86 instruction set selection to kernel-wide build
8972dc1 x86/kconfig: more uarches for kernel 5.17+
bfe5811 XANMOD: Makefile: Disable GCC vectorization on trees
38286c0 XANMOD: lib/kconfig.debug: disable default CONFIG_SYMBOLIC_ERRNAME and CONFIG_DEBUG_BUGVERBOSE
4f60f99 XANMOD: scripts/setlocalversion: remove "+" tag for git repo short version
f56b3ee XANMOD: cpufreq: tunes ondemand and conservative governor for performance
1bae2d9 XANMOD: mm/vmscan: vm_swappiness = 30 decreases the amount of swapping
00f5d3b XANMOD: sched/autogroup: Add kernel parameter and config option to enable/disable autogroup feature by default
2ddcdff XANMOD: dcache: cache_pressure = 50 decreases the rate at which VFS caches are reclaimed
babc130 XANMOD: kconfig: add 500Hz timer interrupt kernel config option
8be2745 XANMOD: block: set rq_affinity to force full multithreading I/O requests
6771df7 XANMOD: block/mq-deadline: Increase write priority to improve responsiveness
0e6988b XANMOD: block/mq-deadline: Disable front_merges by default
be5d689 XANMOD: Change rcutree.kthread_prio to SCHED_RR policy
68ac4be XANMOD: fair: Remove all energy efficiency functions
192c74f XANMOD: x86/build: Add more x86_64 optimizations
4fe89d0 Linux 6.0
Homepage
Download Linux 6.0.0-xanmod1 source from GitHub
A new XanMod Linux Kernel based on the new Linux Kernel 6.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.