Ubuntu 6588 Debian 10228 Published by

A new XanMod Linux Kernel based on Linux Kernel 6.6.39 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.6.39-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

  • cc2de17 Linux 6.6.39-xanmod1
  • a985d48 Merge tag 'v6.6.39' into 6.6
  • 2ced751 Linux 6.6.39
  • 95b1362 nilfs2: fix incorrect inode allocation from reserved inodes
  • 9ac895a null_blk: Do not allow runt zone with zone capacity smaller then zone size
  • 1ba66b1 drm/amdgpu: silence UBSAN warning
  • 49458c0 ALSA: ump: Set default protocol when not given explicitly
  • d4b55b1 spi: cadence: Ensure data lines set to low during dummy-cycle period
  • 056478b nfc/nci: Add the inconsistency check between the input data length and count
  • 9db55f6 kbuild: fix short log for AS in link-vmlinux.sh
  • 5502c1f nvmet: fix a possible leak when destroy a ctrl during qp establishment
  • f61cea4 platform/x86: touchscreen_dmi: Add info for the EZpad 6s Pro
  • 487dc37 platform/x86: touchscreen_dmi: Add info for GlobalSpace SolT IVW 11.6" tablet
  • fc525ed regmap-i2c: Subtract reg size from max_write
  • b955b47 nvme: adjust multiples of NVME_CTRL_PAGE_SIZE in offset
  • 9258d79 connector: Fix invalid conversion in cn_proc.h
  • 39d31ed dma-mapping: benchmark: avoid needless copy_to_user if benchmark fails
  • e6e1eda nvme-multipath: find NUMA path only for online numa-node
  • 8f174c5 vhost-scsi: Handle vhost_vq_work_queue failures for events
  • 4d1de71 ALSA: hda/realtek: Enable headset mic of JP-IK LEAP W502 with ALC897
  • aa8b1d6 fs/ntfs3: Mark volume as dirty if xattr is broken
  • 92e494a i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr
  • 3aeea9e clk: mediatek: mt8183: Only enable runtime PM on mt8183-mfgcfg
  • 66b6da0 clk: qcom: clk-alpha-pll: set ALPHA_EN bit for Stromer Plus PLLs
  • 0fcb94e clk: qcom: gcc-sm6350: Fix gpll6* & gpll7 parents
  • 583bea0 media: dw2102: fix a potential buffer overflow
  • 28d0ecc ima: Avoid blocking in RCU read-side critical section
  • cecffd9 arm64: dts: rockchip: Fix the DCDC_REG2 minimum voltage on Quartz64 Model B
  • f1313ea bnx2x: Fix multiple UBSAN array-index-out-of-bounds
  • 7a8b1cf net: stmmac: dwmac-qcom-ethqos: fix error array size
  • 45a4aef mtd: rawnand: rockchip: ensure NVDDR timings are rejected
  • dbbc4cf mtd: rawnand: Bypass a couple of sanity checks during NAND identification
  • 70bb95e mtd: rawnand: Fix the nand_read_data_op() early check
  • 0fd8ce1 mtd: rawnand: Ensure ECC configuration is propagated to upper layers
  • c6036ba powerpc/64s: Fix unnecessary copy to 0 when kernel is booted at address 0
  • d10e3c3 powerpc/pseries: Fix scv instruction crash with kexec
  • 14c78d6 clk: sunxi-ng: common: Don't call hw_to_ccu_common on hw without common
  • ba02424 clk: qcom: gcc-ipq9574: Add BRANCH_HALT_VOTED flag
  • 33de7c4 drm: panel-orientation-quirks: Add quirk for Valve Galileo
  • 004b7fe drm/amdgpu/atomfirmware: silence UBSAN warning
  • 744b229 drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes
  • f6620df Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again"
  • dd0aa13 fsnotify: Do not generate events for O_PATH file descriptors
  • 07ce8ad can: kvaser_usb: Explicitly initialize family in leafimx driver_info struct
  • e2d8aa4 Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot
  • a635d93 Bluetooth: hci_bcm4377: Fix msgid release
  • 155d9c9 scsi: mpi3mr: Use proper format specifier in mpi3mr_sas_port_add()
  • 72aa369 f2fs: Add inline to f2fs_build_fault_attr() stub
  • f8e960b btrfs: fix adding block group to a reclaim list and the unused list during reclaim
  • bd16a7e mm: avoid overflows in dirty throttling logic
  • 79ad410 mm: optimize the redundant loop of mm_update_owner_next()
  • 3ab4087 nilfs2: add missing check for inode numbers on directory entries
  • 9194f8c nilfs2: fix inode number range checks
  • 991f036 Revert "igc: fix a log entry using uninitialized netdev"
  • 9bdd0bf platform/x86: toshiba_acpi: Fix quickstart quirk handling
  • 6978779 cpu: Fix broken cmdline "nosmp" and "maxcpus=0"
  • b0a4171 gpiolib: of: add polarity quirk for TSC2005
  • f8b55a4 mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file
  • 7696564 inet_diag: Initialize pad field in struct inet_diag_req_v2
  • 4116ec6 selftests: make order checking verbose in msg_zerocopy selftest
  • 946ba4e selftests: fix OOM in msg_zerocopy selftest
  • b75e33e bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set()
  • 55a4040 netfilter: nf_tables: unconditionally flush pending work before notifier
  • 7692c9b riscv: kexec: Avoid deadlock in kexec crash path
  • 5ed821a wifi: wilc1000: fix ies_len type in connect path
  • dee8731 gpio: mmio: do not calculate bgpio_bits via "ngpios"
  • e3af5b1 net: ntb_netdev: Move ntb_netdev_rx_handler() to call netif_rx() from __netif_rx()
  • 9edc7a8 net: txgbe: initialize num_q_vectors for MSI/INTx interrupts
  • 702b17f net: allow skb_datagram_iter to be called from any context
  • 895f563 gpiolib: of: fix lookup quirk for MIPS Lantiq
  • e536e6e e1000e: Fix S0ix residency on corporate systems
  • f451386 KVM: s390: fix LPSWEY handling
  • 8c2debd tcp_metrics: validate source addr length
  • 4970e48 bluetooth/hci: disallow setting handle bigger than HCI_CONN_HANDLE_MAX
  • 0456697 Bluetooth: ISO: Check socket flag instead of hcon
  • 3826308 Bluetooth: Ignore too large handle values in BIG
  • 1ae31b3 Bluetooth: hci_event: Fix setting of unicast qos interval
  • a9f4a9b net/mlx5e: Add mqprio_rl cleanup and free in mlx5e_priv_cleanup()
  • 3e3551f net/mlx5: E-switch, Create ingress ACL when needed
  • 8a7fc23 UPSTREAM: tcp: fix DSACK undo in fast recovery to call tcp_try_to_open()
  • 9e8f0c5 net: phy: phy_device: Fix PHY LED blinking code comment
  • 6170757 mac802154: fix time calculation in ieee802154_configure_durations()
  • abe067d vhost_task: Handle SIGKILL by flushing work and exiting
  • f5bb721 vhost: Release worker mutex during flushes
  • a86f963 vhost: Use virtqueue mutex for swapping worker
  • 76d7b86 tools/power turbostat: Remember global max_die_id
  • 3ee21e1 cdrom: rearrange last_media_change check to avoid unintentional overflow
  • e130d4f btrfs: scrub: initialize ret in scrub_simple_mirror() to fix compilation warning
  • 90a01ae s390/pkey: Wipe sensitive data on failure
  • d0bbbf3 jffs2: Fix potential illegal address access in jffs2_free_inode
  • b5f1844 serial: imx: Raise TX trigger level to 8
  • 586b410 scsi: mpi3mr: Sanitise num_phys
  • 44958ca f2fs: check validation of fault attrs in f2fs_build_fault_attr()
  • 7e5471b bpf: Avoid uninitialized value in BPF_CORE_READ_BITFIELD
  • 9216097 igc: fix a log entry using uninitialized netdev
  • c80d53c selftests/net: fix uninitialized variables
  • ee123d5 powerpc/xmon: Check cpu id in commands "c#", "dp#" and "dx#"
  • 4e40bc5 kunit: Fix timeout message
  • 6a3cacf orangefs: fix out-of-bounds fsid access
  • 7c91479 powerpc/64: Set _IO_BASE to POISON_POINTER_DELTA not 0 for CONFIG_PCI=n
  • e0cd887 i2c: i801: Annotate apanel_addr as __ro_after_init
  • 8ac224e media: dvb-frontends: tda10048: Fix integer overflow
  • 29ce81f media: s2255: Use refcount_t instead of atomic_t for num_channels
  • 0f9d21e media: dvb-frontends: tda18271c2dd: Remove casting during div
  • 3f25b5f net: dsa: mv88e6xxx: Correct check for empty list
  • 79ef1a5 thermal/drivers/mediatek/lvts_thermal: Check NULL ptr on lvts_data
  • 547cb99 wifi: mt76: mt7996: add sanity checks for background radar trigger
  • ff6b26b wifi: mt76: replace skb_put with skb_put_zero
  • 9a24eb8 usb: xhci: prevent potential failure in handle_tx_event() for Transfer events without TRB
  • c727e46 Input: ff-core - prefer struct_size over open coded arithmetic
  • 50c6c51 firmware: dmi: Stop decoding on broken entry
  • 58405d6 sctp: prefer struct_size over open coded arithmetic
  • 864a024 riscv: Apply SiFive CIP-1200 workaround to single-ASID sfence.vma
  • af19067 media: dw2102: Don't translate i2c read into write
  • 3fac5ae drm/amdgpu: fix the warning about the expression (int)size - len
  • 7e0fbce drm/amdgpu: fix uninitialized scalar variable warning
  • 8e5cbc8 drm/amd/display: Fix uninitialized variables in DM
  • 95ad20e drm/amd/display: Skip finding free audio for unknown engine_id
  • 96bf81c drm/amd/display: Check pipe offset before setting vblank
  • 9933eca drm/amd/display: Check index msg_id before read or write
  • e55077b drm/amdgpu: Initialize timestamp for some legacy SOCs
  • 855ae72 drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_reloc
  • 646e13f drm/amdgpu: Fix uninitialized variable warnings
  • 5c21725 media: mediatek: vcodec: Only free buffer VA that is not NULL
  • b502d4a crypto: aead,cipher - zeroize key buffer after use
  • 1ee6444 RISC-V: KVM: Fix the initial sample period value
  • e7d1930 selftests/bpf: dummy_st_ops should reject 0 for non-nullable params
  • a1a629f selftests/bpf: do not pass NULL for non-nullable params in dummy_st_ops
  • 264451a selftests/bpf: adjust dummy_st_ops_success to detect additional error
  • b6ded53 scsi: qedf: Make qedf_execute_tmf() non-preemptible
  • b8c5f63 IB/core: Implement a limit on UMAD receive List
  • c15bb7c media: dvb-usb: dib0700_devices: Add missing release_firmware()
  • 47abb68 media: dvb: as102-fe: Fix as10x_register_addr packing
  • 0f37946 powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt.
  • 04d531b drm/lima: fix shared irq handling on driver remove
  • 7fc8d9a crypto: hisilicon/debugfs - Fix debugfs uninit process issue
  • 3ead19a leds: an30259a: Use devm_mutex_init() for mutex initialization
  • 7d2a6ab locking/mutex: Introduce devm_mutex_init()
  • 2928631 Linux 6.6.38
  • e3540e5 Revert "bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro()"
  • a5c2956 Revert "powerpc/bpf: rename powerpc64_jit_data to powerpc_jit_data"
  • 466562d Revert "powerpc/bpf: use bpf_jit_binary_pack_[alloc|finalize|free]"
  • 9fef36c Revert "bpf: Take return from set_memory_rox() into account with bpf_jit_binary_lock_ro()"

Xanmod

Homepage
Download Linux 6.6.39-xanmod1 source from GitHub