Linux 6.6.21-xanmod1
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
- 75b70b5 Linux 6.6.21-xanmod1
- 401a343 Merge tag 'v6.6.21' into 6.6
- 62e5ae5 Linux 6.6.21
- d6ac0ee drm/nouveau: don't fini scheduler before entity flush
- ece1aae selftests: mptcp: rm subflow with v4/v4mapped addr
- 8e7f31b selftests: mptcp: add mptcp_lib_is_v6
- 9d71f43 selftests: mptcp: update userspace pm test helpers
- f9190d7 selftests: mptcp: add chk_subflows_total helper
- ae1fa39 selftests: mptcp: add evts_get_info helper
- e81742f KVM/VMX: Move VERW closer to VMentry for MDS mitigation
- ae46691 KVM/VMX: Use BT+JNC, i.e. EFLAGS.CF to select VMRESUME vs. VMLAUNCH
- 7a62647 x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key
- ca13d8c x86/entry_32: Add VERW just before userspace transition
- 7caf330 x86/entry_64: Add VERW just before userspace transition
- 2664bb2 block: define bvec_iter as __packed __aligned(4)
- 21bbe84 gpio: fix resource unwinding order in error path
- 9c7c161 gpiolib: Fix the error path order in gpiochip_add_data_with_key()
- 92515c4 gpio: 74x164: Enable output pins after registers are reset
- 6b6282d powerpc/rtas: use correct function name for resetting TCE tables
- d4d1e4b powerpc/pseries/iommu: IOMMU table is not initialized for kdump over SR-IOV
- 5e3022e dmaengine: idxd: Ensure safe user copy of completion record
- 4d6e793 dmaengine: idxd: Remove shadow Event Log head stored in idxd
- 9819177 phy: freescale: phy-fsl-imx8-mipi-dphy: Fix alias name to use dashes
- d24fe6d dmaengine: dw-edma: eDMA: Add sync read before starting the DMA transfer in remote setup
- 227ef58 dmaengine: dw-edma: HDMA: Add sync read before starting the DMA transfer in remote setup
- 55501b7 dmaengine: dw-edma: Add HDMA remote interrupt configuration
- 3fa3dfc dmaengine: dw-edma: HDMA_V0_REMOTEL_STOP_INT_EN typo fix
- 8b5657a dmaengine: dw-edma: Fix wrong interrupt bit set for HDMA
- 3adea99 dmaengine: dw-edma: Fix the ch_count hdma callback
- 57e869b ASoC: cs35l56: fix reversed if statement in cs35l56_dspwait_asp1tx_put()
- e9eac26 af_unix: Drop oob_skb ref before purging queue in GC.
- 69e0f04 af_unix: Fix task hung while purging oob_skb in GC.
- be8a177 NFS: Fix data corruption caused by congestion.
- fa8c776 mptcp: fix possible deadlock in subflow diag
- ce0809a mptcp: fix double-free on socket dismantle
- b609ecd mptcp: fix potential wake-up event loss
- ae5530c mptcp: fix snd_wnd initialization for passive socket
- 536a661 selftests: mptcp: join: add ss mptcp support check
- 48428b0 mptcp: push at DSS boundaries
- fca4e6a mptcp: avoid printing warning once on client side
- a49ecbe mptcp: map v4 address to v6 when destroying subflow
- dff60a5 x86/cpu/intel: Detect TME keyid bits before setting MTRR mask registers
- c43b984 x86/e820: Don't reserve SETUP_RNG_SEED in e820
- d2a9510 mm/debug_vm_pgtable: fix BUG_ON with pud advanced test
- e9eeb0d pmdomain: qcom: rpmhpd: Fix enabled_corner aggregation
- 71da10e efivarfs: Request at most 512 bytes for variable names
- f1fb745 iommufd: Fix iopt_access_list_id overwrite bug
- 8db4f87 kbuild: Add -Wa,--fatal-warnings to as-instr invocation
- 9537603 riscv: add CALLER_ADDRx support
- 0c8a3d3 RISC-V: Drop invalid test from CONFIG_AS_HAS_OPTION_ARCH
- aebd67a mmc: sdhci-xenon: fix PHY init clock stability
- b4eacb3 mmc: sdhci-xenon: add timeout for PHY init complete
- 4344444 mmc: core: Fix eMMC initialization with 1-bit bus connection
- 176e662 mmc: mmci: stm32: fix DMA API overlapping mappings warning
- a69c8bb dmaengine: fsl-qdma: init irq after reg initialization
- 91b001f dmaengine: fsl-edma: correct calculation of 'nbytes' in multi-fifo scenario
- 4e0fe15 dmaengine: ptdma: use consistent DMA masks
- 1291d27 crypto: arm64/neonbs - fix out-of-bounds access on short input
- 5b696e9 dmaengine: fsl-qdma: fix SoC may hang on 16 byte unaligned read
- 737d2e9 soc: qcom: pmic_glink: Fix boot when QRTR=m
- 82dacc2 drm/amd/display: Add monitor patch for specific eDP
- 5e47662 drm/buddy: fix range bias
- baac292 Revert "drm/amd/pm: resolve reboot exception for si oland"
- 202e4f4 btrfs: send: don't issue unnecessary zero writes for trailing hole
- b1690ce btrfs: dev-replace: properly validate device names
- eb34410 btrfs: fix double free of anonymous device after snapshot creation failure
- 177d574 wifi: nl80211: reject iftype change with mesh ID change
- ad8ff8c mtd: rawnand: marvell: fix layouts
- ba60fdf mm: cachestat: fix folio read-after-free in cache walk
- 93dd420 gtp: fix use-after-free and null-ptr-deref in gtp_newlink()
- f490693 landlock: Fix asymmetric private inodes referring
- 0be289b Bluetooth: hci_bcm4377: do not mark valid bd_addr as invalid
- a4904b3 ALSA: hda/realtek: Add special fixup for Lenovo 14IRP8
- 5cdf76f ALSA: hda/realtek: fix mute/micmute LED For HP mt440
- 46fb5e7 ALSA: hda/realtek: Enable Mute LED on HP 840 G8 (MB 8AB8)
- d6ac6ff ALSA: hda/realtek: tas2781: enable subwoofer volume control
- bb06ffb ALSA: ump: Fix the discard error code from snd_ump_legacy_open()
- 22df6ff ALSA: firewire-lib: fix to check cycle continuity
- 2caa605 tomoyo: fix UAF write bug in tomoyo_write_control()
- 6f72b44 of: property: fw_devlink: Fix stupid bug in remote-endpoint parsing
- d43f8e5 btrfs: fix race between ordered extent completion and fiemap
- a278d5c riscv: Sparse-Memory/vmemmap out-of-bounds fix
- eb25716 riscv: Fix pte_leaf_size() for NAPOT
- 2b7ce74 Revert "riscv: mm: support Svnapot in huge vmap"
- e0d17ee drivers: perf: ctr_get_width function for legacy is not defined
- 2f8c094 drivers: perf: added capabilities for legacy PMU
- f678988 afs: Fix endless loop in directory parsing
- 73a6bd6 fbcon: always restore the old font data in fbcon_do_set_font()
- 8e8c66a drm/tegra: Remove existing framebuffer only if we support display
- 274bf3c RISC-V: Ignore V from the riscv,isa DT property on older T-Head CPUs
- fb3618f ASoC: soc-card: Fix missing locking in snd_soc_card_get_kcontrol()
- 4b5d89a ASoC: cs35l56: Fix deadlock in ASP1 mixer register initialization
- 9f05fe5 ASoC: cs35l56: Fix misuse of wm_adsp 'part' string for silicon revision
- c249f04 ASoC: cs35l56: Fix for initializing ASP1 mixer registers
- 044edc1 ASoC: cs35l56: Don't add the same register patch multiple times
- a2f0a68 ASoC: cs35l56: cs35l56_component_remove() must clean up wm_adsp
- 93fc01f ASoC: cs35l56: cs35l56_component_remove() must clear cs35l56->component
- cc698db riscv: Fix build error if !CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION
- 99adc8b ASoC: qcom: Fix uninitialized pointer dmactl
- 841361d ASoC: qcom: convert not to use asoc_xxx()
- c92c96c ASoC: soc.h: convert asoc_xxx() to snd_soc_xxx()
- ac549de ALSA: Drop leftover snd-rtctimer stuff from Makefile
- 4a7f5ef ASoC: cs35l56: Must clear HALO_STATE before issuing SYSTEM_RESET
- fbca8ba power: supply: bq27xxx-i2c: Do not free non existing IRQ
- 11aabd7 efi/capsule-loader: fix incorrect allocation size
- 81be853 tls: fix use-after-free on failed backlog decryption
- dec5b6e tls: separate no-async decryption request handling from async
- 11121c2 tls: fix peeking with sync+async decryption
- c19fdb0 tls: decrement decrypt_pending if no async completion will be called
- 9422350 net: hsr: Use correct offset for HSR TLV values in supervisory HSR frames
- c88bf99 igb: extend PTP timestamp adjustments to i211
- 167d864 rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back
- dbc81b0 tools: ynl: fix handling of multiple mcast groups
- 80cd048 netfilter: bridge: confirm multicast packets before passing them up the stack
- 98567dc netfilter: nf_tables: allow NFPROTO_INET in nft_(match/target)_validate()
- 39e39c3 Bluetooth: qca: Fix triggering coredump implementation
- c50ce48 Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT
- fb3e827 Bluetooth: qca: Fix wrong event type for patch config command
- dcd646f Bluetooth: Enforce validation on max value of connection interval
- fba268a Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST
- 4a91396 Bluetooth: hci_event: Fix wrongly recorded wakeup BD_ADDR
- 6699d7c Bluetooth: hci_sync: Fix accept_list when attempting to suspend
- 2ab9a19 Bluetooth: Avoid potential use-after-free in hci_error_reset
- 0a07fa1 Bluetooth: hci_sync: Check the correct flag before starting a scan
- 699b103 stmmac: Clear variable when destroying workqueue
- af6dfe9 uapi: in6: replace temporary label with rfc9486
- 2ae3d9d net: lan78xx: fix "softirq work is pending" error
- 0ec3ea6 net: usb: dm9601: fix wrong return value in dm9601_mdio_read
- 2d8003e veth: try harder when allocating queue memory
- 288218b lan78xx: enable auto speed configuration for LAN7850 if no EEPROM is detected
- 44112bc ipv6: fix potential "struct net" leak in inet6_rtm_getaddr()
- 16edf51 net: veth: clear GRO when clearing XDP even when down
- 1a86827 cpufreq: intel_pstate: fix pstate limits enforcement for adjust_perf call back
- 7322b21 tun: Fix xdp_rxq_info's queue_index when detaching
- fbccbb4 net: dpaa: fman_memac: accept phy-interface-type = "10gbase-r" in the device tree
- cbebc55 net: mctp: take ownership of skb in mctp_local_output
- a0a1db4 net: ip_tunnel: prevent perpetual headroom growth
- a2ab028 netlink: add nla be16/32 types to minlen array
- d3ada42 netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter
- 03f1573 spi: cadence-qspi: fix pointer reference in runtime PM hooks
- c53b8d8 mtd: spinand: gigadevice: Fix the get ecc status issue
- 8cb8ef0 ublk: move ublk_cancel_dev() out of ub->mutex
- 2b5f169 ksmbd: fix wrong allocation size update in smb2_open()
- 0505960 ASoC: cs35l34: Fix GPIO name and drop legacy include
- d3d782b ubifs: fix possible dereference after free
- 9b4a8ea Linux 6.6.20
- af0d04f fs/ntfs3: fix build without CONFIG_NTFS3_LZX_XPRESS
A new XanMod Linux Kernel based on Linux Kernel 6.6.21 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.