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.40-xanmod1
a7d285a Linux 5.15.40-xanmod1
a1c6c26 Merge tag 'v5.15.40' into 5.15
ae76649 Linux 5.15.40
5f00232 mm: fix invalid page pointer returned with FOLL_PIN gups
954c78e mm/mlock: fix potential imbalanced rlimit ucounts adjustment
acf3e68 mm/hwpoison: fix error page recovered but reported "not recovered"
13d75c3 mm: userfaultfd: fix missing cache flush in mcopy_atomic_pte() and __mcopy_atomic()
72dd048 mm: shmem: fix missing cache flush in shmem_mfill_atomic_pte()
e36b476 mm: hugetlb: fix missing cache flush in copy_huge_page_from_user()
97a9f80 mm: fix missing cache flush for all tail pages of compound page
9e951f2 udf: Avoid using stale lengthOfImpUse
3d9c1d3 rfkill: uapi: fix RFKILL_IOCTL_MAX_SIZE ioctl request definition
b063e8c Bluetooth: Fix the creation of hdev->name
01986c7 objtool: Fix SLS validation for kcov tail-call replacement
41b6878 crypto: x86/poly1305 - Fixup SLS
f277e36 kvm/emulate: Fix SETcc emulation function offsets with SLS
80c8ac8 tools arch: Update arch/x86/lib/mem{cpy,set}_64.S copies used in 'perf bench mem memcpy'
370d33d x86: Add straight-line-speculation mitigation
d11f96d kbuild: move objtool_args back to scripts/Makefile.build
f835241 x86/alternative: Relax text_poke_bp() constraint
ee4724c objtool: Add straight-line-speculation validation
a467f69 x86: Prepare inline-asm for straight-line-speculation
14b476e x86: Prepare asm files for straight-line-speculation
8983722 x86/lib/atomic64_386_32: Rename things
c9e1854 Linux 5.15.39
4b4f9f1 PCI: aardvark: Update comment about link going down after link-up
0dde2c7 PCI: aardvark: Drop maybe_unused from advk_pcie_disable_phy()
c29d876 PCI: aardvark: Don't mask irq when mapping
f0a2ee9 PCI: aardvark: Remove irq_mask_ack() callback for INTx interrupts
03da50b PCI: aardvark: Use separate INTA interrupt for emulated root bridge
038c151 PCI: aardvark: Fix support for PME requester on emulated bridge
cf7ef0e PCI: aardvark: Add support for PME interrupts
4da95b9 PCI: aardvark: Optimize writing PCI_EXP_RTCTL_PMEIE and PCI_EXP_RTSTA_PME on emulated bridge
2aa9f36 PCI: aardvark: Add support for ERR interrupt on emulated bridge
d8efde3 PCI: aardvark: Enable MSI-X support
0993795 PCI: aardvark: Fix setting MSI address
6e80e16 PCI: aardvark: Add support for masking MSI interrupts
d4bd61f PCI: aardvark: Refactor unmasking summary MSI interrupt
b904c90 PCI: aardvark: Use dev_fwnode() instead of of_node_to_fwnode(dev->of_node)
0a5d0a9 PCI: aardvark: Make msi_domain_info structure a static driver structure
d951cbe PCI: aardvark: Make MSI irq_chip structures static driver structures
9e475a9 PCI: aardvark: Check return value of generic_handle_domain_irq() when processing INTx IRQ
95bd4e1 PCI: aardvark: Rewrite IRQ code to chained IRQ handler
c1e237c PCI: aardvark: Replace custom PCIE_CORE_INT* macros with PCI_INTERRUPT*
ac76c36 PCI: aardvark: Disable common PHY when unbinding driver
a346d08 PCI: aardvark: Disable link training when unbinding driver
246a36b PCI: aardvark: Assert PERST# when unbinding driver
af27f54 PCI: aardvark: Fix memory leak in driver unbind
55e38c4 PCI: aardvark: Mask all interrupts when unbinding driver
5c9fc7a PCI: aardvark: Disable bus mastering when unbinding driver
6ee10cc PCI: aardvark: Comment actions in driver remove method
2855fb2 PCI: aardvark: Clear all MSIs at setup
5ea7bcb PCI: aardvark: Add support for DEVCAP2, DEVCTL2, LNKCAP2 and LNKCTL2 registers on emulated bridge
739c052 PCI: pci-bridge-emul: Add definitions for missing capabilities registers
b3ca84e PCI: pci-bridge-emul: Add description for class_revision field
0060c7b rcu: Apply callbacks processing time limit only on softirq
2c5029d rcu: Fix callbacks processing time limit retaining cond_resched()
38b9770 Revert "parisc: Mark sched_clock unstable only if clocks are not syncronized"
e3c465d mmc: rtsx: add 74 Clocks in power on flow
0b4e160 selftest/vm: verify remap destination address in mremap_test
e8b9989 selftest/vm: verify mmap addr in mremap_test
680e982 KVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised
8e10a00 KVM: x86/mmu: avoid NULL-pointer dereference on page freeing bugs
6b68f26 KVM: x86: Do not change ICR on write to APIC_SELF_IPI
ddba1a4 x86/kvm: Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume
067f2fb KVM: selftests: Silence compiler warning in the kvm_page_table_test
119a65a kvm: selftests: do not use bitfields larger than 32-bits for PTEs
aa9993f iommu/dart: Add missing module owner to ops structure
7f95fdf net/mlx5e: Lag, Don't skip fib events on current dst
7fc51e7 net/mlx5e: Lag, Fix fib_info pointer assignment
197bd97 net/mlx5e: Lag, Fix use-after-free in fib event handler
bc8e742 net/mlx5: Fix slab-out-of-bounds while reading resource dump menu
161568b fbdev: Make fb_release() return -ENODEV if fbdev was unregistered
11f5f23 kvm: x86/cpuid: Only provide CPUID leaf 0xA if host has architectural PMU
3e56e9a gpio: mvebu: drop pwm base assignment
94ca25a drm/amdgpu: Ensure HDA function is suspended before ASIC reset
060102f drm/amdgpu: don't set s3 and s0ix at the same time
22b80bf drm/amdgpu: explicitly check for s0ix when evicting resources
90253ae drm/amdgpu: unify BO evicting method in amdgpu_ttm
3d0e737 btrfs: always log symlinks in full mode
e42a854 btrfs: force v2 space cache usage for subpage mount
1222440 smsc911x: allow using IRQ0
e447338 selftests: ocelot: tc_flower_chains: specify conform-exceed action for policer
4596772 bnxt_en: Fix unnecessary dropping of RX packets
cb0c054 bnxt_en: Fix possible bnxt_open() failure caused by wrong RFS flag
814d91a selftests: mirror_gre_bridge_1q: Avoid changing PVID while interface is operational
01b7fe6 rxrpc: Enable IPv6 checksums on transport socket
9bcb779 mld: respect RCU rules in ip6_mc_source() and ip6_mc_msfilter()
299c189 hinic: fix bug of wq out of bound access
74b9abc btrfs: do not BUG_ON() on failure to update inode when setting xattr
b79815c drm/msm/dp: remove fail safe mode related code
e325bef selftests/net: so_txtime: usage(): fix documentation of default clock
ba5ece3 selftests/net: so_txtime: fix parsing of start time stamp on 32 bit systems
da07b2e net: emaclite: Add error handling for of_address_to_resource()
8010fdb net: igmp: respect RCU rules in ip_mc_source() and ip_mc_msfilter()
8fa3b32 net: cpsw: add missing of_node_put() in cpsw_probe_dt()
1dfbeb8 net: mdio: Fix ENOMEM return value in BCM6368 mux bus controller
1043a3c net: stmmac: dwmac-sun8i: add missing of_node_put() in sun8i_dwmac_register_mdio_mux()
8c70373 net: dsa: mt7530: add missing of_node_put() in mt7530_setup()
bd7e519 net: ethernet: mediatek: add missing of_node_put() in mtk_sgmii_init()
d34f9bb NFSv4: Don't invalidate inode attributes on delegation return
a61a558 RDMA/irdma: Fix possible crash due to NULL netdev in notifier
22d872b RDMA/irdma: Reduce iWARP QP destroy time
62e9930 RDMA/irdma: Flush iWARP QP if modified to ERR from RTR state
546c957 RDMA/siw: Fix a condition race issue in MPA request processing
53b33d4 SUNRPC release the transport of a relocated task with an assigned transport
6352eca selftests/seccomp: Don't call read() on TTY from background pgrp
642e0de net/mlx5: Fix deadlock in sync reset flow
e967439 net/mlx5: Avoid double clear or set of sync reset requested
9d6d76f net/mlx5e: Fix the calling of update_buffer_lossy() API
d9b4965 net/mlx5e: CT: Fix queued up restore put() executing after relevant ft release
32d9ad2 net/mlx5e: Don't match double-vlan packets if cvlan is not set
ec26ba1 net/mlx5e: Fix trust state reset in reload
504d9b8 iommu/dart: check return value after calling platform_get_resource()
af89d88 iommu/vt-d: Drop stop marker messages
48c37e5 ASoC: soc-ops: fix error handling
ad06826 ASoC: dmaengine: Restore NULL prepare_slave_config() callback
051a2ce hwmon: (pmbus) disable PEC if not enabled
64e5dd9 hwmon: (adt7470) Fix warning on module removal
e75dd87 gpio: pca953x: fix irq_stat not updated when irq is disabled (irq_mask not set)
8ec1096 gpio: visconti: Fix fwnode of GPIO IRQ
7bd81a0 NFC: netlink: fix sleep in atomic bug when firmware download timeout
b8f2b83 nfc: nfcmrvl: main: reorder destructive operations in nfcmrvl_nci_unregister_dev to avoid bugs
a2168fb nfc: replace improper check device_is_registered() in netlink related functions
56a5ff9 can: grcan: only use the NAPI poll budget for RX
ab5adbc can: grcan: grcan_probe(): fix broken system id check for errata workaround needs
142305a can: grcan: use ofdev->dev when allocating DMA memory
30a63e7 can: isotp: remove re-binding of bound socket
b266f56 can: grcan: grcan_close(): fix deadlock
392aeec s390/dasd: Fix read inconsistency for ESE DASD devices
12b022a s390/dasd: Fix read for ESE with blksize < 4k
cdf3482 s390/dasd: prevent double format of tracks for ESE devices
99bb425 s390/dasd: fix data corruption for ESE devices
7011cc9 ASoC: meson: Fix event generation for AUI CODEC mux
61c45ce ASoC: meson: Fix event generation for G12A tohdmi mux
c7c0ceb ASoC: meson: Fix event generation for AUI ACODEC mux
66e5f6d ASoC: wm8958: Fix change notifications for DSP controls
a558158 ASoC: da7219: Fix change notifications for tone generator frequency
61808e4 genirq: Synchronize interrupt thread startup
41eebbf net: stmmac: disable Split Header (SPH) for Intel platforms
282eab6 firewire: core: extend card->lock in fw_core_handle_bus_reset
95726e6 firewire: remove check of list iterator against head past the loop body
e259ba5 firewire: fix potential uaf in outbound_phy_packet_callback()
07adb69 timekeeping: Mark NMI safe time accessors as notrace
09e7e3a Revert "SUNRPC: attempt AF_LOCAL connect on setup"
148faea RISC-V: relocate DTB if it's outside memory region
1a78d8f drm/amdgpu: do not use passthrough mode in Xen dom0
c10bab8 drm/amd/display: Avoid reading audio pattern past AUDIO_CHANNELS_COUNT
2c14dda iommu/arm-smmu-v3: Fix size calculation in arm_smmu_mm_invalidate_range()
d503958 iommu/vt-d: Calculate mask for non-aligned flushes
91a97c8 KVM: x86/svm: Account for family 17h event renumberings in amd_pmc_perf_hw_id
2e4d412 x86/fpu: Prevent FPU state corruption
d46f64f gpiolib: of: fix bounds check for 'gpio-reserved-ranges'
a06979e mmc: core: Set HS clock speed before sending HS CMD13
56bba3a mmc: sunxi-mmc: Fix DMA descriptors allocated above 32 bits
3c0a0a2 mmc: sdhci-msm: Reset GCC_SDCC_BCR register for SDHC
d95bad9 ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes
9561b7d ALSA: hda/realtek: Add quirk for Yoga Duet 7 13ITL6 speakers
a494543 parisc: Merge model and model name into one line in /proc/cpuinfo
f9a1dbc MIPS: Fix CP0 counter erratum detection for R4k CPUs
Homepage
Download Linux 5.15.40-xanmod1 source from GitHub
A new XanMod Linux Kernel based on Linux Kernel 5.15.40 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.