Ubuntu 6588 Debian 10228 Published by

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.



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-xanmod

Reboot.

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:
https://sourceforge.net/projects/xanmod/files/

  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

Change 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

Xanmod

Homepage
Download Linux 6.9.8-xanmod1 source from GitHub