Ubuntu 6586 Debian 10225 Published by

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

  • 9f6f501 Linux 6.6.46-xanmod1
  • 2ea586b XANMOD: mm/vmscan: Decrease to minimum amount of swapping
  • ed884ff Merge tag 'v6.6.46' into 6.6
  • 99fd042 Linux 6.6.46
  • 7ba27f1 btrfs: fix double inode unlock for direct IO sync writes
  • 1c3b01b Revert "selftests: mptcp: simult flows: mark 'unbalanced' tests as flaky"
  • 9d97114 selftests: mptcp: join: test both signal & subflow
  • e80cf3f selftests: mptcp: join: ability to invert ADD_ADDR check
  • 64815ba mptcp: pm: do not ignore 'subflow' if 'signal' flag is also set
  • 9a4a4c0 mptcp: pm: don't try to create sf if alloc failed
  • 432535f mptcp: pm: reduce indentation blocks
  • c2389c0 xfs: fix log recovery buffer allocation for the legacy h_size fixup
  • 37e7983 nouveau: set placement to original placement on uvmm validate.
  • 2ae4d58 mm/hugetlb: fix potential race in __update_and_free_hugetlb_folio()
  • d43ff94 tools headers arm64: Sync arm64's cputype.h with the kernel sources
  • e7f3e5f ipv6: fix source address selection with route leak
  • 717c91c netfilter: nf_tables: prefer nft_chain_validate
  • 0a108bd btrfs: fix corruption after buffer fault in during direct IO append write
  • a5c399f mm: huge_memory: use !CONFIG_64BIT to relax huge page alignment on 32 bit machines
  • 6ea9aa8 mm: huge_memory: don't force huge page alignment on 32 bit
  • 94220b3 Revert "drm/amd/display: Add NULL check for 'afb' before dereferencing in amdgpu_dm_plane_handle_cursor_update"
  • 163f7dd block: use the right type for stub rq_integrity_vec()
  • d4c6707 mptcp: pm: deny endp with signal + subflow + port
  • 8165c84 selftests: mptcp: fix error path
  • fff9b92 mptcp: pm: fix backup support in signal endpoints
  • 07bb418 mptcp: fully established after ADD_ADDR echo on MPJ
  • ea12dbf drm/radeon: Remove __counted_by from StateArray.states[]
  • 81d34df drm/mgag200: Bind I2C lifetime to DRM device
  • 6946b7b drm/mgag200: Set DDC timeout in milliseconds
  • b3aa563 drm/lima: Mark simple_ondemand governor as softdep
  • 28c060c drm/dp_mst: Skip CSN if topology probing is not done yet
  • 6f8765a drm/bridge: analogix_dp: properly handle zero sized AUX transactions
  • 78f1990 sched/core: Fix unbalance set_rq_online/offline() in sched_cpu_deactivate()
  • 4c15b20 sched/core: Introduce sched_set_rq_on/offline() helper
  • 6572733 sched/smt: Fix unbalance sched_smt_present dec/inc
  • 41d8565 sched/smt: Introduce sched_smt_present_inc/dec() helper
  • 8a90d3f x86/mtrr: Check if fixed MTRRs exist before saving them
  • 8728e3f x86/paravirt: Fix incorrect virt spinlock setting on bare metal
  • 866992f btrfs: avoid using fixed char array size for tree names
  • 772f831 selftests: mm: add s390 to ARCH check
  • 2ef3d12 eventfs: Use SRCU for freeing eventfs_inodes
  • b59603a eventfs: Don't return NULL in eventfs_create_dir()
  • c7cd840 smb3: fix setting SecurityFlags when encryption is required
  • 924f788 padata: Fix possible divide-by-0 panic in padata_mt_helper()
  • a172c7b tracing: Fix overflow in get_free_elt()
  • f31fe63 power: supply: axp288_charger: Round constant_charge_voltage writes down
  • e1ab8ca power: supply: axp288_charger: Fix constant_charge_voltage writes
  • da5e1ee power: supply: qcom_battmgr: return EAGAIN when firmware service is not up
  • e32f7c8 LoongArch: Enable general EFI poweroff method
  • 0688cac genirq/irqdesc: Honor caller provided affinity in alloc_desc()
  • 2ce998f irqchip/xilinx: Fix shift out of bounds
  • d0137ce kcov: properly check for softirq context
  • 6f48f45 ASoC: amd: yc: Add quirk entry for OMEN by HP Gaming Laptop 16-n0xxx
  • 642a0b7 parisc: fix a possible DMA corruption
  • 8d26093 parisc: fix unaligned accesses in BPF
  • 37a060b memcg: protect concurrent access to mem_cgroup_idr
  • e3ad503 serial: core: check uartclk for zero to avoid divide by zero
  • 65d76c0 timekeeping: Fix bogus clock_was_set() invocation in do_adjtimex()
  • ae5848c ntp: Safeguard against time_constant overflow
  • 726f4c2 tracefs: Use generic inode RCU for synchronizing freeing
  • a49f7de tracefs: Fix inode allocation
  • 4d035c7 driver core: Fix uevent_show() vs driver detach race
  • 9d6193f clocksource: Fix brown-bag boolean thinko in cs_watchdog_read()
  • 03c3855 clocksource: Scale the watchdog read retries automatically
  • b5cf99e ntp: Clamp maxerror and esterror to operating range
  • 2ac6deb vhost-vdpa: switch to use vmf_insert_pfn() in the fault handler
  • b9d6049 tick/broadcast: Move per CPU pointer access into the atomic section
  • 8bf5802 scsi: ufs: core: Fix hba->last_dme_cmd_tstamp timestamp updating logic
  • 74eda70 scsi: ufs: core: Do not set link to OFF state while waking up from hibernation
  • 80d0624 scsi: mpi3mr: Avoid IOMMU page faults on REPORT ZONES
  • d675468 usb: gadget: u_audio: Check return codes from usb_ep_enable and config_ep_by_speed.
  • 54b7f68 usb: gadget: u_serial: Set start_delayed during suspend
  • a4f0d0a usb: gadget: midi2: Fix the response for FB info with block 0xff
  • 1a9df57 usb: gadget: core: Check for unset descriptor
  • 0761ba0 USB: serial: debug: do not echo input by default
  • 128e82e usb: vhci-hcd: Do not drop references before new references are gained
  • 2262801 ALSA: hda/hdmi: Yet more pin fix for HP EliteDesk 800 G4
  • a70ed69 ALSA: hda/realtek: Add Framework Laptop 13 (Intel Core Ultra) to quirks
  • 09c0f5f ALSA: hda: Add HP MP9 G4 Retail System AMS to force connect list
  • 535df7f ALSA: line6: Fix racy access to midibuf
  • d64fc94 drm/client: fix null pointer dereference in drm_client_modeset_probe
  • d73de3c drm/i915/gem: Adjust vma offset for framebuffer mmap offset
  • 0da0b06 drm/amdgpu: Forward soft recovery errors to userspace
  • 718d83f drm/amd/display: Skip Recompute DSC Params if no Stream on Link
  • 4b09513 drm/i915/gem: Fix Virtual Memory mapping boundaries calculation
  • 81ac1e8 module: make waiting for a concurrent module loader interruptible
  • bdb3679 module: warn about excessively long module waits
  • c0f767d cifs: cifs_inval_name_dfs_link_error: correct the check for fullpath
  • 8852832 ASoC: meson: axg-fifo: fix irq scheduling issue with PREEMPT_RT
  • a59ee70 ALSA: usb-audio: Re-add ScratchAmp quirk entries
  • a2c0f5d spi: spi-fsl-lpspi: Fix scldiv calculation
  • c25b8a3 i2c: qcom-geni: Add missing geni_icc_disable in geni_i2c_runtime_resume
  • 233419a i2c: qcom-geni: Add missing clk_disable_unprepare in geni_i2c_runtime_resume
  • a4155de kprobes: Fix to check symbol prefixes correctly
  • 25ad690 bpf: kprobe: remove unused declaring of bpf_kprobe_override
  • ae68eee i2c: smbus: Send alert notifications to all devices if source not found
  • b66c92b ASoC: SOF: Remove libraries from topology lookups
  • b156029 spi: spidev: Add missing spi_device_id for bh2228fv
  • 641de16 ASoC: sti: add missing probe entry for player and reader
  • 8485d32 ASoC: codecs: wsa884x: Correct Soundwire ports mask
  • 192af3c ASoC: codecs: wsa884x: parse port-mapping information
  • e79e2d8 ASoC: codecs: wsa883x: Correct Soundwire ports mask
  • 986141e ASoC: codecs: wsa883x: parse port-mapping information
  • f4bbf2f ASoC: codecs: wsa881x: Correct Soundwire ports mask
  • 733677f ASoC: codecs: wcd938x-sdw: Correct Soundwire ports mask
  • 1534b11 i2c: smbus: Improve handling of stuck alerts
  • 745eec6 arm64: errata: Expand speculative SSBS workaround (again)
  • 8defe51 arm64: cputype: Add Cortex-A725 definitions
  • 44094ae arm64: cputype: Add Cortex-X1C definitions
  • b9bf533 arm64: errata: Expand speculative SSBS workaround
  • 771746a arm64: errata: Unify speculative SSBS errata logic
  • 88ef8dd arm64: cputype: Add Cortex-X925 definitions
  • ef6e6d1 arm64: cputype: Add Cortex-A720 definitions
  • fc46756 arm64: cputype: Add Cortex-X3 definitions
  • 93696d8 arm64: errata: Add workaround for Arm errata 3194386 and 3312417
  • 527e7e7 arm64: cputype: Add Neoverse-V3 definitions
  • e5b9593 arm64: cputype: Add Cortex-X4 definitions
  • 1ae80fa arm64: barrier: Restore spec_bar() macro
  • 4167bf7 arm64: Add Neoverse-V2 part
  • 6772c48 net: drop bad gso csum_start and offset in virtio_net_hdr
  • 12f98cc sched/cputime: Fix mul_u64_u64_div_u64() precision for cputime
  • b56dee6 irqchip/loongarch-cpu: Fix return value of lpic_gsi_to_irq()
  • 57ab379 irqchip/meson-gpio: Convert meson_gpio_irq_controller::lock to 'raw_spinlock_t'
  • b547433 scsi: mpt3sas: Avoid IOMMU page faults on REPORT ZONES
  • 2d451ec profiling: remove profile=sleep support
  • c265240 SUNRPC: Fix a race to wake a sync task
  • 1e8b7fb s390/sclp: Prevent release of buffer in I/O
  • 6dacca9 jbd2: avoid memleak in jbd2_journal_write_metadata_buffer
  • e7abdad ext4: fix uninitialized variable in ext4_inlinedir_to_tree
  • 8503041 media: xc2028: avoid use-after-free in load_firmware_cb()
  • 7f855b6 media: uvcvideo: Fix the bandwdith quirk on USB 3.x
  • 5b835d1 media: uvcvideo: Ignore empty TS packets
  • 4cc2a94 drm/amd/display: Add null checker before passing variables
  • a599416 drm/amd/display: Add NULL check for 'afb' before dereferencing in amdgpu_dm_plane_handle_cursor_update
  • a29c1e5 media: amphion: Remove lock in s_ctrl callback
  • 2e53894 drm/amd/pm: Fix the null pointer dereference for vega10_hwmgr
  • 1adb5eb drm/amdgpu: Add lock around VF RLCG interface
  • 641dac6 drm/admgpu: fix dereferencing null pointer context
  • 3a01bf2 drm/amdgpu/pm: Fix the null pointer dereference in apply_state_adjust_rules
  • b896163 drm/amdgpu: Fix the null pointer dereference to ras_manager
  • 09544cd drm/amdgpu/pm: Fix the null pointer dereference for smu7
  • 837ab17 drm/amdgpu/pm: Fix the param type of set_power_profile_mode
  • bc93cfd drm/amdgpu: fix potential resource leak warning
  • 479ccc2 drm/amd/display: Add delay to improve LTTPR UHBR interop
  • 4d9adcb Bluetooth: btnxpuart: Shutdown timer and prevent rearming when driver unloading
  • d9e8460 btrfs: fix bitmap leak when loading free space cache on duplicate entry
  • ba4dedb btrfs: do not clear page dirty inside extent_write_locked_range()
  • a006e6c net: stmmac: qcom-ethqos: enable SGMII loopback during DMA reset on sa8775p-ride-r3
  • 759822a can: mcp251xfd: tef: update workaround for erratum DS80000789E 6 of mcp2518fd
  • 1333fd5 can: mcp251xfd: tef: prepare to workaround broken TEF FIFO tail index erratum
  • 81f086d wifi: nl80211: don't give key data to userspace
  • 5cc9745 udf: prevent integer overflow in udf_bitmap_free_blocks()
  • 9be0805 PCI: Add Edimax Vendor ID to pci_ids.h
  • 412f97f af_unix: Don't retry after unix_state_lock_nested() in unix_stream_connect().
  • 5ce414e selftests/bpf: Fix send_signal test with nested CONFIG_PARAVIRT
  • 650e247 net/mlx5e: SHAMPO, Fix invalid WQ linked list unlink
  • 9b03465 wifi: ath12k: fix memory leak in ath12k_dp_rx_peer_frag_setup()
  • c6ea738 wifi: nl80211: disallow setting special AP channel widths
  • c2775ae xen: privcmd: Switch from mutex to spinlock for irqfds
  • 9747b72 ACPI: SBS: manage alarm sysfs attribute through psy core
  • e1f6d71 ACPI: battery: create alarm sysfs attribute atomically
  • 9e1923b clocksource/drivers/sh_cmt: Address race condition for clock events
  • 4991cb2 rcu: Fix rcu_barrier() VS post CPUHP_TEARDOWN_CPU invocation
  • c63b44f block: change rq_integrity_vec to respect the iterator
  • 775a9ba md/raid5: avoid BUG_ON() while continue reshape after reassembling
  • 3fd5346 md: do not delete safemode_timer in mddev_suspend
  • 7adbf9b rcutorture: Fix rcu_torture_fwd_cb_cr() data race
  • 95cf80c hwmon: corsair-psu: add USB id of HX1200i Series 2023 psu
  • 1b955f7 gpio: prevent potential speculation leaks in gpio_device_get_desc()
  • c078067 net: fec: Stop PPS on driver remove
  • 7378080 net: bcmgenet: Properly overlay PHY and MAC Wake-on-LAN capabilities
  • 207e881 l2tp: fix lockdep splat
  • a7d2808 net: dsa: bcm_sf2: Fix a possible memory leak in bcm_sf2_mdio_register()
  • f7dc578 net/smc: add the max value of fallback reason count
  • 1a7a06e Bluetooth: hci_sync: avoid dup filtering when passive scanning with adv monitor
  • b4af69d Bluetooth: l2cap: always unlock channel in l2cap_conless_channel()
  • 3e94132 ice: Fix reset handler
  • 3b1fae7 net: linkwatch: use system_unbound_wq
  • e3145ca net: bridge: mcast: wait for previous gc cycles when removing port
  • f2c3532 net: usb: qmi_wwan: fix memory leak for not ip packets
  • 1407be3 sctp: Fix null-ptr-deref in reuseport_add_sock().
  • 6a78a29 wifi: ath12k: fix soft lockup on suspend
  • 7091b09 wifi: ath12k: add CE and ext IRQ flag to indicate irq_handler
  • 5c18b15 wifi: ath12k: rename the sc naming convention to ab
  • 0397a48 smb: client: handle lack of FSCTL_GET_REPARSE_POINT support
  • fbb384e x86/mm: Fix pti_clone_entry_text() for i386
  • ca07aab x86/mm: Fix pti_clone_pgtable() alignment assumption
  • c7b46f6 jump_label: Fix the fix, brown paper bags galore
  • 79b3162 platform/x86/intel/ifs: Initialize union ifs_status to zero
  • 3d0d771 platform/x86/intel/ifs: Gen2 Scan test support
  • b399e6a platform/x86/intel/ifs: Store IFS generation number
  • 69508cc irqchip/mbigen: Fix mbigen node address layout

Xanmod

Homepage
Download Linux 6.6.46-xanmod1 source from GitHub