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-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
- 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()"
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.