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.16.15-xanmod1
395e6dc Linux 5.16.15-xanmod1
cb55c66 Merge tag 'v5.16.15' into 5.16
3ea3a23 Linux 5.16.15
ad7aa68 vhost: allow batching hint without size
2777252 riscv: dts: k210: fix broken IRQs on hart1
00a7429 btrfs: make send work with concurrent block group relocation
7c3ebd4 perf parse: Fix event parser error for hybrid systems
8185af3 drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP
aa093e2 x86/traps: Mark do_int3() NOKPROBE_SYMBOL
248c634 x86/sgx: Free backing memory after faulting the enclave page
173dc5e x86/module: Fix the paravirt vs alternative order
ba4b13a x86/boot: Add setup_indirect support in early_memremap_is_setup_data()
b46bfa5 x86/boot: Fix memremap of setup_indirect structures
ab36cca watch_queue: Make comment about setting ->defunct more accurate
36198e3 watch_queue: Fix lack of barrier/sync/lock between post and read
d7e0519 watch_queue: Free the alloc bitmap when the watch_queue is torn down
6cb5c7e watch_queue: Fix the alloc bitmap size to reflect notes allocated
2f331b8 watch_queue: Fix to always request a pow-of-2 pipe ring size
70bbc08 watch_queue: Fix to release page in ->release()
eef9afd watch_queue, pipe: Free watchqueue state after clearing pipe ring
b36588e watch_queue: Fix filter limit check
c21b0de ARM: fix Thumb2 regression with Spectre BHB
a0347a6 net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE
290902a virtio: acknowledge all features before access
c6b1706 virtio: unexport virtio_finalize_features
62b27d9 swiotlb: rework "fix info leak with DMA_FROM_DEVICE"
cf04a86 arm64: kasan: fix include error in MTE functions
8b2dc21 arm64: Ensure execute-only permissions are not allowed without EPAN
92258a3 arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0
4e10787 tracing/osnoise: Do not unregister events twice
d76e755 tracing/osnoise: Force quiescent states while tracing
4f46ec4 riscv: Fix auipc+jalr relocation range checks
700b81b mmc: meson: Fix usage of meson_mmc_post_req()
f10316c riscv: alternative only works on !XIP_KERNEL
c049b0b net: macb: Fix lost RX packet wakeup race in NAPI receive
d39dc79 staging: gdm724x: fix use after free in gdm_lte_rx()
eaa3d08 staging: rtl8723bs: Fix access-point mode deadlock
58a9bdf fuse: fix pipe buffer lifetime for direct_io
d71d62b fuse: fix fileattr op failure
34b6fde ARM: Spectre-BHB: provide empty stub for non-config
7e4bd0c selftests/memfd: clean up mapping in mfd_fail_write
2246b5e selftest/vm: fix map_fixed_noreplace test failure
eefb9de tracing: Fix selftest config check for function graph start up test
3237183 tracing/osnoise: Make osnoise_main to sleep for microseconds
2a44a82 tracing: Ensure trace buffer is at least 4096 bytes large
ee89f39 ipv6: prevent a possible race condition with lifetimes
728d6b5 Revert "xen-netback: Check for hotplug-status existence before watching"
5f46934 Revert "xen-netback: remove 'hotplug-status' once it has served its purpose"
cb29021 drm/amdgpu: bypass tiling flag check in virtual display case (v2)
5b9d2a0 gpio: Return EPROBE_DEFER if gc->to_irq is NULL
da881c5 PCI: Mark all AMD Navi10 and Navi14 GPU ATS as broken
9c581b0 nvme-tcp: send H2CData PDUs based on MAXH2CDATA
c48932f hwmon: (pmbus) Clear pmbus fault/warning bits after read
3a79f38 net-sysfs: add check for netdevice being present to speed_show
4356343 drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()
4e68c4b x86/kvm: Don't use pv tlb/ipi/sched_yield if on 1 vCPU
0fc4186 of/fdt: move elfcorehdr reservation early for crash dump kernel
1ed68d7 drm/vc4: hdmi: Unregister codec device on unbind
55b06ea spi: rockchip: terminate dma transmission when slave abort
3909752 spi: rockchip: Fix error in getting num-cs property
30e14ba kvm: x86: Disable KVM_HC_CLOCK_PAIRING if tsc is in always catchup mode
e0fe243 KVM: Fix lockdep false negative during host resume
509d24f pinctrl: tigerlake: Revert "Add Alder Lake-M ACPI ID"
e8dc267 usb: dwc3: pci: add support for the Intel Raptor Lake-S
270475d swiotlb: fix info leak with DMA_FROM_DEVICE
f0f2f2a selftests/bpf: Add test for bpf_timer overwriting crash
7e51b3e net: phy: meson-gxl: improve link-up behavior
4b77bae net: bcmgenet: Don't claim WOL when its not available
84c8318 net: arc_emac: Fix use after free in arc_mdio_probe()
d828b0f sctp: fix kernel-infoleak for SCTP sockets
16a93eb net: phy: DP83822: clear MISR2 register to disable interrupts
0e1b9a2 gianfar: ethtool: Fix refcount leak in gfar_get_ts_info
126df63 mm: gup: make fault_in_safe_writeable() use fixup_user_fault()
e032e16 gpio: ts4900: Do not set DAT and OE together
dfd04b2 selftests: pmtu.sh: Kill nettest processes launched in subshell.
8b3d2fd selftests: pmtu.sh: Kill tcpdump processes launched by subshell.
7194737 NFC: port100: fix use-after-free in port100_send_complete
06793f9 net/mlx5e: SHAMPO, reduce TIR indication
171caa1 net/mlx5e: Lag, Only handle events from highest priority multipath entry
0401bfb net/mlx5: Fix a race on command flush flow
7bb1dc8 net/mlx5: Fix size field in bufferx_reg struct
1d83a95 ax25: Fix NULL pointer dereference in ax25_kill_by_device
4cc66bf net: marvell: prestera: Add missing of_node_put() in prestera_switch_set_base_mac_addr
5d07fca net: ethernet: lpc_eth: Handle error for clk_enable
af6d584 net: ethernet: ti: cpts: Handle error for clk_enable
688a5ec tipc: fix incorrect order of state message data sanity check
1852854 ethernet: Fix error handling in xemaclite_of_probe
ed08eab ice: Fix curr_link_speed advertised speed
40e8acf ice: Don't use GFP_KERNEL in atomic context
6a3122b ice: Fix error with handling of bonding MTU
e7ce48d ice: stop disabling VFs due to PF error responses
707dc94 i40e: stop disabling VFs due to PF error responses
09998f5 iavf: Fix handling of vlan strip virtual channel messages
7af5408 ARM: dts: aspeed: Fix AST2600 quad spi group
811aace net: dsa: mt7530: fix incorrect test in mt753x_phylink_validate()
13c3b2d drm/sun4i: mixer: Fix P010 and P210 format numbers
3240a30 drm/i915/psr: Set "SF Partial Frame Enable" also on full update
7e24b2e gpiolib: acpi: Convert ACPI value of debounce to microseconds
f342974 smsc95xx: Ignore -ENODEV errors when device is unplugged
74ca449 qed: return status of qed_iov_get_link
d9d4122 net: gro: move skb_gro_receive_list to udp_offload.c
9a6e4c5 esp: Fix BEET mode inter address family tunneling on GSO
9afe83f esp: Fix possible buffer overflow in ESP transformation
2f49236 net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare()
ec4f8cd isdn: hfcpci: check the return value of dma_set_mask() in setup_hw()
dc54ba9 vdpa: fix use-after-free on vp_vdpa_remove
0842aaa virtio-blk: Remove BUG_ON() in virtio_queue_rq()
bb2269f virtio-blk: Don't use MAX_DISCARD_SEGMENTS if max_discard_seg is zero
d9a747e vhost: fix hung thread due to erroneous iotlb entries
640445d mISDN: Fix memory leak in dsp_pipeline_build()
eb8330e net: phy: meson-gxl: fix interrupt handling in forced mode
553a0b0 vduse: Fix returning wrong type in vduse_domain_alloc_iova()
9f6effc vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command
f4f59fd tipc: fix kernel panic when enabling bearer
1d1719a arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias
381ac58 HID: nintendo: check the return value of alloc_workqueue()
cbcf790 HID: vivaldi: fix sysfs attributes leak
64ace2c soc: mediatek: mt8192-mmsys: Fix dither to dsi0 path's input sel
d55c569 clk: qcom: dispcc: Update the transition delay for MDSS GDSC
530302b clk: qcom: gdsc: Add support to update GDSC transition delay
e5b4f60 ARM: boot: dts: bcm2711: Fix HVS register range
5618543 HID: hid-thrustmaster: fix OOB read in thrustmaster_interrupts
ec73324 HID: elo: Revert USB reference counting
0548068 arm64: dts: qcom: sm8350: Correct UFS symbol clocks
8449429 arm64: dts: qcom: sm8350: Describe GCC dependency clocks
3cfa7ce Linux 5.16.14
cf6eae0 Revert "ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE"
3463064 xen/netfront: react properly to failing gnttab_end_foreign_access_ref()
6d16892 xen/gnttab: fix gnttab_end_foreign_access() without page specified
674d0ae xen/pvcalls: use alloc/free_pages_exact()
d83dd50 xen/9p: use alloc/free_pages_exact()
b3df6e1 xen: remove gnttab_query_foreign_access()
3b72403 xen/gntalloc: don't use gnttab_query_foreign_access()
5ee69f5 xen/scsifront: don't use gnttab_query_foreign_access() for mapped status
741052b xen/netfront: don't use gnttab_query_foreign_access() for mapped status
2261393 xen/blkfront: don't use gnttab_query_foreign_access() for mapped status
0ba1ab2 xen/grant-table: add gnttab_try_end_foreign_access()
69e581a xen/xenbus: don't let xenbus_grant_ring() remove grants in error case
624a3c7 ARM: fix build warning in proc-v7-bugs.c
f68edac arm64: Do not include __READ_ONCE() block in assembly files
7d24138 ARM: Do not use NOCROSSREFS directive with ld.lld
3c68579 ARM: fix co-processor register typo
e65cdb9 ARM: fix build error when BPF_SYSCALL is disabled
80d1978 arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 mitigation reporting
2df4d0a arm64: Use the clearbhb instruction in mitigations
e1e8770 KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated
0b2bf1b arm64: Mitigate spectre style branch history side channels
f0567fc arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2
d4293ed arm64: Add percpu vectors for EL1
b9c2958 arm64: entry: Add macro for reading symbol addresses from the trampoline
d535ca6 arm64: entry: Add vectors that have the bhb mitigation sequences
448a95a arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations
483fa53 arm64: entry: Allow the trampoline text to occupy multiple pages
984e7e3 arm64: entry: Make the kpti trampoline's kpti sequence optional
e0077b0 arm64: entry: Move trampoline macros out of ifdef'd section
dfb2599 arm64: entry: Don't assume tramp_vectors is the start of the vectors
5da0c4b arm64: entry: Allow tramp_alias to access symbols after the 4K boundary
62cfcf8 arm64: entry: Move the trampoline data page before the text page
57e9a5f arm64: entry: Free up another register on kpti's tramp_exit path
7b63df9 arm64: entry: Make the trampoline cleanup optional
46af6fc KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A
346793c arm64: spectre: Rename spectre_v4_patch_fw_mitigation_conduit
d1e3d6d arm64: entry.S: Add ventry overflow sanity checks
b6f9598 arm64: cpufeature: add HWCAP for FEAT_RPRES
549ee09 arm64: cpufeature: add HWCAP for FEAT_AFP
6876d90 arm64: add ID_AA64ISAR2_EL1 sys register
680e356 ARM: include unprivileged BPF status in Spectre V2 reporting
9fd1d31 ARM: Spectre-BHB workaround
21ceffd ARM: use LOADADDR() to get load address of sections
0f0fd6e ARM: early traps initialisation
f5eb0f1 ARM: report Spectre v2 status through sysfs
db3eacc x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT
19b78a9 x86/speculation: Warn about Spectre v2 LFENCE mitigation
23cc87c x86/speculation: Update link to AMD speculation whitepaper
1984feb x86/speculation: Use generic retpoline by default on AMD
6710bd5 x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting
227649a Documentation/hw-vuln: Update spectre doc
9b629ee x86/speculation: Add eIBRS + Retpoline options
56829c1 x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE
Homepage
Download Linux 5.16.15-xanmod1 source from GitHub
A new XanMod Linux Kernel based on Linux Kernel 5.16.15 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.