Ubuntu 6588 Debian 10228 Published by

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.



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

  • 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

Xanmod

Homepage
Download Linux 6.9.9-xanmod1 source from GitHub