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.24-xanmod1
6c16085 Linux 5.15.24-xanmod1
7326cec Merge tag 'v5.15.24' into 5.15
a0ebea4 Linux 5.15.24
65ab30f iommu: Fix potential use-after-free during probe
7969fe9 perf: Fix list corruption in perf_cgroup_switch()
8ebcd2c arm64: dts: imx8mq: fix lcdif port node
48f5496 MIPS: octeon: Fix missed PTR->PTR_WD conversion
cd4494f scsi: lpfc: Reduce log messages seen after firmware download
6737f9a scsi: lpfc: Remove NVMe support if kernel has NVME_FC disabled
c8e9c2b Makefile.extrawarn: Move -Wunaligned-access to W=1
24645c4 x86/sgx: Silence softlockup detection when releasing large enclaves
30de73b hwmon: (dell-smm) Speed up setting of fan speed
16cde07 bus: mhi: pci_generic: Add mru_default for Cinterion MV31-W
2c1d20e bus: mhi: pci_generic: Add mru_default for Foxconn SDX55
fe990b7 s390/cio: verify the driver availability for path_event call
56ca18d signal: HANDLER_EXIT should clear SIGNAL_UNKILLABLE
f7a56fc seccomp: Invalidate seccomp mode to catch death failures
956cf21 mm: memcg: synchronize objcg lists with a dedicated spinlock
b7f5489 iio: buffer: Fix file related error handling in IIO_BUFFER_GET_FD_IOCTL
7a360e5 phy: ti: Fix missing sentinel for clk_div_table
1243142 speakup-dectlk: Restore pitch setting
9ae3dad USB: serial: cp210x: add CPI Bulk Coin Recycler id
7e5108a USB: serial: cp210x: add NCR Retail IO box id
8d226d3 USB: serial: ch341: add support for GW Instek USB2.0-Serial devices
2ea4f46 USB: serial: option: add ZTE MF286D modem
24311a9 USB: serial: ftdi_sio: add support for Brainboxes US-159/235/320
2330b2b usb: raw-gadget: fix handling of dual-direction-capable endpoints
33d2a0c usb: gadget: f_uac2: Define specific wTerminalType
2da3b0a usb: gadget: rndis: check size of RNDIS_MSG_SET command
3e33e5c USB: gadget: validate interface OS descriptor requests
d3d5bfb usb: gadget: udc: renesas_usb3: Fix host to USB_ROLE_NONE transition
8d2b04d usb: dwc3: gadget: Prevent core from processing stale TRBs
93feb2b usb: ulpi: Call of_node_put correctly
fc50f42 usb: ulpi: Move of_node_put to ulpi_dev_release
ffd0393 net: usb: ax88179_178a: Fix out-of-bounds accesses in RX fixup
f4e72ad Revert "usb: dwc2: drd: fix soft connect when gadget is unconfigured"
a6ef1bd usb: dwc2: drd: fix soft connect when gadget is unconfigured
9a5f471 eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX
decb36e n_tty: wake up poll(POLLRDNORM) on receiving data
573321d vt_ioctl: add array_index_nospec to VT_ACTIVATE
ffe5428 vt_ioctl: fix array_index_nospec in vt_setactivate
f916181 net: dsa: mv88e6xxx: fix use-after-free in mv88e6xxx_mdios_unregister
d98ba26 net: mscc: ocelot: fix mutex lock error during ethtool stats read
41a8c54 ice: Avoid RTNL lock when re-creating auxiliary device
f9daedc ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler
52eb5c8 ice: fix IPIP and SIT TSO offload
efd399e ice: fix an error code in ice_cfg_phy_fec()
12e067a dpaa2-eth: unregister the netdev before disconnecting from the PHY
29b25d5 mptcp: netlink: process IPv6 addrs in creating listening sockets
dcd1c46 drm/amd/pm: fix hwmon node of power1_label create issue
4b24ef1 net: amd-xgbe: disable interrupts during pci removal
489d9fa tipc: rate limit warning for received illegal binding update
bb04b55 net: mdio: aspeed: Add missing MODULE_DEVICE_TABLE
b8ac37e veth: fix races around rq->rx_notify_masked
fdcb263 net: fix a memleak when uncloning an skb dst and its metadata
f1ab1ba net: do not keep the dst cache when uncloning an skb dst and its metadata
6cbe14c nfp: flower: fix ida_idx not being released
3cab045 ipmr,ip6mr: acquire RTNL before calling ip[6]mr_free_table() on failure path
b5652bc net: dsa: lantiq_gswip: don't use devres for mdiobus
46b7472 net: dsa: mt7530: fix kernel bug in mdiobus_free() when unbinding
8cda757 net: dsa: felix: don't use devres for mdiobus
caabb5f net: dsa: bcm_sf2: don't use devres for mdiobus
aae1c6a net: dsa: ar9331: register the mdiobus under devres
8b626d4 net: dsa: mv88e6xxx: don't use devres for mdiobus
147540c bonding: pair enable_port with slave_arr_updates
3523167 fbcon: Avoid 'cap' set but not used warning
ef2cb1f gpio: sifive: use the correct register to read output values
d9daa2b gpiolib: Never return internal error codes to user space
e799974 ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE
ab142ea drm/panel: simple: Assign data from panel_dpi_probe() correctly
9e3dd49 ixgbevf: Require large buffers for build_skb on 82599VF
51eece9 arm64: dts: meson-sm1-odroid: fix boot loop after reboot
57154c0 arm64: dts: meson-sm1-bananapi-m5: fix wrong GPIO domain for GPIOE_2
162f805 arm64: dts: meson-sm1-odroid: use correct enable-gpio pin for tf-io regulator
006dc58 arm64: dts: meson-g12b-odroid-n2: fix typo 'dio2133'
c5ee4cb netfilter: ctnetlink: disable helper autoassign
7f486be net: sparx5: Fix get_stat64 crash in tcpdump
e4382d0 misc: fastrpc: avoid double fput() on failed usercopy
f5e8733 drm/vc4: hdmi: Allow DBLCLK modes even if horz timing is odd.
3d2bc21 NFS: Don't skip directory entries when doing uncached readdir
557302f NFS: Don't overfill uncached readdir pages
00181d6 gpio: aggregator: Fix calling into sleeping GPIO controllers
ddcb149 phy: dphy: Correct clk_pre parameter
72a8aee usb: f_fs: Fix use-after-free for epfile
0ed2f9a arm64: dts: imx8mq: fix mipi_csi bidirectional port numbers
af6a1d6 ARM: dts: imx7ulp: Fix 'assigned-clocks-parents' typo
94b16ca phy: stm32: fix a refcount leak in stm32_usbphyc_pll_enable()
541ec7b phy: xilinx: zynqmp: Fix bus width setting for SGMII
58c42f4 ARM: dts: imx6qdl-udoo: Properly describe the SD card detect
025c6ee staging: fbtft: Fix error path in fbtft_driver_module_init()
c0ad2c2 phy: broadcom: Kconfig: Fix PHY_BRCM_USB config option
86cdc30 ARM: dts: meson8b: Fix the UART device-tree schema validation
5253b08 ARM: dts: meson8: Fix the UART device-tree schema validation
00d1350 ARM: dts: meson: Fix the UART compatible strings
c22bddf ARM: dts: Fix timer regression for beagleboard revision c
ac14a51 drm/i915: Populate pipe dbuf slices more accurately during readout
8d6a31b drm/i915: Allow !join_mbus cases for adlp+ dbuf configuration
05ffa30 drm/rockchip: vop: Correct RK3399 VOP register fields
c1af594 drm/amdgpu/display: change pipe policy for DCN 2.0
0e546bb PM: s2idle: ACPI: Fix wakeup interrupts handling
65aabd2 ACPI/IORT: Check node revision for PMCG resources
64c37c0 nvme-tcp: fix bogus request completion when failing to send AER
7740eb2 ARM: socfpga: fix missing RESET_CONTROLLER
ccdd795 ARM: dts: Fix boot regression on Skomer
14917a8 ARM: dts: imx23-evk: Remove MX23_PAD_SSP1_DETECT from hog group
4134396 gfs2: Fix gfs2_release for non-writers regression
71f46f3 riscv: eliminate unreliable __builtin_frame_address(1)
efe2203 riscv: cpu-hotplug: clear cpu from numa map when teardown
7486227 riscv: fix build with binutils 2.38
67398d2 KVM: x86: Report deprecated x87 features in supported CPUID
c09a83a KVM: VMX: Set vmcs.PENDING_DBG.BS on #DB in STI/MOVSS blocking shadow
f7da327 KVM: SVM: Don't kill SEV guest if SMAP erratum triggers in usermode
11f9427 KVM: nVMX: Also filter MSR_IA32_VMX_TRUE_PINBASED_CTLS when eVMCS
a3c4364 KVM: nVMX: eVMCS: Filter out VM_EXIT_SAVE_VMX_PREEMPTION_TIMER
d44af3a KVM: eventfd: Fix false positive RCU usage warning
a85f3ea net: stmmac: dwmac-sun8i: use return val of readl_poll_timeout()
a3ba49c MIPS: Fix build error due to PTR used in more places
96f91a8 nvme-pci: add the IGNORE_DEV_SUBNQN quirk for Intel P4500/P4600 SSDs
a3486ef perf: Always wake the parent event
8981a8f usb: dwc2: gadget: don't try to disable ep0 in dwc2_hsotg_suspend
a277422 drm/amd/display: Correct MPC split policy for DCN301
dc5769c PM: hibernate: Remove register_nosave_region_late()
50fe795 net: stmmac: reduce unnecessary wakeups from eee sw timer
6207f35 scsi: myrs: Fix crash in error case
0c8d27c scsi: ufs: Treat link loss as fatal error
f0a91d8 scsi: ufs: Use generic error code in ufshcd_set_dev_pwr_mode()
cb26e94 scsi: pm8001: Fix bogus FW crash for maxcpus=1
1c22df1 scsi: qedf: Change context reset messages to ratelimited
6be8eaa scsi: qedf: Fix refcount issue when LOGO is received during TMF
1f53bbf scsi: qedf: Add stag_work to all the vports
83f31da scsi: ufs: ufshcd-pltfrm: Check the return value of devm_kstrdup()
4f786e8 scsi: target: iscsi: Make sure the np under each tpg is unique
43ae0cc powerpc/fixmap: Fix VM debug warning on unmap
fa693cf net: sched: Clarify error message when qdisc kind is unknown
9696125 drm: panel-orientation-quirks: Add quirk for the 1Netbook OneXPlayer
770d1ba drm/vc4: Fix deadlock on DSI device attach error
85008bd sched: Avoid double preemption in _cond_reschedlock()
ec903b6 x86/perf: Avoid warning for Arch LBR without XSAVE
ef56859 perf/x86/rapl: fix AMD event handling
3f4e05e irqchip/realtek-rtl: Service all pending interrupts
4403233 sunrpc: Fix potential race conditions in rpc_sysfs_xprt_state_change()
4b22aa4 net/sunrpc: fix reference count leaks in rpc_sysfs_xprt_state_change
5ca123c SUNRPC allow for unspecified transport time in rpc_clnt_add_xprt
c5ae18f NFSv4 handle port presence in fs_location server string
be67be6 NFSv4 expose nfs_parse_server_name function
6f28363 NFSv4.1 query for fs_location attr on a new file system
2df6a47 NFSv4 store server support for fs_location attribute
0c5d3bf NFSv4 remove zero number of fs_locations entries error check
3cb5b31 NFSv4.1: Fix uninitialised variable in devicenotify
58967a2 nfs: nfs4clinet: check the return value of kstrdup()
bbf647e NFSv4 only print the label when its queried
38ae938 NFS: change nfs_access_get_cached to only report the mask
78c28fd tracing: Propagate is_signed to expression
8fdaa9a thermal/drivers/int340x: Fix RFIM mailbox write commands
5abd95f thermal: int340x: Limit Kconfig to 64-bit
786293f thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses
e9b0301 thermal/drivers/int340x: Improve the tcc offset saving for suspend/resume
c6eff5c NFSD: Fix the behavior of READ near OFFSET_MAX
c9a8571 NFSD: Fix offset type in I/O trace points
01c3ae8 NFSD: Clamp WRITE offsets
8e0ecaf NFSD: Fix ia_size underflow
37f2d2c NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes
535e301 NFS: Fix initialisation of nfs_client cl_flags field
6b42352 net: phy: marvell: Fix MDI-x polarity setting in 88e1118-compatible PHYs
9338c17 net: phy: marvell: Fix RGMII Tx/Rx delays setting in 88e1121-compatible PHYs
540dff3 can: isotp: fix error path in isotp_sendmsg() to unlock wait queue
f90cc68 can: isotp: fix potential CAN frame reception race in isotp_rcv()
dbe7bf9 mmc: core: Wait for command setting 'Power Off Notification' bit to complete
222c071 mmc: sdhci-of-esdhc: Check for error num after setting mask
cf4570c ima: Do not print policy rule with inactive LSM labels
5389ea6 ima: Allow template selection with ima_template[_fmt]= after ima_hash=
20805cd ima: Remove ima_policy file before directory
0838d6d ima: fix reference leak in asymmetric_verify()
739b7bb integrity: check the return value of audit_log_start()
c1d3ac0 Linux 5.15.23
1f17886 tipc: improve size validations for received domain records
40eb05e crypto: api - Move cryptomgr soft dependency into algapi
ab32ea3 ksmbd: fix SMB 3.11 posix extension mount failure
14f880e KVM: s390: Return error on SIDA memop on normal guest
c28ee73 arm64: Add Cortex-A510 CPU part definition
af0e6c4 moxart: fix potential use-after-free on remove path
Homepage
Download Linux 5.15.24-xanmod1 source from GitHub
A new XanMod Linux Kernel based on Linux Kernel 5.15.24 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.