Linux 6.9.8-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/versionChange log
- 77bcbc2 Linux 6.9.8-xanmod1
- d5bc900 Merge tag 'v6.9.8' into 6.9
- 2106717 Linux 6.9.8
- 24bb80a tracing/net_sched: NULL pointer dereference in perf_trace_qdisc_reset()
- 8fb36f8 serial: 8250_omap: Fix Errata i2310 with RX FIFO level check
- f05cdbe serial: imx: only set receiver level if it is zero
- 192d463 netfs: Fix netfs_page_mkwrite() to flush conflicting data, not wait
- 3473eb8 netfs: Fix netfs_page_mkwrite() to check folio->mapping is valid
- d629560 cxl/region: check interleave capability
- b8a40a6 cxl/region: Avoid null pointer dereference in region lookup
- 2f0ea2e cxl/region: Move cxl_dpa_to_region() work to the region driver
- 402c7f7 arm64: dts: rockchip: Add sound-dai-cells for RK3368
- a1af77a arm64: dts: rockchip: Fix the i2c address of es8316 on Cool Pi 4B
- 0590894 reset: gpio: Fix missing gpiolib dependency for GPIO reset controller
- 90374fb arm64: dts: rockchip: fix PMIC interrupt pin on ROCK Pi E
- 1d064e4 cxl/mem: Fix no cxl_nvd during pmem region auto-assembling
- dcd9c79 cxl/region: Convert cxl_pmem_region_alloc to scope-based resource management
- 53058b5 arm64: dts: rockchip: make poweroff(8) work on Radxa ROCK 5A
- 1472d8b Revert "arm64: dts: rockchip: remove redundant cd-gpios from rk3588 sdmmc nodes"
- e2905fc ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node
- bfcad29 arm64: dts: rockchip: Fix the value of
dlg,jack-det-rate
mismatch on rk3399-gru- 42eb867 arm64: dts: rockchip: set correct pwm0 pinctrl on rk3588-tiger
- 61bb4a5 arm64: dts: rockchip: Rename LED related pinctrl nodes on rk3308-rock-pi-s
- 86e3d92 arm64: dts: rockchip: Fix SD NAND and eMMC init on rk3308-rock-pi-s
- 11e964d pwm: stm32: Fix error message to not describe the previous error path
- d808900 pwm: stm32: Fix calculation of prescaler
- 68b460e mm/page_alloc: Separate THP PCP into movable and non-movable categories
- 5f33d7e Revert "net: sfp: enhance quirk for Fibrestore 2.5G copper SFP module"
- 6580811 bcachefs: btree_gc can now handle unknown btrees
- 2c2cd32 bcachefs: Fix setting of downgrade recovery passes/errors
- 5da1f2a bcachefs: Fix bch2_sb_downgrade_update()
- 3989465 bcachefs: Fix sb-downgrade validation
- bf920ed bcachefs: Fix sb_field_downgrade validation
- bd2d5b8 syscalls: fix sys_fanotify_mark prototype
- 7f91555 syscalls: fix compat_sys_io_pgetevents_time64 usage
- 930a4c3 ftruncate: pass a signed offset
- 8106da4 ata: libata-core: Fix double free on error
- e14bc22 ata: libata-core: Add ATA_HORKAGE_NOLPM for all Crucial BX SSD1 models
- 57ff077 ata: ahci: Clean up sysfs file on error
- 6c6b4af can: mcp251xfd: fix infinite loop when xmit fails
- 9d42bcb batman-adv: Don't accept TT entries for out-of-spec VIDs
- f217e33 io_uring: signal SQPOLL task_work with TWA_SIGNAL_NO_IPI
- c6b5ff5 drm/amdgpu/atomfirmware: fix parsing of vram_info
- c990344 drm/amd/display: Send DP_TOTAL_LTTPR_CNT during detection if LTTPR is present
- 6e49a15 drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes
- 414f4a3 drm/i915/gt: Fix potential UAF by revoke of fence registers
- dd9ec0e drm/amdgpu: avoid using null object of framebuffer
- 00702cf drm/fbdev-dma: Only set smem_start is enable per module option
- bdda507 drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes
- 0acce2a drm/drm_file: Fix pid refcounting race
- c629c9d hexagon: fix fadvise64_64 calling conventions
- 796a884 csky, hexagon: fix broken sys_sync_file_range
- 009ba8b btrfs: zoned: fix initial free space detection
- 1d372b2 sh: rework sync_file_range ABI
- 91e3c06 kbuild: Install dtb files as 0644 in Makefile.dtbinst
- e3cde47 irqchip/loongson-liointc: Set different ISRs for different cores
- 3d732f9 cpu/hotplug: Fix dynstate assignment in __cpuhp_setup_state_cpuslocked()
- a4787a0 cpu: Fix broken cmdline "nosmp" and "maxcpus=0"
- 49928a4 irqchip/loongson-eiointc: Use early_cpu_to_node() instead of cpu_to_node()
- 08bf4ee cpufreq: intel_pstate: Use HWP to initialize ITMT if CPPC is missing
- 97fe0b9 nvmet-fc: Remove __counted_by from nvmet_fc_tgt_queue.fod[]
- 45fc8d2 PCI/MSI: Fix UAF in msi_capability_init
- 0bc0a74 net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new
- cdfc341 net: can: j1939: recover socket queue on CAN bus error during BAM transmission
- ba7e5ae net: can: j1939: Initialize unused data in j1939_send_one()
- f935def tty: mcf: MCF54418 has 10 UARTS
- f07d459 tty: mxser: Remove __counted_by from mxser_board.ports[]
- 3aa58cf ALSA: hda/realtek: fix mute/micmute LEDs don't work for EliteBook 645/665 G11.
- 3fea132 serial: bcm63xx-uart: fix tx after conversion to uart_port_tx_limited()
- 602584e serial: core: introduce uart_port_tx_limited_flags()
- 0d6d5bb serial: imx: set receiver level before starting uart
- 6270051 serial: 8250_omap: Implementation of Errata i2310
- e3f0ca1 tty: serial: 8250: Fix port count mismatch with the device
- fa42c4e Revert "serial: core: only stop transmit when HW fifo is empty"
- 0bc1f76 usb: dwc3: core: Workaround for CSR read timeout
- 1f58e17 usb: ucsi: stm32: fix command completion handling
- aaf67b0 Revert "usb: gadget: u_ether: Replace netif_stop_queue with netif_device_detach"
- fb2c657 Revert "usb: gadget: u_ether: Re-attach netif device to mirror detachment"
- 6d9cd9b usb: typec: ucsi: glink: fix child node release in probe function
- 5866593 usb: gadget: aspeed_udc: fix device address configuration
- f1274cf usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
- ac90075 usb: atm: cxacru: fix endpoint checking in cxacru_bind()
- 2b776d7 usb: musb: da8xx: fix a resource leak in probe()
- 01378f3 usb: gadget: printer: fix races against disable
- 15b08fd usb: gadget: printer: SS+ support
- 688ace4 net: usb: ax88179_178a: improve link status logs
- bb45c4a iio: chemical: bme680: Fix sensor data read operation
- 3add41b iio: chemical: bme680: Fix overflows in compensate() functions
- ec3fc44 iio: chemical: bme680: Fix calibration data variable
- b031d96 iio: chemical: bme680: Fix pressure value output
- 8e2f7c2 iio: accel: fxls8962af: select IIO_BUFFER & IIO_KFIFO_BUF
- bb5efe8 iio: adc: ad7266: Fix variable checking bug
- cf39681 iio: humidity: hdc3020: fix hysteresis representation
- 060a30b ata,scsi: libata-core: Do not leak memory for ata_port struct members
- 8a8ff7e ata: libata-core: Fix null pointer dereference on error
- 98bd8d7 i2c: testunit: discard write requests while old command is running
- 38c78d5 i2c: testunit: don't erase registers after STOP
- ecb48d1 kbuild: rpm-pkg: fix build error with CONFIG_MODULES=n
- 16e7649 kbuild: Fix build target deb-pkg: ln: failed to create hard link
- 6f6fde0 kbuild: doc: Update default INSTALL_MOD_DIR from extra to updates
- 2747ad3 counter: ti-eqep: enable clock at probe
- bd1e42e SUNRPC: Fix backchannel reply, again
- 8c9d576 iio: xilinx-ams: Don't include ams_ctrl_channels in scan_mask
- 10698db mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro()
- 52e0091 mmc: sdhci: Do not invert write-protect twice
- 5a012be mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos
- 4d96632 mmc: sdhci-brcmstb: check R1_STATUS for erase/trim/discard
- 501a094 mmc: sdhci-pci-o2micro: Convert PCIBIOS_* return codes to errnos
- 2e56cc1 Revert "mmc: moxart-mmc: Use sg_miter for PIO"
- f93fe12 mm/memory: don't require head page for do_set_pmd()
- 9983b81 mm: fix incorrect vbq reference in purge_fragmented_block
- 7970c84 kasan: fix bad call to unpoison_slab_object
- 85c3710 nfs: drop the incorrect assertion in nfs_swap_rw()
- 331d107 ocfs2: fix DIO failure due to insufficient transaction credits
- 957db01 pinctrl: qcom: spmi-gpio: drop broken pm8008 support
- 5767269 Revert "MIPS: pci: lantiq: restore reset gpio polarity"
- 00997a5 parisc: use generic sys_fanotify_mark implementation
- a3b65c8 x86: stop playing stack games in profile_pc()
- 8360bf6 randomize_kstack: Remove non-functional per-arch entropy filtering
- 47a129f tools/power turbostat: option '-n' is ambiguous
- d972e7b gpiolib: cdev: Ignore reconfiguration without direction
- 847d925 gpiolib: cdev: Disallow reconfiguration without direction (uAPI v1)
- 7a1be1d iommu/amd: Fix GT feature enablement again
- b24f089 iommu/amd: Invalidate cache before removing device from domain list
- 661b45a iommu/amd: Introduce per device DTE update function
- ebee3db riscv: stacktrace: convert arch_stack_walk() to noinstr
- bf3825a drm/amdgpu: Fix pci state save during mode-1 reset
- 5aae340 RISC-V: fix vector insn load/store width mask
- 7e8b940 nfsd: initialise nfsd_info.mutex early.
- 100de7f arm64: Clear the initial ID map correctly before remapping
- c542e51 gpio: davinci: Validate the obtained number of IRQs
- 0aaf41c drm/panel: simple: Add missing display timing flags for KOE TX26D202VM0BWA
- b8c3243 nvmet: make 'tsas' attribute idempotent for RDMA
- ca4d1f1 nvme: fixup comment for nvme RDMA Provider Type
- 09b3377 nvmet: do not return 'reserved' for empty TSAS values
- 583ce24 drm/xe: Check pat.ops before dumping PAT settings
- ebacd4b drm/radeon/radeon_display: Decrease the size of allocated memory
- c1a964b evm: Enforce signatures on unsupported filesystem for EVM_INIT_X509
- f54f9d5 gfs2: Fix NULL pointer dereference in gfs2_log_flush
- c0d3009 soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message
- 086f918 iommu/arm-smmu-v3: Do not allow a SVA domain to be set on the wrong PASID
- 42b91ce irqchip/loongson: Select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP for IRQ_LOONGARCH_CPU
- 504acde media: dvbdev: Initialize sbuf
- 87039b8 ALSA: emux: improve patch ioctl data validation
- d96187e crypto: ecdh - explicitly zeroize private_key
- 3edfa2a wifi: rtw89: download firmware with five times retry
- 5e4f250 net/dpaa2: Avoid explicit cpumask var allocation on stack
- 2d090c7 net/iucv: Avoid explicit cpumask var allocation on stack
- f45b43d RDMA/restrack: Fix potential invalid address access
- 76ec0e3 drm/xe/xe_devcoredump: Check NULL before assignments
- 3189983 bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter mode
- c8fe6e5 bpf: Add a check for struct bpf_fib_lookup size
- 27df59c drm/amd/display: Skip pipe if the pipe idx not set properly
- 1822443 wifi: ieee80211: check for NULL in ieee80211_mle_size_ok()
- ded0787 mtd: partitions: redboot: Added conversion of operands to a larger type
- fc37011 drm/amd/display: correct hostvm flag
- cc796a7 drm/xe: Add a NULL check in xe_ttm_stolen_mgr_init
- a296815 x86/fpu: Fix AMD X86_BUG_FXSAVE_LEAK fixup
- 1760dd6 vduse: Temporarily fail if control queue feature requested
- 8af2ba2 vduse: validate block features only with block devices
- 79d54dd drm/xe: Fix potential integer overflow in page size calculation
- e646402 drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep
- 044da7a bpf: Take return from set_memory_rox() into account with bpf_jit_binary_lock_ro()
- 0541247 bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro()
- ed45c0a net: mana: Fix possible double free in error handling path
- 09a325a af_unix: Fix wrong ioctl(SIOCATMARK) when consumed OOB skb is at the head.
- 8c7db22 af_unix: Don't stop recv() at consumed ex-OOB skb.
- 71f8d9a af_unix: Don't stop recv(MSG_DONTWAIT) if consumed OOB skb is at the head.
- fc312d6 af_unix: Stop recv(MSG_PEEK) at consumed OOB skb.
- 41a6375 netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers
- d4701a1 ALSA: seq: Fix missing MSB in MIDI2 SPP conversion
- 7699d26 tcp: fix tcp_rcv_fastopen_synack() to enter TCP_CA_Loss for failed TFO
- ef7646e ionic: use dev_consume_skb_any outside of napi
- 2f968a1 powerpc: restore some missing spu syscalls
- 10eb208 parisc: use correct compat recv/recvfrom syscalls
- c98fb61 sparc: fix compat recv/recvfrom syscalls
- 4c7f28f sparc: fix old compat_sys_select()
- 7b1efce net: dsa: microchip: fix wrong register write when masking interrupt
- 677c439 ALSA: seq: Fix missing channel at encoding RPN/NRPN MIDI2 messages
- 360892e Fix race for duplicate reqsk on identical SYN
- e153da3 btrfs: use NOFS context when getting inodes during logging and log replay
- 43442fd netfilter: fix undefined reference to 'netfilter_lwtunnel_*' when CONFIG_SYSCTL=n
- 42b9ab7 ASoC: mediatek: mt8195: Add platform entry for ETDM1_OUT_BE dai link
- f92298b xdp: Remove WARN() from __xdp_reg_mem_model()
- 175827e bpf: Fix may_goto with negative offset.
- 3c27624 ice: Rebuild TC queues on VSI queue reconfiguration
- 5add250 net: dsa: microchip: use collision based back pressure mode
- c553ba2 net: phy: micrel: add Microchip KSZ 9477 to the device table
- dfbe53f ibmvnic: Free any outstanding tx skbs during scrq reset
- 173dae6 vxlan: Pull inner IP header in vxlan_xmit_one().
- 47416c8 bpf: Fix overrunning reservations in ringbuf
- e47a1a7 bpf: Fix the corner case with may_goto and jump to the 1st insn.
- bf8781e mlxsw: spectrum_buffers: Fix memory corruptions on Spectrum-4 systems
- 8af0f37 mlxsw: pci: Fix driver initialization with Spectrum-4
- 8ae4015 ionic: fix kernel panic due to multi-buffer handling
- 17a3d0d bonding: fix incorrect software timestamping report
- 61025c1 openvswitch: get related ct labels from its master if it is not confirmed
- 5097b47 net: dsa: microchip: fix initial port flush problem
- 7c18b4d ASoC: fsl-asoc-card: set priv->pdev before using it
- 819ebcd ASoC: amd: acp: move chip->flag variable assignment
- c33a142 ASoC: amd: acp: remove i2s configuration check in acp_i2s_probe()
- b0c39ae ASoC: amd: acp: add a null check for chip_pdev structure
- 87496a1 bpf: Fix remap of arena.
- 5c38abd s390/virtio_ccw: Fix config change notifications
- 3c4c7bd s390/pci: Add missing virt_to_phys() for directed DIBV
- 58b11b4 bpf: Add missed var_off setting in coerce_subreg_to_size_sx()
- bf97221 bpf: Add missed var_off setting in set_sext32_default_val()
- ee211a8 ASoC: q6apm-lpass-dai: close graph on prepare errors
- 1929539 workqueue: Increase worker desc's length to 32
- 598f10a ASoC: atmel: atmel-classd: Re-add dai_link->platform to fix card init
- 03fbe6f ASoC: mediatek: mt8183-da7219-max98357: Fix kcontrol name collision
- 56f857e ASoC: rockchip: i2s-tdm: Fix trcm mode by setting clock on right mclk
- 0d9e3bf ASoC: cs42l43: Increase default type detect time and button delay
- 8176e43 pwm: stm32: Refuse too small period requests
- 44ac934 pwm: stm32: Calculate prescaler with a division instead of a loop
- 131486f pwm: stm32: Fix for settings using period > UINT32_MAX
- 70b7eb9 pwm: stm32: Improve precision of calculation in .apply()
- ad9ffd8 MIPS: pci: lantiq: restore reset gpio polarity
- 66ea238 pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set
- 7127c68 pinctrl: rockchip: use dedicated pinctrl type for RK3328
- 456447f pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins
- 29d8101 pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins
- 48a7a7c pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER
- bdaeca1 Input: ili210x - fix ili251x_read_touch_data() return value
- 6777add pinctrl: renesas: rzg2l: Use spin_{lock,unlock}_irq{save,restore}
- 98814a4 usb: typec: ucsi: Ack also failed Get Error commands
- 4e9bf36 usb: typec: ucsi: Never send a lone connector change ack
A new XanMod Linux Kernel based on Linux Kernel 6.9.8 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.