Ubuntu 6396 Debian 10013 Published by

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

  • 7387100 Linux 6.6.37-xanmod1
  • 5dd0abb Merge tag 'v6.6.37' into 6.6
  • 8fa96e4 Linux 6.6.37
  • 8417af0 tracing/net_sched: NULL pointer dereference in perf_trace_qdisc_reset()
  • 18630d8 serial: 8250_omap: Fix Errata i2310 with RX FIFO level check
  • 633c861 serial: imx: only set receiver level if it is zero
  • 843836b cxl/region: check interleave capability
  • a9e099e cxl/region: Avoid null pointer dereference in region lookup
  • f12be1a cxl/region: Move cxl_dpa_to_region() work to the region driver
  • 3b75869 arm64: dts: rockchip: Add sound-dai-cells for RK3368
  • a96a83c arm64: dts: rockchip: fix PMIC interrupt pin on ROCK Pi E
  • d530fe8 arm64: dts: rockchip: make poweroff(8) work on Radxa ROCK 5A
  • c663989 ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node
  • 619c5fe arm64: dts: rockchip: Fix the value of dlg,jack-det-rate mismatch on rk3399-gru
  • b6970ce arm64: dts: rockchip: Rename LED related pinctrl nodes on rk3308-rock-pi-s
  • c49af00 arm64: dts: rockchip: Fix SD NAND and eMMC init on rk3308-rock-pi-s
  • c5978b9 mm/page_alloc: Separate THP PCP into movable and non-movable categories
  • 07caf75 Revert "cpufreq: amd-pstate: Fix the inconsistency in max frequency units"
  • d83df7d pwm: stm32: Refuse too small period requests
  • 0043238 erofs: fix NULL dereference of dif->bdev_handle in fscache mode
  • c636bb3 syscalls: fix sys_fanotify_mark prototype
  • e04886b syscalls: fix compat_sys_io_pgetevents_time64 usage
  • 8363592 ftruncate: pass a signed offset
  • 062e256 ata: libata-core: Fix double free on error
  • d8d5412 ata: ahci: Clean up sysfs file on error
  • 3e72558 can: mcp251xfd: fix infinite loop when xmit fails
  • 73fb6df batman-adv: Don't accept TT entries for out-of-spec VIDs
  • 01f5887 drm/amdgpu/atomfirmware: fix parsing of vram_info
  • 89d8a85 drm/amd/display: Send DP_TOTAL_LTTPR_CNT during detection if LTTPR is present
  • 7ece609 drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes
  • 06dec31 drm/i915/gt: Fix potential UAF by revoke of fence registers
  • 330c8c1 drm/amdgpu: avoid using null object of framebuffer
  • f29fcfb drm/fbdev-dma: Only set smem_start is enable per module option
  • cb751e4 drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes
  • 1668258 drm/drm_file: Fix pid refcounting race
  • 5515a81 hexagon: fix fadvise64_64 calling conventions
  • 32dffe1 csky, hexagon: fix broken sys_sync_file_range
  • a0bfefc btrfs: zoned: fix initial free space detection
  • 91878a2 sh: rework sync_file_range ABI
  • 8299743 kbuild: Install dtb files as 0644 in Makefile.dtbinst
  • d2683b2 irqchip/loongson-liointc: Set different ISRs for different cores
  • 52bbae4 cpu/hotplug: Fix dynstate assignment in __cpuhp_setup_state_cpuslocked()
  • c5a51cf irqchip/loongson-eiointc: Use early_cpu_to_node() instead of cpu_to_node()
  • da3cabf cpufreq: intel_pstate: Use HWP to initialize ITMT if CPPC is missing
  • ff1121d PCI/MSI: Fix UAF in msi_capability_init
  • 177e33b net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new
  • b6f7827 net: can: j1939: recover socket queue on CAN bus error during BAM transmission
  • ab2a683 net: can: j1939: Initialize unused data in j1939_send_one()
  • 31020be tty: mcf: MCF54418 has 10 UARTS
  • 1d994fb ALSA: hda/realtek: fix mute/micmute LEDs don't work for EliteBook 645/665 G11.
  • d3ebc55 serial: bcm63xx-uart: fix tx after conversion to uart_port_tx_limited()
  • 60dc1a2 serial: core: introduce uart_port_tx_limited_flags()
  • d75b8ae serial: imx: set receiver level before starting uart
  • e67d7f3 serial: 8250_omap: Implementation of Errata i2310
  • 2ab2545 Revert "serial: core: only stop transmit when HW fifo is empty"
  • 6b80ccc usb: dwc3: core: Workaround for CSR read timeout
  • ab99c4b usb: dwc3: core: Add DWC31 version 2.00a controller
  • e630592 usb: ucsi: stm32: fix command completion handling
  • 519610e usb: typec: ucsi: glink: fix child node release in probe function
  • 9ed8e8c usb: gadget: aspeed_udc: fix device address configuration
  • 17e2956 usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock
  • f536f09 usb: atm: cxacru: fix endpoint checking in cxacru_bind()
  • bcf78ec usb: musb: da8xx: fix a resource leak in probe()
  • a96915f usb: gadget: printer: fix races against disable
  • 9dec26e usb: gadget: printer: SS+ support
  • cc2bce1 net: usb: ax88179_178a: improve link status logs
  • 055b4e3 iio: chemical: bme680: Fix sensor data read operation
  • b596739 iio: chemical: bme680: Fix overflows in compensate() functions
  • 9370996 iio: chemical: bme680: Fix calibration data variable
  • 1338288 iio: chemical: bme680: Fix pressure value output
  • 7387777 iio: accel: fxls8962af: select IIO_BUFFER & IIO_KFIFO_BUF
  • 1ce8be8 iio: adc: ad7266: Fix variable checking bug
  • 8c65da9 ata,scsi: libata-core: Do not leak memory for ata_port struct members
  • 119c97a ata: libata-core: Fix null pointer dereference on error
  • 84ee451 i2c: testunit: discard write requests while old command is running
  • 37bec25 i2c: testunit: don't erase registers after STOP
  • b89b0af kbuild: Fix build target deb-pkg: ln: failed to create hard link
  • 4edc6c5 kbuild: doc: Update default INSTALL_MOD_DIR from extra to updates
  • 8fd89aa counter: ti-eqep: enable clock at probe
  • da6c6ad iio: xilinx-ams: Don't include ams_ctrl_channels in scan_mask
  • 7fb456c mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro()
  • 3336979 mmc: sdhci: Do not invert write-protect twice
  • 006e04a mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos
  • 485d942 mmc: sdhci-brcmstb: check R1_STATUS for erase/trim/discard
  • 50a6879 mmc: sdhci-pci-o2micro: Convert PCIBIOS_* return codes to errnos
  • 88e0ad4 mm: fix incorrect vbq reference in purge_fragmented_block
  • bc5e98e nfs: drop the incorrect assertion in nfs_swap_rw()
  • c05ffb6 ocfs2: fix DIO failure due to insufficient transaction credits
  • c2a7881 pinctrl: qcom: spmi-gpio: drop broken pm8008 support
  • 9b95f63 Revert "MIPS: pci: lantiq: restore reset gpio polarity"
  • d0be1c8 parisc: use generic sys_fanotify_mark implementation
  • 16222be x86: stop playing stack games in profile_pc()
  • 591c065 randomize_kstack: Remove non-functional per-arch entropy filtering
  • 67ccb6b gpiolib: cdev: Disallow reconfiguration without direction (uAPI v1)
  • 74eb70c riscv: stacktrace: convert arch_stack_walk() to noinstr
  • f16c10e drm/amdgpu: Fix pci state save during mode-1 reset
  • abb84c4 RISC-V: fix vector insn load/store width mask
  • 2d83492 gpio: davinci: Validate the obtained number of IRQs
  • 0ca8656 drm/panel: simple: Add missing display timing flags for KOE TX26D202VM0BWA
  • e834fec nvme: fixup comment for nvme RDMA Provider Type
  • 41e5860 drm/radeon/radeon_display: Decrease the size of allocated memory
  • 3429ef5 gfs2: Fix NULL pointer dereference in gfs2_log_flush
  • ed4434b soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message
  • 79c9ea0 irqchip/loongson: Select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP for IRQ_LOONGARCH_CPU
  • 06fa2d9 media: dvbdev: Initialize sbuf
  • d8f5ce3 ALSA: emux: improve patch ioctl data validation
  • 80575b2 crypto: ecdh - explicitly zeroize private_key
  • 69f4952 net/dpaa2: Avoid explicit cpumask var allocation on stack
  • 724e796 net/iucv: Avoid explicit cpumask var allocation on stack
  • 8ac281d RDMA/restrack: Fix potential invalid address access
  • d812ae6 bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter mode
  • e6bb84c wifi: ieee80211: check for NULL in ieee80211_mle_size_ok()
  • 5266cbc mtd: partitions: redboot: Added conversion of operands to a larger type
  • 9411144 x86/fpu: Fix AMD X86_BUG_FXSAVE_LEAK fixup
  • df475f7 vduse: Temporarily fail if control queue feature requested
  • 8d4d145 vduse: validate block features only with block devices
  • 1618f7a drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep
  • 08f6c05 bpf: Take return from set_memory_rox() into account with bpf_jit_binary_lock_ro()
  • f99feda powerpc/bpf: use bpf_jit_binary_pack_[alloc|finalize|free]
  • 1033919 powerpc/bpf: rename powerpc64_jit_data to powerpc_jit_data
  • fdd411a bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro()
  • 3243e64 net: mana: Fix possible double free in error handling path
  • 952bf8d netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers
  • b5418b4 ALSA: seq: Fix missing MSB in MIDI2 SPP conversion
  • b4b26d2 tcp: fix tcp_rcv_fastopen_synack() to enter TCP_CA_Loss for failed TFO
  • 91fe991 powerpc: restore some missing spu syscalls
  • 55aed14 parisc: use correct compat recv/recvfrom syscalls
  • 61ff739 sparc: fix compat recv/recvfrom syscalls
  • 035c504 sparc: fix old compat_sys_select()
  • 784079f net: dsa: microchip: fix wrong register write when masking interrupt
  • f981ca3 ALSA: seq: Fix missing channel at encoding RPN/NRPN MIDI2 messages
  • fdae4d1 Fix race for duplicate reqsk on identical SYN
  • cf0291a btrfs: use NOFS context when getting inodes during logging and log replay
  • 3ebda17 netfilter: fix undefined reference to 'netfilter_lwtunnel_*' when CONFIG_SYSCTL=n
  • 14e51ea xdp: Remove WARN() from __xdp_reg_mem_model()
  • b36267d ice: Rebuild TC queues on VSI queue reconfiguration
  • 9d36f63 net: dsa: microchip: use collision based back pressure mode
  • 96c8693 net: phy: micrel: add Microchip KSZ 9477 to the device table
  • 23f0624 ibmvnic: Free any outstanding tx skbs during scrq reset
  • 511804a bpf: Fix overrunning reservations in ringbuf
  • 942901e mlxsw: spectrum_buffers: Fix memory corruptions on Spectrum-4 systems
  • ba4d75a openvswitch: get related ct labels from its master if it is not confirmed
  • 2ef957d net: dsa: microchip: fix initial port flush problem
  • 29bc9e7 ASoC: fsl-asoc-card: set priv->pdev before using it
  • 032a2ec ASoC: amd: acp: remove i2s configuration check in acp_i2s_probe()
  • e158ed2 ASoC: amd: acp: add a null check for chip_pdev structure
  • 05cbeb0 s390/pci: Add missing virt_to_phys() for directed DIBV
  • 8d02ead bpf: Add missed var_off setting in coerce_subreg_to_size_sx()
  • 185dca8 bpf: Add missed var_off setting in set_sext32_default_val()
  • b377d4d ASoC: q6apm-lpass-dai: close graph on prepare errors
  • f74bb39 workqueue: Increase worker desc's length to 32
  • 6ffd06c ASoC: atmel: atmel-classd: Re-add dai_link->platform to fix card init
  • 6de2e58 ASoC: atmel: convert not to use asoc_xxx()
  • 2886b30 ASoC: mediatek: mt8183-da7219-max98357: Fix kcontrol name collision
  • 4932ddb ASoC: rockchip: i2s-tdm: Fix trcm mode by setting clock on right mclk
  • 00da1dd wifi: mac80211: Use flexible array in struct ieee80211_tim_ie
  • 2dcc136 selftests: mptcp: userspace_pm: fixed subtest names
  • 528c3a4 selftests: mptcp: print_test out of verify_listener_events
  • 71d2170 MIPS: pci: lantiq: restore reset gpio polarity
  • 2838dfa pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set
  • b85dec6 pinctrl: rockchip: use dedicated pinctrl type for RK3328
  • 14f6c7b pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins
  • 98db009 pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins
  • 4038c57 pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER
  • f1d0511 Input: ili210x - fix ili251x_read_touch_data() return value
  • d9933ca usb: typec: ucsi: Ack also failed Get Error commands
  • 64ab9d2 usb: typec: ucsi: Never send a lone connector change ack
  • dd7c4e3 iio: pressure: bmp280: Fix BMP580 temperature reading
  • 3f199b4 iio: pressure: fix some word spelling errors

Xanmod

Homepage
Download Linux 6.6.37-xanmod1 source from GitHub