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.38-xanmod1
98da5cc Linux 5.15.38-xanmod1
81a1317 XANMOD: block/mq-deadline: Equal read and write priority for responsiveness
de5cb10 Merge fix [2/2]: net-tcp_bbr: v2 patchset
248825f Merge tag 'v5.15.38' into 5.15
5322cb8 Merge fix [1/2]: net-tcp_bbr: v2 patchset
3fbf24b Linux 5.15.38
151322c powerpc/64: Add UADDR64 relocation support
ec1bb68 objtool: Fix type of reloc::addend
19ffee7 objtool: Fix code relocs vs weak symbols
80c71d7 eeprom: at25: Use DMA safe buffers
7d0010f perf symbol: Remove arch__symbols__fixup_end()
ea47db3 tty: n_gsm: fix software flow control handling
ab49c23 tty: n_gsm: fix incorrect UA handling
e0a84ae tty: n_gsm: fix reset fifo race condition
f92783b tty: n_gsm: fix missing tty wakeup in convergence layer type 2
aeacc7e tty: n_gsm: fix wrong signal octets encoding in MSC
ef2f08e tty: n_gsm: fix wrong command frame length field encoding
e51f354 tty: n_gsm: fix wrong command retry handling
73defa0 tty: n_gsm: fix missing explicit ldisc flush
2484787 tty: n_gsm: fix wrong DLCI release order
0a7fe1a tty: n_gsm: fix insufficient txframe size
87e1b4f netfilter: nft_socket: only do sk lookups when indev is available
a93d2d3 tty: n_gsm: fix malformed counter for out of frame data
0d6289c tty: n_gsm: fix wrong signal octet encoding in convergence layer type 2
4e1beef tty: n_gsm: fix mux cleanup after unregister tty device
8b19dfb tty: n_gsm: fix decoupled mux resource
7f71387 tty: n_gsm: fix restart handling via CLD command
a87a36b perf symbol: Update symbols__fixup_end()
cf7bf78 perf symbol: Pass is_kallsyms to symbols__fixup_end()
f858bd6 x86/cpu: Load microcode during restore_processor_state()
2333d2a ARM: dts: imx8mm-venice-gw{71xx,72xx,73xx}: fix OTG controller OC mode
0dc5cad ARM: dts: at91: sama7g5ek: enable pull-up on flexcom3 console lines
cf12ce1 btrfs: fix leaked plug after failure syncing log on zoned filesystems
65b785c thermal: int340x: Fix attr.show callback prototype
f3106b0 ACPI: processor: idle: Avoid falling back to C3 type C-states
d2bc6fc net: ethernet: stmmac: fix write to sgmii_adapter_base
4e308b2 drm/i915: Fix SEL_FETCH_PLANE_*(PIPE_B+) register addresses
67434e1 drm/i915: Check EDID for HDR static metadata when choosing blc
891883c netfilter: Update ip6_route_me_harder to consider L3 domain
c63fbe0 mtd: rawnand: qcom: fix memory corruption that causes panic
30083f0 kasan: prevent cpu_quarantine corruption when CPU offline and cache shrink occur at same time
051e78d zonefs: Clear inode information flags on inode creation
534c3f2 zonefs: Fix management of open zones
7461406 Revert "ACPI: processor: idle: fix lockup regression on 32-bit ThinkPad T40"
2688d96 selftest/vm: verify remap destination address in mremap_test
a17404f selftest/vm: verify mmap addr in mremap_test
c18b693 powerpc/perf: Fix 32bit compile
9a90c13 drivers: net: hippi: Fix deadlock in rr_close()
3bb73c4 cifs: destage any unwritten data to the server before calling copychunk_write
4640802 x86: memcpy_flushcache: fix wrong alignment if size > 2^32
5bf8eda bonding: do not discard lowest hash bit for non layer3+4 hashing
d276bcc ksmbd: set fixed sector size to FS_SECTOR_SIZE_INFORMATION
df30cbf ksmbd: increment reference count of parent fp
50f79a2 arch: xtensa: platforms: Fix deadlock in rs_close()
52c3a04 ext4: fix bug_on in start_this_handle during umount filesystem
dd2f7fc ASoC: wm8731: Disable the regulator when probing fails
2c5ca9b ASoC: Intel: soc-acpi: correct device endpoints for max98373
27e724b tcp: fix F-RTO may not work correctly when receiving DSACK
8de15da Revert "ibmvnic: Add ethtool private flag for driver-defined queue limits"
881c48b ixgbe: ensure IPsec VFPF compatibility
3bc7a1f perf arm-spe: Fix addresses of synthesized SPE events
3591293 gfs2: No short reads or writes upon glock contention
b5afb47 gfs2: Make sure not to return short direct writes
fe24959 gfs2: Minor retry logic cleanup
e4ea328 gfs2: Prevent endless loops in gfs2_file_buffered_write
a83ee2d net: fec: add missing of_node_put() in fec_enet_init_stop_mode()
925ebca bnx2x: fix napi API usage sequence
87fe5a3 tls: Skip tls_append_frag on zero copy size
815b847 drm/amd/display: Fix memory leak in dcn21_clock_source_create
ce9be3b drm/amdkfd: Fix GWS queue count
54e0b94 netfilter: conntrack: fix udp offload timeout sysctl
37811e4 io_uring: check reserved fields for recv/recvmsg
79c10cb io_uring: check reserved fields for send/sendmsg
ee6d708 net: dsa: lantiq_gswip: Don't set GSWIP_MII_CFG_RMII_CLK
8a991ba drm/sun4i: Remove obsolete references to PHYS_OFFSET
ede22fc net: dsa: mv88e6xxx: Fix port_hidden_wait to account for port_base_addr
9b649f4 net: phy: marvell10g: fix return value on error
21bf1dc net: bcmgenet: hide status block before TX timestamping
abff341 cpufreq: qcom-cpufreq-hw: Clear dcvs interrupts
7356c1f clk: sunxi: sun9i-mmc: check return value after calling platform_get_resource()
409789e bus: sunxi-rsb: Fix the return value of sunxi_rsb_device_create()
45b7fca tcp: make sure treq->af_specific is initialized
6c4d433 tcp: fix potential xmit stalls caused by TCP_NOTSENT_LOWAT
6b59df7 ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode
e5e985d ip6_gre: Make o_seqno start from 0 in native mode
2dec240 ip_gre: Make o_seqno start from 0 in native mode
479dc5d net/smc: sync err code when tcp connection was refused
8c59a61 net: hns3: add return value for mailbox handling in PF
fc480b4 net: hns3: add validity check for message data length
cfedc70 net: hns3: modify the return code of hclge_get_ring_chain_from_mbx
88c3940 net: hns3: clear inited state and stop client after failed to register netdev
ac01adf cpufreq: fix memory leak in sun50i_cpufreq_nvmem_probe
cdc350a pinctrl: pistachio: fix use of irq_of_parse_and_map()
111827d arm64: dts: imx8mn-ddr4-evk: Describe the 32.768 kHz PMIC clock
a621f6c ARM: dts: imx6ull-colibri: fix vqmmc regulator
5a4da2e sctp: check asoc strreset_chunk in sctp_generate_reconf_event
37a0478 wireguard: device: check for metadata_dst with skb_valid_dst()
d632cba tcp: ensure to use the most recently sent skb when filling the rate sample
e9b1a51 pinctrl: stm32: Keep pinctrl block clock enabled when LEVEL IRQ requested
eb90a42 tcp: md5: incorrect tcp_header_len for incoming connections
eea1665 pinctrl: rockchip: fix RK3308 pinmux bits
86d8076 bpf, lwt: Fix crash when using bpf_skb_set_tunnel_key() from bpf_xmit lwt hook
c2a69ac netfilter: nft_set_rbtree: overlap detection with element re-addition after deletion
9cc897c net: dsa: Add missing of_node_put() in dsa_port_link_register_of
72e7940 memory: renesas-rpc-if: Fix HF/OSPI data transfer in Manual Mode
2075f6f pinctrl: stm32: Do not call stm32_gpio_get() for edge triggered IRQs in EOI
291ee67 mtd: fix 'part' field data corruption in mtd_info
6465a21 mtd: rawnand: Fix return value check of wait_for_completion_timeout
1027756 pinctrl: mediatek: moore: Fix build error
d3dfa49 phy: amlogic: fix error path in phy_g12a_usb3_pcie_probe()
b347b85 ipvs: correctly print the memory size of ip_vs_conn_tab
12d3fd4 ARM: dts: logicpd-som-lv: Fix wrong pinmuxing on OMAP35
6b49289 ARM: dts: am3517-evm: Fix misc pinmuxing
6476c49 ARM: dts: Fix mmc order for omap3-gta04
4e81598 interconnect: qcom: sdx55: Drop IP0 interconnects
344558d phy: ti: Add missing pm_runtime_disable() in serdes_am654_probe
cf6f119 phy: mapphone-mdm6600: Fix PM error handling in phy_mdm6600_probe
49c7d87 ARM: dts: at91: fix pinctrl phandles
7ecb263 ARM: dts: at91: sama5d4_xplained: fix pinctrl phandle name
1e68040 ARM: dts: at91: Map MCLK for wm8731 on at91sam9g20ek
555bcbb phy: ti: omap-usb2: Fix error handling in omap_usb2_enable_clocks
d60abf2 ARM: dts: dra7: Fix suspend warning for vpe powerdomain
127295f bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific
033cac3 ARM: OMAP2+: Fix refcount leak in omap_gic_of_init
a933ee6 phy: samsung: exynos5250-sata: fix missing device put in probe error paths
3c8a023 phy: samsung: Fix missing of_node_put() in exynos_sata_phy_probe
bb0f352 arm64: dts: meson-sm1-bananapi-m5: fix wrong GPIO pin labeling for CON1
0f8e303 arm64: dts: imx8mn: Fix SAI nodes
f1266c4 ARM: dts: imx6qdl-apalis: Fix sgtl5000 detection issue
7596c45 USB: Fix xhci event ring dequeue pointer ERDP update issue
11baa5e arm64: dts: imx8qm: Correct SCU clock controller's compatible property
d84f832 xsk: Fix l2fwd for copy mode + busy poll combo
3ec920d mtd: rawnand: fix ecc parameters for mt7622
9e4dedb iio:imu:bmi160: disable regulator in error path
d583cd6 arm64: dts: meson: remove CPU opps below 1GHz for SM1 boards
9f87877 arm64: dts: meson: remove CPU opps below 1GHz for G12B boards
4df1584 video: fbdev: udlfb: properly check endpoint type
1ad0832 cpufreq: qcom-cpufreq-hw: Fix throttle frequency value on EPSS platforms
38ac9ca cpufreq: qcom-hw: fix the race between LMH worker and cpuhp
08b036b virtio_net: fix wrong buf address calculation when using xdp
10f2414 iocost: don't reset the inuse weight of under-weighted debtors
559d4f4 x86/pci/xen: Disable PCI/MSI[-X] masking for XEN_HVM guests
95ad6be riscv: patch_text: Fixup last cpu should be master
3437091 hex2bin: fix access beyond string end
4541645 hex2bin: make the function hex_to_bin constant-time
41dee18 pinctrl: samsung: fix missing GPIOLIB on ARM64 Exynos config
8f2dac5 arm64: dts: imx8mm-venice: fix spi2 pin configuration
34b5d2a bus: mhi: host: pci_generic: Flush recovery worker during freeze
b3d21de bus: mhi: host: pci_generic: Add missing poweroff() PM callback
732f861 ceph: fix possible NULL pointer dereference for req->r_session
2b00819 arch_topology: Do not set llc_sibling if llc_id is invalid
03cab84 serial: 8250: Correct the clock for EndRun PTP/1588 PCIe device
9445505 serial: 8250: Also set sticky MCR bits in console restoration
ac55cac serial: amba-pl011: do not time out prematurely when draining tx fifo
858d932 serial: imx: fix overrun interrupts in DMA mode
c0ea202 usb: phy: generic: Get the vbus supply
dd2af3a usb: cdns3: Fix issue for clear halt endpoint
455285d usb: dwc3: pci: add support for the Intel Meteor Lake-P
0d1c407 usb: dwc3: gadget: Return proper request status
7d14c96 usb: dwc3: core: Only handle soft-reset in DCTL
5d8299e usb: dwc3: core: Fix tx/rx threshold settings
b81be94 usb: dwc3: Try usb-role-switch first in dwc3_drd_init
9f051e5 usb: gadget: configfs: clear deactivation flag in configfs_composite_unbind()
f9b2660 usb: gadget: uvc: Fix crash when encoding data for usb request
e5e7d6c usb: typec: ucsi: Fix role swapping
3e5dd4c usb: typec: ucsi: Fix reuse of completion structure
6bf55f6 usb: core: Don't hold the device lock while sleeping in do_proc_control()
949d422 usb: misc: fix improper handling of refcount in uss720_probe()
a590353 iio: imu: inv_icm42600: Fix I2C init possible nack
7619f3c iio: magnetometer: ak8975: Fix the error handling in ak8975_power_on()
28e1f97 iio: dac: ad5446: Fix read_raw not returning set value
cd266c3 iio: dac: ad5592r: Fix the missing return value.
48bc039 xhci: increase usb U3 -> U0 link resume timeout from 100ms to 500ms
9faa311 xhci: stop polling roothubs after shutdown
10e0d30 xhci: Enable runtime PM on second Alderlake controller
576b406 usb: xhci: tegra:Fix PM usage reference leak of tegra_xusb_unpowergate_partitions
4ebf298 USB: serial: option: add Telit 0x1057, 0x1058, 0x1075 compositions
be94d69 USB: serial: option: add support for Cinterion MV32-WA/MV32-WB
bb73ae9 USB: serial: cp210x: add PIDs for Kamstrup USB Meter Reader
f183708 USB: serial: whiteheat: fix heap overflow in WHITEHEAT_GET_DTR_RTS
7f8fc60 USB: quirks: add STRING quirk for VCOM device
96a5999 USB: quirks: add a Realtek card reader
0da0ac8 usb: mtu3: fix USB 3.0 dual-role-switch from device to host
4bf7f35 Linux 5.15.37
f59e688 selftests/bpf: Add test for reg2btf_ids out of bounds access
dcecd95 mm: gup: make fault_in_safe_writeable() use fixup_user_fault()
4a0123b btrfs: fallback to blocking mode when doing async dio over multiple extents
c81c4f5 btrfs: fix deadlock due to page faults during direct IO reads and writes
640a6be gfs2: Fix mmap + page fault deadlocks for direct I/O
f86f8d2 iov_iter: Introduce nofault flag to disable page faults
6e213bc gup: Introduce FOLL_NOFAULT flag to disable page faults
d3b7447 iomap: Add done_before argument to iomap_dio_rw
ea7a578 iomap: Support partial direct I/O on user copy failures
a00cc46 iomap: Fix iomap_dio_rw return value for user copies
81a7fc3 gfs2: Fix mmap + page fault deadlocks for buffered I/O
38b5849 gfs2: Eliminate ip->i_gh
8d363d8 gfs2: Move the inode glock locking to gfs2_file_buffered_write
416a705 gfs2: Introduce flag for glock holder auto-demotion
b25cfbc gfs2: Clean up function may_grant
b88b998 gfs2: Add wrapper for iomap_file_buffered_write
1d91c91 iov_iter: Introduce fault_in_iov_iter_writeable
30e66b1 iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable
923f05a gup: Turn fault_in_pages{readable,writeable} into fault_in{readable,writeable}
19cbd78 mm: kfence: fix objcgs vector allocation
10033fa ARM: dts: socfpga: change qspi to "intel,socfpga-qspi"
e8749d6 spi: cadence-quadspi: fix write completion support
8c39925 bpf: Fix crash due to out of bounds access into reg2btf_ids.
379382b bpf/selftests: Test PTR_TO_RDONLY_MEM
2a77c58 bpf: Add MEM_RDONLY for helper args that are pointers to rdonly mem.
15166bb bpf: Make per_cpu_ptr return rdonly PTR_TO_MEM.
b710f73 bpf: Convert PTR_TO_MEM_OR_NULL to composable types.
b453361 bpf: Introduce MEM_RDONLY flag
8d38cde bpf: Replace PTR_TO_XXX_OR_NULL with PTR_TO_XXX | PTR_MAYBE_NULL
3c141c8 bpf: Replace RET_XXX_OR_NULL with RET_XXX | PTR_MAYBE_NULL
d58a396 bpf: Replace ARG_XXX_OR_NULL with ARG_XXX | PTR_MAYBE_NULL
a760209 bpf: Introduce composable reg, ret and arg types.
e52da8e floppy: disable FDRAWCMD by default
Homepage
Download Linux 5.15.38-xanmod1 source from GitHub
A new XanMod Linux Kernel based on Linux Kernel 5.15.38 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.