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.27-xanmod1
a35c0c7 Linux 5.15.27-xanmod1
ab61901 Merge tag 'v5.15.27' into 5.15
efe3167 Linux 5.15.27
ea2bc31 hamradio: fix macro redefine warning
8998aa6 KVM: x86/mmu: Passing up the error state of mmu_alloc_shadow_roots()
416e3a0 proc: fix documentation and description of pagemap
8b89349 Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6"
6599d5e btrfs: do not start relocation until in progress drops are done
4aef4c9 btrfs: add missing run of delayed items after unlink during log replay
34146bb btrfs: qgroup: fix deadlock between rescan worker and remove qgroup
e00077a btrfs: do not WARN_ON() if we have PageError set
725a6ac btrfs: fix relocation crash due to premature return from btrfs_commit_transaction()
5342e9f btrfs: fix lost prealloc extents beyond eof after full fsync
80660a7 tracing: Fix return value of setup handlers
452f64e tracing/histogram: Fix sorting on old "cpu" value
aa6d3ee HID: add mapping for KEY_ALL_APPLICATIONS
b355d6a HID: add mapping for KEY_DICTATE
74e9545 Input: samsung-keypad - properly state IOMEM dependency
cb19f03 Input: elan_i2c - fix regulator enable count imbalance after suspend/resume
f74fc94 Input: elan_i2c - move regulator[en|dis]able() out of elan[en|dis]able_power()
7a1ee99 MAINTAINERS: adjust file entry for of_net.c after movement
7626ab3 iavf: missing unlocks in iavf_watchdog_task()
d784113 iavf: do not override the adapter state in the watchdog task (again)
d61f373 net: stmmac: perserve TX and RX coalesce value during XDP setup
d666d33 selftests: mlxsw: resource_scale: Fix return value
6fe3127 net: dcb: disable softirqs in dcbnl_flush_dev()
46eed3a drm/amdgpu: fix suspend/resume hang regression
a1e603e nl80211: Handle nla_memdup failures in handle_nan_filter
a304966 MIPS: ralink: mt7621: use bitwise NOT instead of logical
68c4fe2 e1000e: Fix possible HW unit hang after an s0ix exit
9dfe6ab drm/bridge: ti-sn65dsi86: Properly undo autosuspend
d675c05 drm/i915/guc/slpc: Correct the param count for unset param
6f62bc0 iavf: Fix __IAVF_RESETTING state usage
598bc89 iavf: Fix race in init state
ddc5db0 iavf: Fix locking for VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS
8c0e4da iavf: Fix init state closure on remove
85aa760 iavf: Add waiting so the port is initialized in remove
e734c79 iavf: Fix kernel BUG in free_msi_irqs
200366d iavf: Add helper function to go from pci_dev to adapter
2390146 iavf: Rework mutexes for better synchronisation
9fedc4f iavf: Add trace while removing device
b4e0e00 iavf: Combine init and watchdog state machines
57d2f0d iavf: Add __IAVF_INIT_FAILED state
7e2d102 iavf: Refactor iavf state machine tracking
f8ce435 net: sparx5: Fix add vlan when invalid operation
50948ce net: chelsio: cxgb3: check the return value of pci_find_capability()
ea3d3c3 ibmvnic: complete init_done on transport events
13e3b51 ibmvnic: define flush_reset_queue helper
046d933 ibmvnic: initialize rc before completing wait
bb20939 net: stmmac: only enable DMA interrupts when ready
e753b63 net: stmmac: enhance XDP ZC driver level switching performance
8cdac51 can: etas_es58x: change opened_channel_cnt's type from atomic_t to u8
04746db ARM: tegra: Move panels to AUX bus
9920d99 netfilter: nf_tables: prefer kfree_rcu(ptr, rcu) variant
4ed52fb soc: fsl: qe: Check of ioremap return value
c2266d2 soc: fsl: guts: Add a missing memory allocation failure check
20ff0ff soc: fsl: guts: Revert commit 3c0d64e
40d763e ARM: dts: Use 32KiHz oscillator on devkit8000
50bce7f ARM: dts: switch timer config to common devkit8000 devicetree
af14362 MIPS: ralink: mt7621: do memory detection on KSEG1
378e2fe iommu/amd: Fix I/O page table memory leak
f6cabb7 arm64: dts: juno: Remove GICv2m dma-range
3411613 sched: Fix yet more sched_fork() races
3d76a99 s390/extable: fix exception table sorting
b7c3558 memfd: fix F_SEAL_WRITE after shmem huge page allocated
39738a2 ibmvnic: free reset-work-item when flushing
d4706de igc: igc_write_phy_reg_gpy: drop premature return
896d1b8 pinctrl: sunxi: Use unique lockdep classes for IRQs
09423ff selftests: mlxsw: tc_police_scale: Make test more robust
0c3f34b mptcp: Correctly set DATA_FIN timeout when number of retransmits is large
d7a4b54 ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions
a664bd7 mips: setup: fix setnocoherentio() boolean setting
f14a024 ARM: Fix kgdb breakpoint for Thumb2
c9cfcdd igc: igc_read_phy_reg_gpy: drop premature return
7c1db4a arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output
6be5b62 iommu/tegra-smmu: Fix missing put_device() call in tegra_smmu_find
2b04bb5 can: gs_usb: change active_channels's type from atomic_t to u8
b6149ef auxdisplay: lcd2s: Use proper API to free the instance of charlcd object
5d53cd3 auxdisplay: lcd2s: Fix memory leak in ->remove()
6d6c139 ASoC: cs4265: Fix the duplicated control name
d442f20 firmware: arm_scmi: Remove space in MODULE_ALIAS name
f9c3aa9 auxdisplay: lcd2s: Fix lcd2s_redefine_char() feature
4efa386 efivars: Respect "block" flag in efivar_entry_set_safe()
61a3039 iavf: Fix deadlock in iavf_reset_task
366f785 ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc()
ea372aa net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()
1c09774 ibmvnic: register netdev after init of adapter
f58ead2 net: sxgbe: fix return value of __setup handler
23a6be2 iavf: Fix missing check for running netdev
a83ebad mac80211: treat some SAE auth steps as final
b85dd0d net: stmmac: fix return value of __setup handler
828f75c mac80211: fix forwarded mesh frames AC & queue selection
5afd80c btrfs: fix ENOSPC failure when attempting direct IO write into NOCOW range
15cbeea net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server
21922d9 net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client
80895b6 net/smc: fix connection leak
a559e05 net: ipa: add an interconnect dependency
4daaf88 net: dcb: flush lingering app table entries for unregistered devices
b117815 net: ipv6: ensure we call ipv6_mc_down() at most once
24e49e1 batman-adv: Don't expect inter-netns unique iflink indices
94355d9 batman-adv: Request iflink once in batadv_get_real_netdevice
58ea339 batman-adv: Request iflink once in batadv-on-batadv check
216f3cb netfilter: nf_queue: handle socket prefetch
dd648bd netfilter: nf_queue: fix possible use-after-free
63291e9 netfilter: nf_queue: don't assume sk is full socket
3a65b82 net: fix up skbs delta_truesize in UDP GRO frag_list
a47e7ac e1000e: Correct NVM checksum verification flow
4020d2e xfrm: enforce validity of offload input flags
ce0d6bf xfrm: fix the if_id check in changelink
00c74b5 bpf, sockmap: Do not ignore orig_len parameter
bd61f19 netfilter: fix use-after-free in __nf_register_net_hook()
75cbedd xfrm: fix MTU regression
261eff1 mm: Consider __GFP_NOWARN flag for oversized kvmalloc() calls
5d7c23d ntb: intel: fix port config status offset for SPR
78acc7d blktrace: fix use after free for struct blk_trace
5f298bf mac80211: fix EAPoL rekey fail in 802.3 rx path
3dafbf9 thermal: core: Fix TZ_GET_TRIP NULL pointer dereference
a63eb1e xen/netfront: destroy queues before real_num_tx_queues is zeroed
dab06be drm/amd/display: Reduce dmesg error to a debug print
7508ac3 drm/i915: s/JSP2/ICP2/ PCH
a8a8663 iommu/amd: Recover from event log overflow
2aaa085 iommu/vt-d: Fix double list_add when enabling VMD in scalable mode
050b182 ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min
7de1ed7 iwlwifi: mvm: check debugfs_dir ptr before use
728fb55 riscv: Fix config KASAN && DEBUG_VIRTUAL
08b22e3 riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP
e64d6a6 riscv/efi_stub: Fix get_boot_hartid_from_fdt() return value
6c3d4da ucounts: Fix systemd LimitNPROC with private users regression
3eb4181 ALSA: intel_hdmi: Fix reference to PCM buffer address
9285523 net: of: fix stub of_net helpers for CONFIG_NET=n
dc75d79 PCI: mvebu: Fix device enumeration regression
35afd8a drm/amd/display: For vblank_disable_immediate, check PSR is really used
5f283e6 bnxt_en: Fix occasional ethtool -t loopback test failures
10dd263 drm/amd/display: Fix stream->link_enc unassigned during stream removal
aa280c0 cifs: fix confusing unneeded warning message on smb2.1 and earlier
3d74c2c cifs: protect session channel fields with chan_lock
2594dba drm/mediatek: mtk_dsi: Reset the dsi0 hardware
f510d64 net: ethernet: litex: Add the dependency on HAS_IOMEM
3a3aa08 of: net: move of_net under net/
960dfaf ibmvnic: don't release napi in __ibmvnic_open()
1d13e72 net: dsa: seville: register the mdiobus under devres
8bfa271 net: dsa: ocelot: seville: utilize of_mdiobus_register
68c8e6d gve: Recording rx queue before sending to napi
5c66161 drm/i915: Disable DRRS on IVB/HSW port != A
e2b3d1b drm/i915/display: Move DRRS code its own file
23eb292 drm/i915/display: split out dpt out of intel_display.c
fbf6d5f riscv/mm: Add XIP_FIXUP for phys_ram_base
86a337b drm: mxsfb: Fix NULL pointer dereference
9bbeba6 drm: mxsfb: Set fallback bus format when the bridge doesn't provide one
ed4488d drm/amd/display: Update watermark values for DCN301
07058fb bpf: Fix possible race in inc_misses_counter
aa50406 bpf: Use u64_stats_t in struct bpf_prog_stats
82a82ad net/mlx5e: IPsec: Fix crypto offload for non TCP/UDP encapsulated traffic
748438b net/mlx5e: IPsec: Refactor checksum code in tx data path
f1c0163 octeontx2-af: Add KPU changes to parse NGIO as separate layer
6313800 octeontx2-af: Adjust LA pointer for cpt parse header
ab3380a octeontx2-af: cn10k: Use appropriate register for LMAC enable
fe3eafe octeontx2-af: cn10k: RPM hardware timestamp configuration
ef33ae7 octeontx2-af: Reset PTP config in FLR handler
75279de octeontx2-af: Optimize KPU1 processing for variable-length headers
462c5e6 ethtool: Fix link extended state for big endian
27e01f1 drm/amd/display: move FPU associated DSC code to DML folder
691c003 drm/amd/display: Use adjusted DCN301 watermarks
2157e50 drm/amdgpu: filter out radeon secondary ids as well
f724a43 drm/amdgpu: filter out radeon PCI device IDs
48cf33e drm/amdgpu/display: Only set vblank_disable_immediate when PSR is not enabled
3f20cf3 hugetlbfs: fix off-by-one error in hugetlb_vmdelete_list()
e973730 selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup setting
1123c2f kasan: fix quarantine conflicting with init_on_free
f167510 mm: defer kmemleak object creation of module_alloc()
013c2af tracing/probes: check the return value of kstrndup() for pbuf
8a20fed tracing/uprobes: Check the return value of kstrdup() for tu->filename
1a62246 dma-buf: cma_heap: Fix mutex locking section
8654464 i3c: master: dw: check return of dw_i3c_master_get_free_pos()
a80b136 drm/amdgpu: use spin_lock_irqsave to avoid deadlock by local interrupt
5609b78 drm/amdkfd: Check for null pointer after calling kmemdup
950d17f ntb_hw_switchtec: Fix bug with more than 32 partitions
377cbdc ntb_hw_switchtec: Fix pff ioread to read into mmio_part_cfg_all
cd07b19 drm/atomic: Check new_crtc_state->active to determine if CRTC needs disable in self refresh mode
1796d53 drm/sun4i: dw-hdmi: Fix missing put_device() call in sun8i_hdmi_phy_get
e209742 SUNRPC: Fix sockaddr handling in svcsock_accept_class trace points
bdaa8c7 SUNRPC: Fix sockaddr handling in the svc_xprt_create_error trace point
d3f67ce drm/i915: don't call free_mmap_offset when purging
e47679c x86/hyperv: Properly deal with empty cpumasks in hyperv_flush_tlb_multi()
4425ca3 nfsd: fix crash on COPY_NOTIFY with special stateid
0f84cfb Revert "nfsd: skip some unnecessary stats in the v4 case"
3abe2a7 NFSD: Fix verifier returned in stable WRITEs
e7c4332 PCI: mvebu: Fix support for DEVCAP2, DEVCTL2 and LNKCTL2 registers on emulated bridge
a247456 PCI: mvebu: Fix support for PCI_EXP_RTSTA on emulated bridge
1d4200e PCI: mvebu: Fix support for PCI_EXP_DEVCTL on emulated bridge
1ea3f69 PCI: mvebu: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge
9c91c75 PCI: mvebu: Setup PCIe controller to Root Complex mode
3d394fa PCI: mvebu: Fix configuring secondary bus of PCIe Root Port via emulated bridge
4396c50 PCI: mvebu: Fix support for bus mastering and PCI_COMMAND on emulated bridge
bc988b1 PCI: mvebu: Do not modify PCI IO type bits in conf_write
c1a0276 PCI: mvebu: Check for errors from pci_bridge_emul_init() call
7c93c80 Input: ti_am335x_tsc - fix STEPCONFIG setup for Z2
16ff935 Input: ti_am335x_tsc - set ADCREFM for X configuration
628761f tracing: Do not let synth_events block other dyn_event systems during create
f35bacb i3c/master/mipi-i3c-hci: Fix a potentially infinite loop in 'hci_dat_v1_get_index()'
e5264d4 i3c: fix incorrect address slot lookup on 64-bit
1adfbfa KVM: x86: Exit to userspace if emulation prepared a completion callback
3d84680 KVM: x86: Handle 32-bit wrap of EIP for EMULTYPE_SKIP with flat code seg
00542cb KVM: X86: Ensure that dirty PDPTRs are loaded
723053e KVM: VMX: Read Posted Interrupt "control" exactly once per loop iteration
32b758d KVM: s390: Ensure kvm_arch_no_poll() is read once when blocking vCPU
b63190d KVM: VMX: Don't unblock vCPU w/ Posted IRQ if IRQs are disabled in guest
f303196 PCI: aardvark: Fix checking for MEM resource type
a2f5e9a PCI: dwc: Do not remap invalid res
d9fc43a PCI: rcar: Check if device is runtime suspended instead of _clk_is_enabled()
aa80523 PCI: mediatek-gen3: Disable DVFSRC voltage request
7f36126 signal: In get_signal test for signal_group_exit every time through the loop
f98371d MIPS: fix local{add,sub}_return on MIPS64
64b487b mtd: spi-nor: Fix mtd size for s3an flashes
83ef635 tools/resolve_btf_ids: Close ELF file on error
1bd12b7 io_uring: fix no lock protection for ctx->cq_extra
384d1b1 NFSD: Fix zero-length NFSv3 WRITEs
2de8854 NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment()
771aca9 ipv6: fix skb drops in igmp6_event_query() and igmp6_event_report()
33e22b6 tracing: Add ustring operation to filtering string pointers
a9c6e02 drm/amdgpu: check vm ready by amdgpu_vm->evicting flag
b2a3068 ata: pata_hpt37x: fix PCI clock detection
e0bcd6b sched/fair: Fix fault in reweight_entity
6f6ffc7 ext4: fast commit may miss file actions
97abcfe ext4: fast commit may not fallback for ineligible commit
647b3f1 ext4: simplify updating of fast commit stats
5abb1d8 ext4: drop ineligible txn start stop APIs
82a99bc serial: stm32: prevent TDR register overwrite when sending x_char
1921d1f arm64: Mark start_backtrace() notrace and NOKPROBE_SYMBOL
60e6d58 tracing: Add test for user space strings when filtering on string pointers
c9f7272 exfat: fix i_blocks for files truncated over 4 GiB
1ffc130 exfat: reuse exfat_inode_info variable instead of calling EXFAT_I()
ab3656a usb: gadget: clear related members when goto fail
07de9a4 usb: gadget: don't release an existing dev->buf
a1ba987 block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern
1148ada net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990
f6fbf18 i2c: qup: allow COMPILE_TEST
d65d187 i2c: imx: allow COMPILE_TEST
d232711 i2c: cadence: allow COMPILE_TEST
7b22f63 dmaengine: shdma: Fix runtime PM imbalance on error
7d0214c selftests/ftrace: Do not trace do_softirq because of PREEMPT_RT
4543426 drm/amd/pm: correct UMD pstate clocks for Dimgrey Cavefish and Beige Goby
b628fff selftests/seccomp: Fix seccomp failure by adding missing headers
54e7951 cifs: modefromsids must add an ACE for authenticated users
18a9d6b HID: amd_sfh: Add interrupt handler to process interrupts
852b6b0 HID: amd_sfh: Add functionality to clear interrupts
8ba9a2e HID: amd_sfh: Handle amd_sfh work buffer in PM ops
546d608 cifs: fix double free race when mount fails in cifs_get_root()
ccf46cb cifs: do not use uninitialized data in the owner/group sid
5340a09 tipc: fix a bit overflow in tipc_crypto_key_rcv()
1ccc12f block: loop:use kstatfs.f_bsize of backing file to set discard granularity
8694330 KVM: arm64: vgic: Read HW interrupt pending state from the HW
850a77c btrfs: get rid of warning on transaction commit when using flushoncommit
6279c52 Input: clear BTN_RIGHT/MIDDLE on buttonpads
7004858 regulator: core: fix false positive in regulator_late_cleanup()
fd64f8b ASoC: rt5682: do not block workqueue if card is unbound
4235a04 ASoC: rt5668: do not block workqueue if card is unbound
2ed3905 i2c: bcm2835: Avoid clock stretching timeouts
e03ad19 mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work
2d27a2b mac80211_hwsim: report NOACK frames in tx_status
Homepage
Download Linux 5.15.27-xanmod1 source from GitHub
A new XanMod Linux Kernel based on Linux Kernel 5.15.27 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.