Debian 9955 Published by

A new XanMod Linux Kernel based on Linux Kernel 6.6.28 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.28-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 releases main' | sudo tee /etc/apt/sources.list.d/xanmod-kernel.list && wget -qO - | sudo apt-key add -

Then update and install:

sudo apt update && sudo apt install linux-xanmod


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:

  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


  • 2e4ffa7 Linux 6.6.28-xanmod1
  • 79c4992 Merge tag 'v6.6.28' into 6.6
  • ba15141 Linux 6.6.28
  • 5097157 drm/amd/display: fix disable otg wa logic in DCN316
  • 5ca6cbd drm/amd/display: Set VSC SDP Colorimetry same way for MST and SST
  • b12c3cf drm/amd/display: Program VSC SDP colorimetry for all DP sinks >= 1.4
  • bd3105a drm/amdgpu: fix incorrect number of active RBs for gfx11
  • fa2df4a drm/amdgpu: always force full reset for SOC21
  • 1520bf6 drm/amdgpu: Reset dGPU if suspend got aborted
  • 2708354 drm/i915: Disable port sync when bigjoiner is used
  • d1742f7 drm/i915/cdclk: Fix CDCLK programming order when pipes are active
  • a823da6 x86/bugs: Remove CONFIG_BHI_MITIGATION_AUTO and spectre_bhi=auto
  • 9c9cd01 x86/bugs: Clarify that syscall hardening isn't a BHI mitigation
  • 7497589 x86/bugs: Fix BHI handling of RRSBA
  • c83e35f x86/bugs: Rename various 'ia32_cap' variables to 'x86_arch_cap_msr'
  • bdbbe95 x86/bugs: Cache the value of MSR_IA32_ARCH_CAPABILITIES
  • 39053a3 x86/bugs: Fix BHI documentation
  • 2d00390 x86/bugs: Fix return type of spectre_bhi_state()
  • 548af61 irqflags: Explicitly ignore lockdep_hrtimer_exit() argument
  • 052d73c x86/apic: Force native_apic_mem_read() to use the MOV instruction
  • 5c5fb50 selftests: timers: Fix abs() warning in posix_timers test
  • 2978ee7 x86/cpu: Actually turn off mitigations by default for SPECULATION_MITIGATIONS=n
  • d4a2a96 perf/x86: Fix out of range data
  • d619651 vhost: Add smp_rmb() in vhost_enable_notify()
  • 8a05b66 vhost: Add smp_rmb() in vhost_vq_avail_empty()
  • a156f37 arm64: dts: imx8-ss-dma: fix spi lpcg indices
  • e9e44fc arm64: dts: imx8-ss-lsio: fix pwm lpcg indices
  • 16c2dd9 arm64: dts: imx8-ss-conn: fix usb lpcg indices
  • 7c42854 arm64: dts: imx8-ss-dma: fix adc lpcg indices
  • 19a8492 arm64: dts: imx8-ss-dma: fix can lpcg indices
  • 20ceb2b arm64: dts: imx8qm-ss-dma: fix can lpcg indices
  • 04e018b drm/client: Fully protect modes[] with dev->mode_config.mutex
  • 3180671 drm/panfrost: Fix the error path in panfrost_mmu_map_fault_addr()
  • a81b2ac drm/ast: Fix soft lockup
  • 4d87f08 drm/amdkfd: Reset GPU on queue preemption failure
  • f9b31df drm/i915/vrr: Disable VRR when using bigjoiner
  • 88685c3 drm/vmwgfx: Enable DMA mappings with SEV
  • d43e11d accel/ivpu: Fix deadlock in context_xa
  • 2704f48 scsi: sg: Avoid race in error handling & drop bogus warn
  • 46af904 scsi: sg: Avoid sg device teardown race
  • d15023f kprobes: Fix possible use-after-free issue on kprobe registration
  • 96b7b09 io_uring/net: restore msg_control on sendzc retry
  • 585c573 btrfs: qgroup: convert PREALLOC to PERTRANS after record_root_in_trans
  • 363be24 btrfs: record delayed inode root in transaction
  • 1443181 btrfs: qgroup: fix qgroup prealloc rsv leak in subvolume operations
  • 03cca8f btrfs: qgroup: correctly model root qgroup rsv in convert
  • 732752b selftests: mptcp: use += operator to append strings
  • 4c6d2f4 iommu/vt-d: Allocate local memory for page request queue
  • f3ccbb6 iommu/vt-d: Fix wrong use of pasid config
  • e3e1e80 tracing: hide unused ftrace_event_id_fops
  • 2fc4d53 net: ena: Set tx_info->xdpf value to NULL
  • 354627f net: ena: Use tx_ring instead of xdp_ring for XDP channel TX
  • bc0ad68 net: ena: Pass ena_adapter instead of net_device to ena_xmit_common()
  • c891d76 net: ena: Move XDP code to its new files
  • 5c7f224 net: ena: Fix incorrect descriptor free behavior
  • dc1d1e3 net: ena: Wrong missing IO completions check order
  • 4d142dd net: ena: Fix potential sign extension issue
  • 507cc23 af_unix: Fix garbage collector racing against connect()
  • 301fdba af_unix: Do not use atomic ops for unix_sk(sk)->inflight.
  • 8b6c4b6 net: dsa: mt7530: trap link-local frames regardless of ST Port State
  • 785510c Revert "s390/ism: fix receive message buffer allocation"
  • 54541e1 net: sparx5: fix wrong config being used when reconfiguring PCS
  • 292a764 net/mlx5e: Do not produce metadata freelist entries in Tx port ts WQE xmit
  • 8777d6a net/mlx5e: HTB, Fix inconsistencies with QoS SQs number
  • f9ac93b net/mlx5e: Fix mlx5e_priv_init() cleanup flow
  • 690e3d9 net/mlx5: Correctly compare pkt reformat ids
  • 5cf5337 net/mlx5: Properly link new fs rules into the tree
  • cbe5852 net/mlx5: offset comp irq index in name by one
  • 8c91c60 net/mlx5: Register devlink first under devlink lock
  • 7a83673 net/mlx5: SF, Stop waiting for FW as teardown was called
  • 89242d9 netfilter: complete validation of user input
  • e2c680f Bluetooth: l2cap: Don't double set the HCI_CONN_MGMT_CONNECTED bit
  • 72473db Bluetooth: SCO: Fix not validating setsockopt user input
  • cc950d5 Bluetooth: hci_sync: Fix using the same interval and window for Coded PHY
  • de3c85d Bluetooth: hci_sync: Use QoS to determine which PHY to scan
  • a39cc8d Bluetooth: ISO: Don't reject BT_ISO_QOS if parameters are unset
  • c832164 Bluetooth: ISO: Align broadcast sync_timeout with connection timeout
  • 01b11a0 ipv6: fix race condition between ipv6_get_ifaddr and ipv6_del_addr
  • 5fd0b8b ipv4/route: avoid unused-but-set-variable warning
  • 8a18d2f ipv6: fib: hide unused 'pn' variable
  • cc10d3e octeontx2-af: Fix NIX SQ mode and BP config
  • 601a89e af_unix: Clear stale u->oob_skb.
  • cba376e net: ks8851: Handle softirqs at the end of IRQ thread to fix hang
  • e454abe net: ks8851: Inline ks8851_rx_skb()
  • 499c993 bnxt_en: Reset PTP tx_avail after possible firmware reset
  • 4cbcf8c bnxt_en: Fix error recovery for RoCE ulp client
  • c60ed82 bnxt_en: Fix possible memory leak in bnxt_rdma_aux_device_init()
  • 1e91775 s390/ism: fix receive message buffer allocation
  • 190d9ef geneve: fix header validation in geneve[6]_xmit_skb
  • 740ffad block: fix q->blkg_list corruption during disk rebind
  • 7af5582 octeontx2-pf: Fix transmit scheduler resource leak
  • b143e19 xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING
  • 80fa4fb u64_stats: fix u64_stats_init() for lockdep when used repeatedly in one file
  • bdce65f net: openvswitch: fix unwanted error log on timeout policy probing
  • 60b87b5 scsi: qla2xxx: Fix off by one in qla_edif_app_getstats()
  • 8a18216 scsi: hisi_sas: Modify the deadline for ata_wait_after_reset()
  • aebbe59 nouveau: fix function cast warning
  • 42cbe04 Revert "drm/qxl: simplify qxl_fence_wait"
  • 9bd1891 cxl/core: Fix initialization of mbox_cmd.size_out in get event
  • ea16e63 arm64: dts: imx8-ss-conn: fix usdhc wrong lpcg clock order
  • f7ef9a4 drm/msm/dpu: don't allow overriding data from catalog
  • eb0ef41 cxl/core/regs: Fix usage of map->reg_type in cxl_decode_regblock() before assigned
  • 645cef1 cxl/mem: Fix for the index of Clear Event Record Handle
  • c0781d6 firmware: arm_scmi: Make raw debugfs entries non-seekable
  • 6f9a8a5 ARM: OMAP2+: fix USB regression on Nokia N8x0
  • ff75f9f mmc: omap: restore original power up/down steps
  • f6c34c9 mmc: omap: fix deferred probe
  • 267bcd2 mmc: omap: fix broken slot switch lookup
  • 086426d ARM: OMAP2+: fix N810 MMC gpiod table
  • d73e7fb ARM: OMAP2+: fix bogus MMC GPIO labels on Nokia N8x0
  • 7611722 media: cec: core: remove length check of Timer Status
  • 9fdfeef PM: s2idle: Make sure CPUs will wakeup directly on resume
  • 3860152 ACPI: scan: Do not increase dep_unmet for already met dependencies
  • cfd7580 platform/chrome: cros_ec_uart: properly fix race condition
  • 1e3b887 drm/amd/pm: fixes a random hang in S4 for SMU v13.0.4/11
  • 9ab5e44 Bluetooth: Fix memory leak in hci_req_sync_complete()
  • a9cd92b ring-buffer: Only update pages_touched when a new page is touched
  • 3f28d49 raid1: fix use-after-free for original bio in raid1_write_request()
  • 1808b99 ARM: dts: imx7s-warp: Pass OV2680 link-frequencies
  • 4ca2a5f batman-adv: Avoid infinite loop trying to resize local TT
  • 341b5e1 ata: libata-scsi: Fix ata_scsi_dev_rescan() error path
  • 99618f8 ata: libata-core: Allow command duration limits detection for ACS-4 drives
  • 05eedb5 smb3: fix Open files on server counter going negative

Download Linux 6.6.28-xanmod1 source from GitHub