Debian 9973 Published by

A new XanMod Linux Kernel based on Linux Kernel 5.15.51 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.

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 releases main' | sudo tee /etc/apt/sources.list.d/xanmod-kernel.list && wget -qO - | sudo apt-key add -

Then update and install:

sudo apt update && sudo apt install linux-xanmod


Meta packages available: linux-xanmodlinux-xanmod-edgelinux-xanmod-ltslinux-xanmod-rt-edge and linux-xanmod-rt.

To try without adding the repository

Download from Sourceforge and install:

  1. In terminal:
    sudo dpkg -i linux-image-*xanmod*.deb linux-headers-*xanmod*.deb
  2. Reboot.
  • Check it:
    cat /proc/version
* linux-firmware-image package is optional

Linux 5.15.51-xanmod1

2728d95 Linux 5.15.51-xanmod1
e0dda7f Merge tag 'v5.15.51' into 5.15
3723844 Linux 5.15.51
7fc188a powerpc/pseries: wire up rng during setup_arch()
17aa69b kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt)
cced9ce dma-direct: use the correct size for dma_set_encrypted()
a8bbb4c perf build-id: Fix caching files with a wrong build ID
46a78d1 random: update comment from copy_to_user() -> copy_to_iter()
7a3a468 ARM: dts: bcm2711-rpi-400: Fix GPIO line names
bcf2087 modpost: fix section mismatch check for exported init/exit sections
da3ee7c ARM: cns3xxx: Fix refcount leak in cns3xxx_init
cde4480 memory: samsung: exynos5422-dmc: Fix refcount leak in of_get_dram_timings
4d9c60e ARM: Fix refcount leak in axxia_boot_secondary
10ba9d4 soc: bcm: brcmstb: pm: pm-arm: Fix refcount leak in brcmstb_pm_probe
d23f760 ARM: exynos: Fix refcount leak in exynos_map_pmu
5e00d3d arm64: dts: ti: k3-am64-main: Remove support for HS400 speed mode
4b50476 ARM: dts: imx6qdl: correct PU regulator ramp delay
c845b98 ARM: dts: imx7: Move hsic_phy power domain to HSIC PHY node
93f7d2a drm/msm/dp: Always clear mask bits to disable interrupts at dp_ctrl_reset_irq_ctrl()
1ad3856 powerpc/powernv: wire up rng during setup_arch
c1cfae4 powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address
fe643b5 powerpc: Enable execve syscall exit tracepoint
416d16b powerpc/microwatt: wire up rng during setup_arch()
6b28ca2 parisc: Enable ARCH_HAS_STRICT_MODULE_RWX
cb4d520 parisc/stifb: Fix fb_is_primary_device() only available with CONFIG_FB_STI
0dcc1dd xtensa: Fix refcount leak bug in time.c
0162451 xtensa: xtfpga: Fix refcount leak bug in setup
711591b iio: adc: ti-ads131e08: add missing fwnode_handle_put() in ads131e08_alloc_channels()
ab7bf02 iio: adc: adi-axi-adc: Fix refcount leak in adi_axi_adc_attach_client
4358bf6 iio: adc: rzg2l_adc: add missing fwnode_handle_put() in rzg2l_adc_parse_properties()
bb6f853 iio: adc: axp288: Override TS pin bias current for some models
4f89730 iio: adc: stm32: Fix IRQs on STM32F4 by removing custom spurious IRQs message
d361b3c iio: adc: stm32: Fix ADCs iteration in irq handler
148bab1 iio: afe: rescale: Fix boolean logic bug
80e8057 iio: imu: inv_icm42600: Fix broken icm42600 (chip id 0 value)
2a2d448 iio: adc: stm32: fix maximum clock rate for stm32mp15x
4687c3f iio: trigger: sysfs: fix use-after-free on remove
f359c47 iio: gyro: mpu3050: Fix the error handling in mpu3050_power_up()
005cb02 iio: accel: mma8452: ignore the return value of reset operation
cb0d87f iio:accel:mxc4005: rearrange iio trigger get and register
3357fb9 iio:accel:bma180: rearrange iio trigger get and register
240fb39 iio:accel:kxcjk-1013: rearrange iio trigger get and register
a135631 iio:chemical:ccs811: rearrange iio trigger get and register
974e69b iio:humidity:hts221: rearrange iio trigger get and register
f650029 f2fs: attach inline_data after setting compression
d98b503 btrfs: fix deadlock with fsync+fiemap+transaction commit
1238f58 btrfs: don't set lock_owner when locking extent buffer for reading
46336a5 dt-bindings: usb: ehci: Increase the number of PHYs
9a0b865 dt-bindings: usb: ohci: Increase the number of PHYs
308df8d usb: chipidea: udc: check request status before setting device address
07f1d9a USB: gadget: Fix double-free bug in raw_gadget driver
61c3a21 usb: gadget: Fix non-unique driver names in raw-gadget driver
da57f11 xhci-pci: Allow host runtime PM as default for Intel Meteor Lake xHCI
cfa16dd xhci-pci: Allow host runtime PM as default for Intel Raptor Lake xHCI
c1c78d4 xhci: turn off port power in shutdown
9509a17 usb: typec: wcove: Drop wrong dependency to INTEL_SOC_PMIC
288f30e iio: adc: vf610: fix conversion mode sysfs node name
466e15f iio: magnetometer: yas530: Fix memchr_inv() misuse
490dd2d iio: mma8452: fix probe fail when device tree compatible is used.
ff3e50c s390/cpumf: Handle events cycles and instructions identical
09dd563 gpio: winbond: Fix error code in winbond_gpio_get()
e3ea126 nvme: move the Samsung X5 quirk entry to the core quirks
1057d42 nvme-pci: add NO APST quirk for Kioxia device
72fa0f6 sock: redo the psock vs ULP protection check
eb93999 Revert "net/tls: fix tls_sk_proto_close executed repeatedly"
8d7fe9a virtio_net: fix xdp_rxq_info bug after suspend/resume
8eb0223 igb: Make DMA faster when CPU is active on the PCIe link
60fd29f regmap-irq: Fix offset/index mismatch in read_sub_irq_data()
b0581f9 regmap-irq: Fix a bug in regmap_irq_enable() for type_in_mask chips
20229bb ice: ethtool: advertise 1000M speeds properly
2b2bba9 afs: Fix dynamic root getattr
ab150a2 MIPS: Remove repetitive increase irq_err_count
3e2c9ee x86/xen: Remove undefined behavior in setup_features()
ffa12a3 xen-blkfront: Handle NULL gendisk
0315bd8 selftests: netfilter: correct PKTGEN_SCRIPT_PATHS in
5b45535 udmabuf: add back sanity check
be64f54 net/tls: fix tls_sk_proto_close executed repeatedly
a3b2470 erspan: do not assume transport header is always set
26e70f8 perf arm-spe: Don't set data source if it's not a memory operation
e24709e drm/msm/dp: force link training for display resolution change
796d3ac drm/msm/dp: do not initialize phy until plugin interrupt received
40e9efd drm/msm/dp: dp_link_parse_sink_count() return immediately if aux read failed
2ecf5ff drm/msm/dp: Drop now unused hpd_high member
d0b4a61 drm/msm/dp: check core_initialized before disable interrupts at dp_display_unbind()
3c39a17 drm/msm/mdp4: Fix refcount leak in mdp4_modeset_init_intf
45bd293 net/sched: sch_netem: Fix arithmetic in netem_dump() for 32-bit platforms
efb10d2 ethtool: Fix get module eeprom fallback
6386fdd bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers
2af9442 igb: fix a use-after-free issue in igb_clean_tx_ring
cd7789e tipc: fix use-after-free Read in tipc_named_reinit
ad10d61 net: fix data-race in dev_isalive()
f617cef net: Write lock dev_base_lock without disabling bottom halves.
638be56 KVM: arm64: Prevent kmemleak from accessing pKVM memory
d7fe6be phy: aquantia: Fix AN when higher speeds than 1G are not advertised
8e74f5c scsi: storvsc: Correct reporting of Hyper-V I/O size limits
b28e4e3 bpf, x86: Fix tail call count offset calculation on bpf2bpf call
0eef1dc drm/sun4i: Fix crash during suspend after component bind failure
b036074 bpf: Fix request_sock leak in sk lookup helpers
7154e4d drm/msm: use for_each_sgtable_sg to iterate over scatterlist
64e6ba7 xsk: Fix generic transmit when completion queue reservation fails
54abcc5 scsi: iscsi: Exclude zero from the endpoint ID range
0a7a526 drm/msm: Switch ordering of runpm put vs devfreq_idle
7d5fe94 scsi: scsi_debug: Fix zone transition to full condition
d0906b0 netfilter: use get_random_u32 instead of prandom
f7fa326 drm/msm: Fix double pm_runtime_disable() call
c6f6c96 drm/msm: Ensure mmap offset is initialized
45dc151 USB: serial: option: add Quectel RM500K module support
d5eb7d6 USB: serial: option: add Quectel EM05-G modem
b919ece USB: serial: option: add Telit LE910Cx 0x1250 composition
e5b0f42 USB: serial: pl2303: add support for more HXN (G) types
0895a22 drm/i915: Implement w/a 22010492432 for adl-s
bae4d6a tracing/kprobes: Check whether get_kretprobe() returns NULL in kretprobe_dispatcher()
c3f51b2 dm mirror log: clear log bits up to BITS_PER_LONG boundary
ac0a5f7 dm era: commit metadata in postsuspend after worker stops
c477de4 ata: libata: add qc->flags in ata_qc_complete_template tracepoint
0af674e mtd: rawnand: gpmi: Fix setting busy timeout setting
0f6f66b MAINTAINERS: Add new IOMMU development mailing list
87a54fe xen/gntdev: Avoid blocking in unmap_grant_pages()
fe9ba4f mmc: mediatek: wait dma stop bit reset to 0
7df8c49 mmc: sdhci-pci-o2micro: Fix card detect by dealing with debouncing
161ec2a scsi: ibmvfc: Allocate/free queue resource only during probe/remove
8540f66 scsi: ibmvfc: Store vhost pointer during subcrq allocation
4a19c1c btrfs: add error messages to all unrecognized mount options
82e3769 btrfs: prevent remounting to v1 space cache for subpage mount
341d331 btrfs: fix hang during unmount when block group reclaim task is running
f0126bc 9p: fix fid refcount leak in v9fs_vfs_get_link
22832ac 9p: fix fid refcount leak in v9fs_vfs_atomic_open_dotl
10629c0 9p: Fix refcounting during full path walks for fid lookups
cbf5852 net: openvswitch: fix parsing of nw_proto for IPv6 fragments
56c6f1f ALSA: hda/realtek: Add quirk for Clevo NS50PU
48e3b93 ALSA: hda/realtek: Add quirk for Clevo PD70PNT
dffaf58 ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly
c478ceb ALSA: hda/realtek - ALC897 headset MIC no sound
82e29e9 ALSA: hda/realtek: Add mute LED quirk for HP Omen laptop
d12a5d1 ALSA: hda/conexant: Fix missing beep setup
535abf6 ALSA: hda/via: Fix missing beep setup
eb4c99d random: quiet urandom warning ratelimit suppression message
7a42647 random: schedule mix_interrupt_randomness() less often
18a33c8 Linux 5.15.50
f1304f9 arm64: mm: Don't invalidate FROM_DEVICE buffers at start of DMA transfer
7c62218 serial: core: Initialize rs485 RTS polarity already on probe
8e57da5 selftests/bpf: Add selftest for calling global functions from freplace
5c0ab17 bpf: Fix calling global functions from BPF_PROG_TYPE_EXT programs
cfb68b0 usb: gadget: u_ether: fix regression in setting fixed MAC address
c2f71b9 zonefs: fix zonefs_iomap_begin() for reads
04dcef4 net: mana: Add handling of CQE_RX_TRUNCATED
7fd1d00 drm/amd/display: Don't reinitialize DMCUB on s0ix resume
4854350 s390/mm: use non-quiescing sske for KVM switch to keyed guest

Download Linux 5.15.51-xanmod1 source from GitHub