Linux 6.9.9-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
- ebfe66c Linux 6.9.9-xanmod1
- 2295cdf Merge tag 'v6.9.9' into 6.9
- 28fdf45 Linux 6.9.9
- e0f557a libbpf: don't close(-1) in multi-uprobe feature detector
- 165634c null_blk: Do not allow runt zone with zone capacity smaller then zone size
- c4fa046 hwmon: (dell-smm) Add Dell G15 5511 to fan control whitelist
- fccdf39 drm/amdgpu: silence UBSAN warning
- 7fd41a2 ALSA: ump: Set default protocol when not given explicitly
- ae5db98 spi: cadence: Ensure data lines set to low during dummy-cycle period
- 22a72c1 nfc/nci: Add the inconsistency check between the input data length and count
- ca2b835 kbuild: fix short log for AS in link-vmlinux.sh
- 818004f nvmet: fix a possible leak when destroy a ctrl during qp establishment
- 4734b5d block: check for max_hw_sectors underflow
- 946cbb3 platform/x86: touchscreen_dmi: Add info for the EZpad 6s Pro
- ed4daf6 platform/x86: touchscreen_dmi: Add info for GlobalSpace SolT IVW 11.6" tablet
- 010c0de regmap-i2c: Subtract reg size from max_write
- fd04704 libbpf: detect broken PID filtering logic for multi-uprobe
- 9205fa2 nvme: adjust multiples of NVME_CTRL_PAGE_SIZE in offset
- d143321 swap: yield device immediately
- af22194 connector: Fix invalid conversion in cn_proc.h
- ad7c0bc drm/amdgpu: correct hbm field in boot status
- 8108b17 dma-mapping: benchmark: avoid needless copy_to_user if benchmark fails
- f7b2027 nvme-multipath: find NUMA path only for online numa-node
- 36e493d vhost-scsi: Handle vhost_vq_work_queue failures for events
- 53d5ac2 ALSA: hda/realtek: Enable headset mic of JP-IK LEAP W502 with ALC897
- 8d656c7 drm/amdkfd: Let VRAM allocations go to GTT domain on small APUs
- d7aeca6 fs/ntfs3: Mark volume as dirty if xattr is broken
- 27cd387 i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr
- 7c73459 clk: mediatek: mt8183: Only enable runtime PM on mt8183-mfgcfg
- 39a609b clk: qcom: clk-alpha-pll: set ALPHA_EN bit for Stromer Plus PLLs
- 1910c7c clk: qcom: gcc-sm6350: Fix gpll6* & gpll7 parents
- 9357ad8 arm64: dts: rockchip: Fix the DCDC_REG2 minimum voltage on Quartz64 Model B
- 19ad209 selftests/harness: Fix tests timeout and race condition
- c116475 s390/dasd: Fix invalid dereferencing of indirect CCW data pointer
- b9ea38e bnx2x: Fix multiple UBSAN array-index-out-of-bounds
- 544c404 net: stmmac: dwmac-qcom-ethqos: fix error array size
- 25b1e39 fs: don't misleadingly warn during thaw operations
- d45b526 mtd: rawnand: rockchip: ensure NVDDR timings are rejected
- 375ab23 mtd: rawnand: Bypass a couple of sanity checks during NAND identification
- b998a65 mtd: rawnand: Fix the nand_read_data_op() early check
- 811db83 mtd: rawnand: Ensure ECC configuration is propagated to upper layers
- b6d2239 filelock: Remove locks reliably when fcntl/close race is detected
- a5a5470 firmware: sysfb: Fix reference count of sysfb parent device
- 8c4100b powerpc/64s: Fix unnecessary copy to 0 when kernel is booted at address 0
- 8c65066 powerpc/pseries: Fix scv instruction crash with kexec
- 7a0e273 clk: sunxi-ng: common: Don't call hw_to_ccu_common on hw without common
- 31e370e clk: qcom: gcc-ipq9574: Add BRANCH_HALT_VOTED flag
- e2779ae drm: panel-orientation-quirks: Add quirk for Valve Galileo
- 2c72cc1 drm/amdgpu/atomfirmware: silence UBSAN warning
- 7db5411 drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes
- 79223ce drm/ttm: Always take the bo delayed cleanup path for imported bos
- 704c9b5 drm/xe: fix error handling in xe_migrate_update_pgtables
- 000099d Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again"
- 59e914c fsnotify: Do not generate events for O_PATH file descriptors
- 0ba4829 can: kvaser_usb: Explicitly initialize family in leafimx driver_info struct
- 977b9dc Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot
- 00fb0a0 Bluetooth: Add quirk to ignore reserved PHY bits in LE Extended Adv Report
- ac2db4d Bluetooth: hci_bcm4377: Fix msgid release
- f57a765 scsi: mpi3mr: Use proper format specifier in mpi3mr_sas_port_add()
- 72d0e1d f2fs: Add inline to f2fs_build_fault_attr() stub
- de95dd6 btrfs: fix folio refcount in __alloc_dummy_extent_buffer()
- 326fa14 btrfs: fix adding block group to a reclaim list and the unused list during reclaim
- 8548903 btrfs: zoned: fix calc_available_free_space() for zoned mode
- 8e0b5e7 mm: avoid overflows in dirty throttling logic
- 8aefb73 mm: optimize the redundant loop of mm_update_owner_next()
- 5f56fb1 nilfs2: fix incorrect inode allocation from reserved inodes
- 265fff1 nilfs2: add missing check for inode numbers on directory entries
- 1c91058 nilfs2: fix inode number range checks
- d478ec8 Revert "igc: fix a log entry using uninitialized netdev"
- 65bd080 platform/x86: toshiba_acpi: Fix quickstart quirk handling
- 866e028 gpiolib: of: add polarity quirk for TSC2005
- 9ce699e bnxt_en: Fix the resource check condition for RSS contexts
- 9af7437 mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file
- f9b2010 inet_diag: Initialize pad field in struct inet_diag_req_v2
- 7916b33 tcp: Don't flag tcp_sk(sk)->rx_opt.saw_unknown for TCP AO.
- 785c871 drm/xe/mcr: Avoid clobbering DSS steering
- ce78e1e selftests: make order checking verbose in msg_zerocopy selftest
- 8345d94 selftests: fix OOM in msg_zerocopy selftest
- da20241 ice: use proper macro for testing bit
- cf41354 ice: Reject pin requests with unsupported flags
- 1c4e524 ice: Don't process extts if PTP is disabled
- 9f69b31 ice: Fix improper extts handling
- 9f835e4 bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set()
- 92cbbe7 net: rswitch: Avoid use-after-free in rswitch_poll()
- 09e650c netfilter: nf_tables: unconditionally flush pending work before notifier
- 484dd54 riscv: kexec: Avoid deadlock in kexec crash path
- 44f98ae wifi: wilc1000: fix ies_len type in connect path
- 33559d6 gpio: mmio: do not calculate bgpio_bits via "ngpios"
- 2fc99ad s390/vfio_ccw: Fix target addresses of TIC CCWs
- 1d59899 net: stmmac: enable HW-accelerated VLAN stripping for gmac4 only
- 39722d3 drm/fbdev-generic: Fix framebuffer on big endian devices
- 858ae09 net: ntb_netdev: Move ntb_netdev_rx_handler() to call netif_rx() from __netif_rx()
- 566a2f4 net: phy: aquantia: add missing include guards
- ebe5ea0 btrfs: always do the basic checks for btrfs_qgroup_inherit structure
- efdc3f5 net: txgbe: free isb resources at the right time
- 3e2c12a net: txgbe: add extra handle for MSI/INTx into thread irq handle
- 850103e net: txgbe: remove separate irq request for MSI and INTx
- c989692 net: txgbe: initialize num_q_vectors for MSI/INTx interrupts
- f16b32c net: allow skb_datagram_iter to be called from any context
- ef78197 gpiolib: of: fix lookup quirk for MIPS Lantiq
- 2704431 e1000e: Fix S0ix residency on corporate systems
- d42aef1 KVM: s390: fix LPSWEY handling
- 3d550dd tcp_metrics: validate source addr length
- d311036 bluetooth/hci: disallow setting handle bigger than HCI_CONN_HANDLE_MAX
- 33fabef Bluetooth: ISO: Check socket flag instead of hcon
- dad0003 Bluetooth: Ignore too large handle values in BIG
- ef890df Bluetooth: hci_event: Fix setting of unicast qos interval
- 05b7c38 net/mlx5e: Approximate IPsec per-SA payload data bytes count
- 22e5b75 net/mlx5e: Present succeeded IPsec SA bytes and packet
- 5ebf5fe net/mlx5e: Add mqprio_rl cleanup and free in mlx5e_priv_cleanup()
- 83bc1a1 net/mlx5: E-switch, Create ingress ACL when needed
- 5680bb0 UPSTREAM: tcp: fix DSACK undo in fast recovery to call tcp_try_to_open()
- aba3b7c wifi: mac80211: fix BSS_CHANGED_UNSOL_BCAST_PROBE_RESP
- 03a4207 net: phy: phy_device: Fix PHY LED blinking code comment
- e87c2f0 wifi: cfg80211: restrict NL80211_ATTR_TXQ_QUANTUM values
- 18128a9 mac802154: fix time calculation in ieee802154_configure_durations()
- 5e2024b virtio-pci: Check if is_avq is NULL
- dec987f vhost_task: Handle SIGKILL by flushing work and exiting
- 86d615f vhost: Release worker mutex during flushes
- 9c44667 vhost: Use virtqueue mutex for swapping worker
- 44d0dc6 tools/power turbostat: Avoid possible memory corruption due to sparse topology IDs
- 902ceb5 tools/power turbostat: Remember global max_die_id
- e809bc1 cdrom: rearrange last_media_change check to avoid unintentional overflow
- f3a3950 btrfs: scrub: initialize ret in scrub_simple_mirror() to fix compilation warning
- c746f7c s390/pkey: Wipe copies of protected- and secure-keys
- 7f6243e s390/pkey: Wipe copies of clear-key structures on failure
- c44a215 s390/pkey: Wipe sensitive data on failure
- 62151a0 s390/pkey: Use kfree_sensitive() to fix Coccinelle warnings
- e9e88b1 s390: Mark psw in __load_psw_mask() as __unitialized
- 05fc1ef jffs2: Fix potential illegal address access in jffs2_free_inode
- 9377188 serial: imx: Raise TX trigger level to 8
- c870790 scsi: mpi3mr: Sanitise num_phys
- ecb641f f2fs: check validation of fault attrs in f2fs_build_fault_attr()
- ff941a8 bpf: Avoid uninitialized value in BPF_CORE_READ_BITFIELD
- 69bc5f5 igc: fix a log entry using uninitialized netdev
- 92de3e9 selftests/net: fix uninitialized variables
- bfd0c0d powerpc/xmon: Check cpu id in commands "c#", "dp#" and "dx#"
- ce78b42 kunit: Fix timeout message
- de8a5f7 orangefs: fix out-of-bounds fsid access
- 76e03ee powerpc/64: Set _IO_BASE to POISON_POINTER_DELTA not 0 for CONFIG_PCI=n
- 12316f9 i2c: i801: Annotate apanel_addr as __ro_after_init
- 32675d8 gve: Account for stopped queues when reading NIC stats
- 7c2fe78 crypto: hisilicon/sec2 - fix for register offset
- 1121d8a media: dvb-frontends: tda10048: Fix integer overflow
- 7ee3f85 media: tc358746: Use the correct div_ function
- 0ce281c media: i2c: st-mipid02: Use the correct div function
- 7cd3d74 media: s2255: Use refcount_t instead of atomic_t for num_channels
- 2d85c12 media: dvb-frontends: tda18271c2dd: Remove casting during div
- f75625d net: dsa: mv88e6xxx: Correct check for empty list
- fd7ae1c thermal/drivers/mediatek/lvts_thermal: Check NULL ptr on lvts_data
- 030077c wifi: mt76: mt7996: add sanity checks for background radar trigger
- 64f8633 wifi: mt76: replace skb_put with skb_put_zero
- c0ee01e usb: xhci: prevent potential failure in handle_tx_event() for Transfer events without TRB
- 12d23e1 Input: ff-core - prefer struct_size over open coded arithmetic
- 4248888 kunit/fortify: Do not spam logs with fortify WARNs
- d9de710 firmware: dmi: Stop decoding on broken entry
- 14c177d sctp: prefer struct_size over open coded arithmetic
- dd467e2 media: dw2102: fix a potential buffer overflow
- e3117cf riscv: Apply SiFive CIP-1200 workaround to single-ASID sfence.vma
- dc56b1d media: dw2102: Don't translate i2c read into write
- 803b30c drm/amdgpu: fix the warning about the expression (int)size - len
- b1656d8 drm/amdgpu: fix uninitialized scalar variable warning
- be8c1cf drm/amd/display: Fix uninitialized variables in DM
- a9c047a drm/amd/display: ASSERT when failing to find index by plane/stream id
- a76fa9c drm/amd/display: Do not return negative stream id for array
- 8ed4380 drm/amd/display: update pipe topology log to support subvp
- 9342da1 drm/amd/display: Fix overlapping copy within dml_core_mode_programming
- 881fb6a drm/amd/display: Skip finding free audio for unknown engine_id
- c5ec2af drm/amd/display: Check pipe offset before setting vblank
- a31ea49 drm/amd/display: Check index msg_id before read or write
- 062edd6 drm/amd/display: Add NULL pointer check for kzalloc
- 8e24beb drm/amdgpu: fix double free err_addr pointer warnings
- 89dc294 drm/amdgpu: Initialize timestamp for some legacy SOCs
- f8f120b drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_reloc
- 4874f85 drm/amdgpu: Fix uninitialized variable warnings
- 303d010 media: mediatek: vcodec: Only free buffer VA that is not NULL
- f586799 crypto: aead,cipher - zeroize key buffer after use
- 23d8d5c RISC-V: KVM: Fix the initial sample period value
- 7f49350 selftests/bpf: dummy_st_ops should reject 0 for non-nullable params
- c66ef77 bpf: check bpf_dummy_struct_ops program params for test runs
- 231791c selftests/bpf: do not pass NULL for non-nullable params in dummy_st_ops
- 966f97a selftests/bpf: adjust dummy_st_ops_success to detect additional error
- 7f79097 bpf: mark bpf_dummy_struct_ops.test_1 parameter as nullable
- 2b9c778 scsi: qedf: Make qedf_execute_tmf() non-preemptible
- a6627fb IB/core: Implement a limit on UMAD receive List
- 0888d15 drm/xe: Add outer runtime_pm protection to xe_live_ktest@xe_dma_buf
- ce4ba62 wifi: rtw89: fw: scan offload prohibit all 6 GHz channel if no 6 GHz sband
- 6393ffc net: dql: Avoid calling BUG() when WARN() is enough
- 72c1818 media: dvb-usb: dib0700_devices: Add missing release_firmware()
- f8edee1 media: dvb: as102-fe: Fix as10x_register_addr packing
- 2c78c94 powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt.
- b5daf92 drm/lima: fix shared irq handling on driver remove
- e0a2d2d crypto: hisilicon/debugfs - Fix debugfs uninit process issue
- 9dba444 leds: an30259a: Use devm_mutex_init() for mutex initialization
- 3b62888 leds: mlxreg: Use devm_mutex_init() for mutex initialization
- f6828e4 locking/mutex: Introduce devm_mutex_init()
- d30481b selftests/resctrl: Fix non-contiguous CBM for AMD
A new XanMod Linux Kernel based on Linux Kernel 6.9.9 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.