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.43-xanmod1
f800a90 Linux 5.15.43-xanmod1
2c87d00 Merge tag 'v5.15.43' into 5.15
0e5bb33 Linux 5.15.43
d12cd0b mptcp: Do TCP fallback on early DSS checksum failure
c5871dd Linux 5.15.42
94bf8bf afs: Fix afs_getattr() to refetch file status if callback break occurred
e7647dd i2c: mt7621: fix missing clk_disable_unprepare() on error in mtk_i2c_probe()
69c5d30 lockdown: also lock down previous kgdb use
649178c mt76: mt7921e: fix possible probe failure after reboot
a2797b5 dt-bindings: pinctrl: aspeed-g6: remove FWQSPID group
331c574 Input: ili210x - fix reset timing
149a25b arm64: Enable repeat tlbi workaround on KRYO4XX gold CPUs
47840af net: atlantic: verify hw_head_ lies within TX buffer ring
948ddbd net: atlantic: add check for MAX_SKB_FRAGS
2d1b336 net: atlantic: reduce scope of is_rsc_complete
d955f45 net: atlantic: fix "frag[0] not initialized"
fd721da net: stmmac: fix missing pci_disable_device() on error in stmmac_pci_probe()
b076fa1 ethernet: tulip: fix missing pci_disable_device() on error in tulip_init_one()
dc5c5b7 nl80211: fix locking in nl80211_set_tx_bitrate_mask()
7140149 net: fix wrong network header length
4f631f9 fbdev: Prevent possible use-after-free in fb_release()
92dc627 Revert "fbdev: Make fb_release() return -ENODEV if fbdev was unregistered"
9e87c22 selftests: add ping test with ping_group_range tuned
020fb19 nl80211: validate S1G channel width
4bcc2ab mac80211: fix rx reordering with non explicit / psmp ack policy
e2c54b9 scsi: qla2xxx: Fix missed DMA unmap for aborted commands
d711a21 scsi: scsi_dh_alua: Properly handle the ALUA transitioning state
0b56244 perf bench numa: Address compiler error on s390
dff5463 perf regs x86: Fix arch__intr_reg_mask() for the hybrid platform
d883b2e gpio: mvebu/pwm: Refuse requests with inverted polarity
e7c6ac3 gpio: gpio-vf610: do not touch other bits when set the target bit
86eac8d perf build: Fix check for btf__load_from_kernel_by_id() in libbpf
e807932 scsi: ufs: core: Fix referencing invalid rsp field
d0116a3 riscv: dts: sifive: fu540-c000: align dma node name with dtschema
11ad6ba net: bridge: Clear offload_fwd_mark when passing frame up bridge interface.
88b9376 netfilter: flowtable: move dst_check to packet path
c1e170b netfilter: flowtable: pass flowtable to nf_flow_table_iterate()
b8835ba netfilter: flowtable: fix TCP flow teardown
e723f67 igb: skip phy status check where unavailable
bf6800a mptcp: fix checksum byte order
f67eeb0 mptcp: reuse __mptcp_make_csum in validate_data_csum
6e66d31 mptcp: change the parameter of _mptcp_make_csum
37bb8ea ARM: 9197/1: spectre-bhb: fix loop8 sequence for Thumb2
b88e30d ARM: 9196/1: spectre-bhb: enable for Cortex-A15
ad54e63 net: af_key: add check for pfkey_broadcast in function pfkey_process
4048778 net/mlx5e: Properly block LRO when XDP is enabled
9cec84e net/mlx5: DR, Fix missing flow_source when creating multi-destination FW table
2372405 NFC: nci: fix sleep in atomic context bugs caused by nci_skb_alloc
1b0c87d net/qla3xxx: Fix a test in ql_reset_work()
212ca7b clk: at91: generated: consider range when calculating best rate
2b037a3 ice: Fix interrupt moderation settings getting cleared
a2fd0fb ice: move ice_container_type onto ice_ring_container
737fbf0 ice: fix possible under reporting of ethtool Tx and Rx statistics
12fd5b1 ice: fix crash when writing timestamp on RX rings
e35387a net: vmxnet3: fix possible NULL pointer dereference in vmxnet3_rq_cleanup()
4ad09fd net: vmxnet3: fix possible use-after-free bugs in vmxnet3_rq_alloc_rx_buf()
2c560e9 net: systemport: Fix an error handling path in bcm_sysport_probe()
eb0ebbd Revert "PCI: aardvark: Rewrite IRQ code to chained IRQ handler"
b329889 netfilter: nft_flow_offload: fix offload with pppoe + vlan
f96b2e0 net: fix dev_fill_forward_path with pppoe + bridge
7613dca netfilter: nft_flow_offload: skip dst neigh lookup for ppp devices
5f4197a netfilter: flowtable: fix excessive hw offload attempts after failure
c22ee3a net/sched: act_pedit: sanitize shift argument before usage
952c246 xfrm: fix "disable_policy" flag use when arriving from different devices
36d8cca xfrm: rework default policy structure
ad7491e net: macb: Increment rx bd head after allocating skb and buffer
999ee21 net: ipa: record proper RX transaction count
636184f ALSA: hda - fix unused Realtek function when PM is not enabled
84b6e3d pinctrl: mediatek: mt8365: fix IES control pins
53bac31 ARM: dts: aspeed: Add video engine to g6
ed978be ARM: dts: aspeed: Add secure boot controller node
794f7da ARM: dts: aspeed: Add ADC for AST2600 and enable for Rainier and Everest
75e9562 ARM: dts: aspeed-g6: fix SPI1/SPI2 quad pin group
f234fee pinctrl: pinctrl-aspeed-g6: remove FWQSPID group in pinctrl
b29774c ARM: dts: aspeed-g6: remove FWQSPID group in pinctrl dtsi
250f71a dma-buf: ensure unique directory name for dmabuf stats
6a4c06e dma-buf: fix use of DMA_BUF_SET_NAME{A,B} in userspace
deec861 drm/dp/mst: fix a possible memory leak in fetch_monitor_name()
aaf0f01 drm/i915/dmc: Add MMIO range restrictions
9d3ec4e drm/amd: Don't reset dGPUs if the system is going to s2idle
24501d5 libceph: fix potential use-after-free on linger ping and resends
8a06f25 crypto: qcom-rng - fix infinite loop on requests not multiple of WORD_SZ
c42f9a5 arm64: mte: Ensure the cleared tags are visible before setting the PTE
e9ea44d arm64: paravirt: Use RCU read locks to guard stolen_time
a3c0ba7 KVM: x86/mmu: Update number of zapped pages even if page list is stable
9f8f09d Revert "can: m_can: pci: use custom bit timings for Elkhart Lake"
f5012ba PCI/PM: Avoid putting Elo i2 PCIe Ports in D3cold
42d8a6d Fix double fget() in vhost_net_set_backend()
0f71433 selinux: fix bad cleanup on error in hashtab_duplicate()
e085354 perf: Fix sys_perf_event_open() race against self
f380aba ALSA: hda/realtek: Add quirk for TongFang devices with pop noise
48550a9 ALSA: wavefront: Proper check of get_user() error
74f64e7 ALSA: usb-audio: Restore Rane SL-1 quirk
e156805 nilfs2: fix lockdep warnings during disk space reclamation
d05cc53 nilfs2: fix lockdep warnings in page operations for btree nodes
2a8b2f6 ARM: 9191/1: arm/stacktrace, kasan: Silence KASAN warnings in unwind_frame()
6d32c58 platform/chrome: cros_ec_debugfs: detach log reader wq from devm
1848108 drbd: remove usage of list iterator variable after loop
98e0a2e MIPS: lantiq: check the return value of kzalloc()
9a86574 fs: fix an infinite loop in iomap_fiemap
258a7a7 rtc: mc146818-lib: Fix the AltCentury for AMD platforms
9690e98 nvme-multipath: fix hang when disk goes live over reconnect
d44ff3b nvmet: use a private workqueue instead of the system workqueue
b6f7efb tools/virtio: compile with -pthread
87c54a0 vhost_vdpa: don't setup irq offloading when irq_num < 0
4e32c4c s390/pci: improve zpci_dev reference counting
2d5f611 s390/traps: improve panic message for translation-specification exception
3e3f285 ALSA: hda/realtek: Enable headset mic on Lenovo P360
4e640d4 crypto: x86/chacha20 - Avoid spurious jumps to other functions
625ff6f crypto: stm32 - fix reference leak in stm32_crc_remove
0a482fc rtc: sun6i: Fix time overflow handling
8b2ea9a gfs2: Disable page faults during lockless buffered reads
3fbccc4 nvme-pci: add quirks for Samsung X5 SSDs
a6ae0d0 Input: stmfts - fix reference leak in stmfts_input_open
0211383 Input: add bounds checking to input_set_capability()
3ec2836 um: Cleanup syscall_handler_t definition/cast, fix warning
fe9f2f3 rtc: pcf2127: fix bug when reading alarm registers
25ddeb6 rtc: fix use-after-free on device removal
11e6a90 Revert "drm/i915/opregion: check port number bounds for SWSCI display power state"
a122529 mm/kfence: reset PG_slab and memcg_data before freeing __kfence_pool
486bcce Watchdog: sp5100_tco: Enable Family 17h+ CPUs
b4c0f16 Watchdog: sp5100_tco: Add initialization using EFCH MMIO
3bb1b58 Watchdog: sp5100_tco: Refactor MMIO base address initialization
8ed3e75 Watchdog: sp5100_tco: Move timer initialization into function
5996d36 i2c: piix4: Enable EFCH MMIO for Family 17h+
d46b4ff i2c: piix4: Add EFCH MMIO support for SMBus port select
c4194b2 i2c: piix4: Add EFCH MMIO support to SMBus base address detect
4b96556 i2c: piix4: Add EFCH MMIO support to region request and release
08bc26f i2c: piix4: Move SMBus port selection into function
9a8119d i2c: piix4: Move SMBus controller base address detect into function
bdf9bed i2c: piix4: Move port I/O region request/release code into functions
5166f93 i2c: piix4: Replace hardcoded memory map size with a #define
879e811 kernel/resource: Introduce request_mem_region_muxed()
fc2bee9 floppy: use a statically allocated error counter
5655455 io_uring: arm poll for non-nowait files
d9bae32 usb: gadget: fix race when gadget driver register via ioctl
9f43e3a Linux 5.15.41
4962e5a usb: gadget: uvc: allow for application to cleanly shutdown
9c76663 usb: gadget: uvc: rename function to be more consistent
6a06019 ping: fix address binding wrt vrf
54f6834 SUNRPC: Ensure we flush any closed sockets before xs_xprt_free()
cc57b2e mm/hwpoison: use pr_err() instead of dump_page() in get_any_page()
7898916 dma-buf: call dma_buf_stats_setup after dmabuf is in valid list
0fad10b Revert "drm/amd/pm: keep the BACO feature enabled for suspend"
86ea55e drm/vmwgfx: Initialize drm_mode_fb_cmd2
e059492 SUNRPC: Ensure that the gssproxy client can start in a connected state
962686f net: phy: micrel: Pass .probe for KS8737
bfec9d6 net: phy: micrel: Do not use kszphy_suspend/resume for KSZ8061
3539241 arm[64]/memremap: don't abuse pfn_valid() to ensure presence of linear map
8e17169 cgroup/cpuset: Remove cpus_allowed/mems_allowed setup in cpuset_init_smp()
80b6fb3 writeback: Avoid skipping inode writeback
1bd9104 net: phy: Fix race condition on link status change
890a5c6 net: atlantic: always deep reset on pm op, fixing up my null deref regression
8d2cc06 i40e: i40e_main: fix a missing check on list iterator
73ad9e6 drm/nouveau/tegra: Stop using iommu_present()
7d8b5d3 drm/vmwgfx: Disable command buffers on svga3 without gbobjects
f8f8361 mm/huge_memory: do not overkill when splitting huge_zero_page
0e89d77 Revert "mm/memory-failure.c: skip huge_zero_page in memory_failure()"
8c09cb1 ceph: fix setting of xattrs on async created inodes
73e12d4 serial: 8250_mtk: Fix register address for XON/XOFF character
d01eb92 serial: 8250_mtk: Fix UART_EFR register address
7ef67d3 fsl_lpuart: Don't enable interrupts too early
7207e12 slimbus: qcom: Fix IRQ check in qcom_slim_probe
113ac16 USB: serial: option: add Fibocom MA510 modem
f2ab0c6 USB: serial: option: add Fibocom L610 modem
84cd0f9 USB: serial: qcserial: add support for Sierra Wireless EM7590
34669b1 USB: serial: pl2303: add device id for HP LM930 Display
cb59b30 usb: typec: tcpci_mt6360: Update for BMC PHY setting
f5c774b usb: typec: tcpci: Don't skip cleanup in .remove() on error
92764e5 usb: cdc-wdm: fix reading stuck on device close
643760f tty: n_gsm: fix mux activation issues in gsm_config()
e68de92 tty: n_gsm: fix buffer over-read in gsm_dlci_data()
99fbf26 tty/serial: digicolor: fix possible null-ptr-deref in digicolor_uart_probe()
04d5b08 x86/mm: Fix marking of unused sub-pmd ranges
5399686 usb: xhci-mtk: fix fs isoc's transfer error
0912e07 KVM: PPC: Book3S PR: Enable MSR_DR for switch_mmu_context()
12ff111 firmware_loader: use kernel credentials when reading firmware
4e6a74c interconnect: Restore sync state by ignoring ipa-virt in provider count
f26c6f9 tcp: drop the hash_32() part from the index calculation
952a238 tcp: increase source port perturb table to 2^16
4a3eefa tcp: dynamically allocate the perturb table used by source ports
b763fce tcp: add small random increments to the source port
f41f633 tcp: resalt the secret every 10 seconds
ff01554 tcp: use different parts of the port_offset for index and offset
1a8ee54 secure_seq: use the 64 bits of the siphash for port offset calculation
9985811 net: sfp: Add tx-fault workaround for Huawei MA5671A SFP ONT
39740a0 net: emaclite: Don't advertise 1000BASE-T and do auto negotiation
4bf5bc4 ASoC: SOF: Fix NULL pointer exception in sof_pci_probe callback
46125e4 s390: disable -Warray-bounds
e9cd318 ASoC: ops: Validate input values in snd_soc_put_volsw_range()
7758a40 ASoC: max98090: Generate notifications on changes for custom control
081188d ASoC: max98090: Reject invalid values in custom control put()
e1d387e iommu: arm-smmu: disable large page mappings for Nvidia arm-smmu
2f6b75c RDMA/irdma: Fix deadlock in irdma_cleanup_cm_core()
f21579e hwmon: (f71882fg) Fix negative temperature
41d5ad9 gfs2: Fix filesystem block deallocation for short writes
cf2589a drm/vmwgfx: Fix fencing on SVGAv3
70098cc tls: Fix context leak on tls_device_down
280a937 net: sfc: ef10: fix memory leak in efx_ef10_mtd_probe()
8d75d66 net/smc: non blocking recvmsg() return -EAGAIN when no data and signal_pending
e3e02d6 net: dsa: bcm_sf2: Fix Wake-on-LAN with mac_link_down()
18f03c3 drm/vc4: hdmi: Fix build error for implicit function declaration
6e4c10c net: bcmgenet: Check for Wake-on-LAN interrupt probe deferral
598483f net: ethernet: mediatek: ppe: fix wrong size passed to memset()
b773640 net/sched: act_pedit: really ensure the skb is writable
3a51856 s390/lcs: fix variable dereferenced before check
2bd5710 s390/ctcm: fix potential memory leak
21bb024 s390/ctcm: fix variable dereferenced before check
79e87cf virtio: fix virtio transitional ids
4147d2e arm64: vdso: fix makefile dependency on vdso.so
00782d1 selftests: vm: Makefile: rename TARGETS to VMTARGETS
62cbb09 procfs: prevent unprivileged processes accessing fdinfo dir
844c31a hwmon: (ltq-cputemp) restrict it to SOC_XWAY
5f71bc9 dim: initialize all struct fields
53a55a3 ionic: fix missing pci_release_regions() on error in ionic_probe()
1a2e139 nfs: fix broken handling of the softreval mount option
8bf4039 mac80211_hwsim: call ieee80211_tx_prepare_skb under RCU protection
7b2fa7a net: sfc: fix memory leak due to ptp channel
fc4615a sfc: Use swap() instead of open coding it
ef090cd fbdev: efifb: Fix a use-after-free due early fb_info cleanup
42125c8 net: chelsio: cxgb4: Avoid potential negative array offset
fa18982 netlink: do not reset transport header in netlink_recvmsg()
57d6374 drm/nouveau: Fix a potential theorical leak in nouveau_get_backlight_name()
3375300 ipv4: drop dst in multicast routing path
04b199e ice: fix PTP stale Tx timestamps cleanup
4a5c471 ice: Fix race during aux device (un)plugging
50bf941 platform/surface: aggregator: Fix initialization order when compiling as builtin module
f94aa46 fbdev: vesafb: Cleanup fb_info in .fb_destroy rather than .remove
cd3c8ab fbdev: efifb: Cleanup fb_info in .fb_destroy rather than .remove
02eef42 fbdev: simplefb: Cleanup fb_info in .fb_destroy rather than .remove
4ebbf76 net: mscc: ocelot: avoid corrupting hardware counters when moving VCAP filters
e4a3386 net: mscc: ocelot: restrict tc-trap actions to VCAP IS2 lookup 0
ceffde8 net: mscc: ocelot: fix VCAP IS2 filters matching on both lookups
d242b66 net: mscc: ocelot: fix last VCAP IS1/IS2 filter persisting in hardware when deleted
cc22bb2 net: Fix features skip in for_each_netdev_feature()
afc080e mac80211: Reset MBSSID parameters upon connection
e346e60 hwmon: (tmp401) Add OF device ID table
e29b71f iwlwifi: iwl-dbg: Use del_timer_sync() before freeing
8f37aad batman-adv: Don't skb_split skbuffs with frag_list
Homepage
Download Linux 5.15.43-xanmod1 source from GitHub
A new XanMod Linux Kernel based on Linux Kernel 5.15.43 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.