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 5.15.36-xanmod1
21e6525 Linux 5.15.36-xanmod1
935e783 Merge tag 'v5.15.36' into 5.15
45451e8 Linux 5.15.36
bb906d1 arm64: dts: qcom: add IPA qcom,qmp property
1ea01e6 block/compat_ioctl: fix range check in BLKGETSIZE
6a3c609 spi: atmel-quadspi: Fix the buswidth adjustment between spi-mem and controller
b1b8f39 jbd2: fix a potential race while discarding reserved buffers after an abort
2e25c46 netfilter: nft_ct: fix use after free when attaching zone template
2b273d1 ext4: force overhead calculation if the s_overhead_cluster makes no sense
52ca84a ext4: fix overhead calculation to account for the reserved gdt blocks
6b95256 ext4, doc: fix incorrect h_reserved size
9b90003 ext4: limit length to bitmap_maxbytes - blocksize in punch_hole
e391277 ext4: fix use-after-free in ext4_search_dir
8bb5676 ext4: fix symlink file size not match to file content
ba50ea4 ext4: fix fallocate to use file_modified to update permissions consistently
67e4860 netfilter: conntrack: avoid useless indirection during conntrack destruction
bcba40b netfilter: conntrack: convert to refcount_t api
4bbd693 KVM: SVM: Flush when freeing encrypted pages even on SME_COHERENT CPUs
8b2da96 KVM: nVMX: Defer APICv updates while L2 is active until L1 is active
a41b324 KVM: x86: Pend KVM_REQ_APICV_UPDATE during vCPU creation to fix a race
2b4417a KVM: x86/pmu: Update AMD PMC sample period to fix guest NMI-watchdog
87d95ff arm_pmu: Validate single/group leader events
4d98fbb ARC: entry: fix syscall_trace_exit argument
7b69c07 e1000e: Fix possible overflow in LTR decoding
73a0b4c ASoC: soc-dapm: fix two incorrect uses of list iterator
571a67b gpio: Request interrupts after IRQ is initialized
e411af9 openvswitch: fix OOB access in reserve_sfa_size()
bac4cad xtensa: fix a7 clobbering in coprocessor context load/store
91335ca xtensa: patch_text: Fixup last cpu should be master
49952e3 perf report: Set PERF_SAMPLE_DATA_SRC bit for Arm SPE event
04ecea2 perf script: Always allow field 'data_src' for auxtrace
a92335b powerpc/perf: Fix power10 event alternatives
7a56867 powerpc/perf: Fix power9 event alternatives
53c4a9f drm/vc4: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() usage
9dc46d2 KVM: PPC: Fix TCE handling for VFIO
76614b1 drm/panel/raspberrypi-touchscreen: Initialise the bridge in prepare
7981351 drm/panel/raspberrypi-touchscreen: Avoid NULL deref if not initialised
5663708 perf/core: Fix perf_mmap fail when CONFIG_PERF_USE_VMALLOC enabled
b1b9294 sched/pelt: Fix attach_entity_load_avg() corner case
914473a scsi: sr: Do not leak information in ioctl
f0cfae3 Input: omap4-keypad - fix pm_runtime_get_sync() error checking
2325419 net: atlantic: invert deep par in pm functions, preventing null derefs
6b8af9f dmaengine: imx-sdma: fix init of uart scripts
1a8d166 dma: at_xdmac: fix a missing check on list iterator
d10a711 ata: pata_marvell: Check the 'bmdma_addr' beforing reading
48b2ab1 mm/mmu_notifier.c: fix race in mmu_interval_notifier_remove()
41ba681 oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup
9dcb65c mm, hugetlb: allow for "high" userspace addresses
07bdd20 memcg: sync flush only if periodic flush is delayed
9c71b29 mm/memory-failure.c: skip huge_zero_page in memory_failure()
b812919 EDAC/synopsys: Read the error count from the correct register
87dd813 nvme-pci: disable namespace identifiers for Qemu controllers
dab2f47 nvme-pci: disable namespace identifiers for the MAXIO MAP1002/1202
25f37ed nvme: add a quirk to disable namespace identifiers
4a9f9f1 VFS: filename_create(): fix incorrect intent.
773ca67 stat: fix inconsistency between struct stat and struct compat_stat
80c713a scsi: qedi: Fix failed disconnect handling
c7f4f30 scsi: iscsi: Fix NOP handling during conn recovery
e4efe86 scsi: iscsi: Merge suspend fields
740411e scsi: iscsi: Release endpoint ID when its freed
123a52e net: macb: Restart tx only if queue pointer is lagging
bc663ff drm/msm/mdp5: check the return of kzalloc()
5fe8645 dpaa_eth: Fix missing of_node_put in dpaa_get_ts_info()
48e1db2 brcmfmac: sdio: Fix undefined behavior due to shift overflowing the constant
e25b350 mt76: Fix undefined behavior due to shift overflowing the constant
a7a651d net: atlantic: Avoid out-of-bounds indexing
213330b cifs: Check the IOCB_DIRECT flag, not O_DIRECT
6085e24 vxlan: fix error return code in vxlan_fdb_append
32fe43d arm64: dts: imx: Fix imx8*-var-som touchscreen property sizes
f0ba965 drm/msm/disp: check the return value of kzalloc()
b78d403 ALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant
9d441c2 platform/x86: samsung-laptop: Fix an unsigned comparison which can never be negative
4426116 reset: tegra-bpmp: Restore Handle errors in BPMP response
a6ec9d9 reset: renesas: Check return value of reset_control_deassert()
70fa727 ARM: vexpress/spc: Avoid negative array index when !SMP
d3acd3f arm64: mm: fix p?d_leaf()
ec9cb70 selftests: mlxsw: vxlan_flooding: Prevent flooding of unwanted packets
6b9a418 dmaengine: idxd: skip clearing device context when device is read-only
49047fa dmaengine: idxd: add RO check for wq max_transfer_size write
6c30e09 dmaengine: idxd: add RO check for wq max_batch_size write
e83acf9 net: stmmac: Use readl_poll_timeout_atomic() in atomic state
7995713 drm/i915/display/psr: Unset enable_psr2_sel_fetch if other checks in intel_psr2_config_valid() fails
f3552c3 netlink: reset network and mac headers in netlink_dump()
93581ae net: mscc: ocelot: fix broken IP multicast flooding
6a5ca57 net: dsa: hellcreek: Calculate checksums in tagger
40ebaf7 can: isotp: stop timeout monitoring when no first frame was sent
652a540 ipv6: make ip6_rt_gc_expire an atomic_t
d23fe66 l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu
58bdbd1 net/sched: cls_u32: fix possible leak in u32_init_knode()
1b4fb10 net: restore alpha order to Ethernet devices in config
d5049ef ip6_gre: Fix skb_under_panic in __gre6_xmit()
3cc2f6b ip6_gre: Avoid updating tunnel->tun_hlen in __gre6_xmit()
ab26f11 net/packet: fix packet_sock xmit return value checking
b355ca6 net/smc: Fix sock leak when release after smc_shutdown()
8fe1bf2 rxrpc: Restore removed timer deletion
09da8cf ALSA: hda/hdmi: fix warning about PCM count when used with SOF
c7c71b3 igc: Fix suspending when PTM is active
da323d0 igc: Fix BUG: scheduling while atomic
b3ce7d3 igc: Fix infinite loop in release_swfw_sync
8920a03 spi: cadence-quadspi: fix incorrect supports_op() return value
a583f2f esp: limit skb_page_frag_refill use to a single page
76900a1 spi: spi-mtk-nor: initialize spi controller after resume
84e77e7 dmaengine: dw-edma: Fix unaligned 64bit access
d18fb19 dmaengine: mediatek:Fix PM usage reference leak of mtk_uart_apdma_alloc_chan_resources
8932d9e dmaengine: imx-sdma: Fix error checking in sdma_event_remap
a8be458 dmaengine: idxd: fix device cleanup on disable
6168532 ASoC: codecs: wcd934x: do not switch off SIDO Buck when codec is in use
053bd96 ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component
9a4c63e ASoC: rk817: Use devm_clk_get() in rk817_platform_probe
bc15442 ASoC: topology: Correct error handling in soc_tplg_dapm_widget_create()
bc7d013 ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek
2367856 ALSA: hda/realtek: Add quirk for Clevo NP70PNP
aaa22e5 ALSA: usb-audio: Clear MIDI port active flag after draining
ba9e9a7 net/sched: cls_u32: fix netns refcount changes in u32_change()
8dfec6e scsi: ufs: core: scsi_get_lba() error fix
c2d0cdf gfs2: assign rgrp glock before compute_bitstructs
a52e73b mm, kfence: support kmem_dump_obj() for KFENCE objects
3876c57 perf tools: Fix segfault accessing sample_id xyarray
77a4679 mm: page_alloc: fix building error on -Werror=array-compare
3177d04 etherdevice: Adjust ether_addr* prototypes to silence -Wstringop-overead
3f7b1a8 arm64/mm: drop HAVE_ARCH_PFN_VALID
c01430c dma-mapping: remove bogus test for pfn_valid from dma_map_resource
155ae05 xfs: return errors in xfs_fs_sync_fs
935745a vfs: make sync_filesystem return errors from ->sync_fs
6eb927e block: simplify the block device syncing code
7877e7a block: remove __sync_blockdev
4b7617a fs: remove __sync_filesystem
Homepage
Download Linux 5.15.36-xanmod1 source from GitHub
A new XanMod Linux Kernel based on Linux Kernel 5.15.36 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.