Ubuntu 6588 Debian 10228 Published by

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

  • c2bea2d Linux 6.6.45-xanmod1
  • dde9aaf XANMOD: kbuild: Move GCC SMS optimization flags to Makefile
  • 5ef8c38 Merge tag 'v6.6.45' into 6.6
  • 878fbff Linux 6.6.45
  • ee3c845 mptcp: prevent BPF accessing lowat from a subflow socket.
  • 6f2b218 selftests: mptcp: join: check backup support in signal endp
  • 8213b98 selftests: mptcp: join: validate backup in MPJ
  • ffe8c86 selftests: mptcp: always close input's FD if opened
  • bf39cfc mptcp: fix duplicate data handling
  • bd1d1fc mptcp: pm: only set request_bkup flag when sending MP_PRIO
  • 19bf329 mptcp: fix bad RCVPRUNED mib accounting
  • 6721cba mptcp: mib: count MPJ with backup flag
  • e680e63 mptcp: fix NL PM announced address accounting
  • 8ed3e34 mptcp: distinguish rcv vs sent backup flag in requests
  • 201b76f mptcp: fix user-space PM announced address accounting
  • 7e92702 r8169: don't increment tx_dropped in case of NETDEV_TX_BUSY
  • f2b5be3 net: usb: sr9700: fix uninitialized variable use in sr_mdio_read
  • 6c0473c drm/i915: Fix possible int overflow in skl_ddi_calculate_wrpll()
  • a62c981 drm/virtio: Fix type of dma-fence context variable
  • a894396 drm/vmwgfx: Fix a deadlock in dma buf fence polling
  • f5043e6 Revert "ALSA: firewire-lib: operate for period elapse event in process context"
  • 5f8a5a1 Revert "ALSA: firewire-lib: obsolete workqueue for period update"
  • 8dd4a10 ALSA: seq: ump: Optimize conversions from SysEx to UMP
  • 79d3823 ALSA: hda/realtek: Add quirk for Acer Aspire E5-574G
  • b4dd36f ALSA: usb-audio: Correct surround channels in UAC1 channel map
  • add243b mptcp: sched: check both directions for backup
  • da72e78 protect the fetch of ->fd[fd] in do_dup2() from mispredictions
  • 0caf15b btrfs: do not subtract delalloc from avail bytes
  • ae29e6f btrfs: zoned: fix zone_unusable accounting on making block group read-write again
  • 92566c0 HID: wacom: Modify pen IDs
  • b8774d3 platform/chrome: cros_ec_proto: Lock device when updating MKBP version
  • 5e5a29b rust: SHADOW_CALL_STACK is incompatible with Rust
  • dd0aaa9 arm64: jump_label: Ensure patched jump_labels are visible to all CPUs
  • 40208cd riscv: Fix linear mapping checks for non-contiguous memory regions
  • 917f598 riscv/mm: Add handling for VM_FAULT_SIGSEGV in mm_fault_error()
  • fa12277 perf: riscv: Fix selecting counters in legacy mode
  • 10b2686 riscv: remove unused functions in traps_misaligned.c
  • 93e2bea ipv6: fix ndisc_is_useropt() handling for PIO
  • 5635301 igc: Fix double reset adapter triggered from a single taprio cmd
  • 82b9a38 net/mlx5e: Add a check for the return value from mlx5_port_set_eth_ptys
  • daab2cc net/mlx5e: Fix CT entry update leaks of modify header context
  • db4ba08 net/mlx5e: Require mlx5 tc classifier action support for IPsec prio capability
  • 98884e8 net/mlx5: Fix missing lock on sync reset reload
  • f6f8460 net/mlx5: Lag, don't use the hardcoded value of the first port
  • 315d00c net/mlx5: Fix error handling in irq_pool_request_irq
  • 6b6c2eb net/mlx5: Always drain health in shutdown callback
  • e85b9b6 netfilter: iptables: Fix potential null-ptr-deref in ip6table_nat_table_init().
  • 70014b7 netfilter: iptables: Fix null-ptr-deref in iptable_nat_table_init().
  • 2c2868a ALSA: hda: Conditionally use snooping for AMD HDMI
  • 2094996 net: phy: micrel: Fix the KSZ9131 MDI-X status issue
  • eb2926c net: mvpp2: Don't re-use loop iterator
  • 9541f99 drm/i915/hdcp: Fix HDCP2_STREAM_STATUS macro
  • 0143728 net/iucv: fix use after free in iucv_sock_close()
  • 9ac083d ice: add missing WRITE_ONCE when clearing ice_rx_ring::xdp_prog
  • ac2a3c7 ice: replace synchronize_rcu with synchronize_net
  • 9016d17 ice: don't busy wait for Rx queue disable in ice_qp_dis()
  • 77292f9 ice: respect netif readiness in AF_XDP ZC related ndo's
  • 582b6c7 i915/perf: Remove code to update PWR_CLK_STATE for gen12
  • 0db0072 rtnetlink: Don't ignore IFLA_TARGET_NETNSID when ifname is specified in rtnl_dellink().
  • 4ea83a0 net: axienet: start napi before enabling Rx/Tx
  • 1cfdc25 tcp: Adjust clamping window for applications specifying SO_RCVBUF
  • f9fef23 tcp: annotate data-races around tp->window_clamp
  • 124a488 mptcp: give rcvlowat some love
  • ae8853d Bluetooth: hci_sync: Fix suspending with wrong filter policy
  • b0c470d Bluetooth: btintel: Fail setup on error
  • bc77344 ALSA: hda: conexant: Fix headset auto detect fail in the polling mode
  • b45cbfa net: phy: realtek: add support for RTL8366S Gigabit PHY
  • fcfb8ce wifi: cfg80211: fix reporting failed MLO links status with cfg80211_connect_done
  • d7cc186 sched: act_ct: take care of padding in struct zones_ht_key
  • c98d6c2 drm/vmwgfx: Trigger a modeset when the screen moves
  • b67643b drm/vmwgfx: Fix overlay when using Screen Targets
  • f23cd66 drm/nouveau: prime: fix refcount underflow
  • 1b46b23 perf tool: fix dereferencing NULL al->maps
  • 0a5ca73 HID: amd_sfh: Move sensor discovery before HID device initialization
  • 181f9b5 ARM: 9406/1: Fix callchain_trace() return value
  • f4675c8 MIPS: dts: loongson: Fix ls2k1000-rtc interrupt
  • 3544efb MIPS: dts: loongson: Fix liointc IRQ polarity
  • fcf20dc MIPS: Loongson64: DTS: Fix PCIe port nodes for ls7a
  • 0bcd599 perf: imx_perf: fix counter start and config sequence
  • c91c8d3 dmaengine: fsl-edma: change the memory access from local into remote mode in i.MX 8QM
  • 417b64e dmaengine: fsl-edma: clean up unused "fsl,imx8qm-adma" compatible string
  • ba20b7f dmaengine: fsl-edma: add i.MX8ULP edma support
  • 5f8de77 dmaengine: fsl-edma: add address for channel mux register in fsl_edma_chan
  • 4239571 f2fs: assign CURSEG_ALL_DATA_ATGC if blkaddr is valid
  • f911be1 f2fs: fix to avoid use SSR allocate when do defragment
  • 00fbc7b mm/page_alloc: fix pcp->count race between drain_pages_zone() vs __rmqueue_pcplist()
  • 4abfa27 mm: page_alloc: control latency caused by zone PCP draining
  • dde5e53 mm: restrict the pcp batch scale factor to avoid too long latency
  • 340bbe9 fbdev: vesafb: Detect VGA compatibility from screen info's VESA attributes
  • a168da3 firmware/sysfb: Update screen_info for relocated EFI framebuffers
  • f5dce77 video: Provide screen_info_get_pci_dev() to find screen_info's PCI device
  • 5b4d995 video: Add helpers for decoding screen_info
  • bab0a82 fbdev/vesafb: Replace references to global screen_info by local pointer
  • ccab04d PCI: Add pci_get_base_class() helper
  • 43e7320 KVM: nVMX: Check for pending posted interrupts when looking for nested events
  • 459403b KVM: nVMX: Add a helper to get highest pending from Posted Interrupt vector
  • 65b2514 KVM: VMX: Move posted interrupt descriptor out of VMX code
  • ebfed7b KVM: VMX: Split off vmx_onhyperv.{ch} from hyperv.{ch}
  • 93ac74c leds: triggers: Flush pending brightness before activating trigger
  • 9ce3c14 leds: trigger: Call synchronize_rcu() before calling trig->activate()
  • 587cf9c leds: trigger: Store brightness set by led_trigger_event()
  • 73a26ea leds: trigger: Remove unused function led_trigger_rename_static()
  • e3fd01a cpufreq: qcom-nvmem: fix memory leaks in probe error paths
  • 51a4520 cpufreq: qcom-nvmem: Simplify driver data allocation
  • df73633 ext4: check the extent status again before inserting delalloc block
  • f12fbb9 ext4: factor out a common helper to query extent map
  • c6cba59 ext4: convert to exclusive lock while inserting delalloc extents
  • 7849e9b ext4: refactor ext4_da_map_blocks()
  • ffde3af sysctl: always initialize i_uid/i_gid
  • 96f1d90 sysctl: treewide: drop unused argument ctl_table_root::set_ownership(table)
  • 1388622 sysctl: allow to change limits for posix messages queues
  • 8d5b1a9 sysctl: allow change system v ipc sysctls inside ipc namespace
  • 34e7880 thermal/drivers/broadcom: Fix race between removal and clock disable
  • 103881e thermal: bcm2835: Convert to platform remove callback returning void
  • 0b4e4da arm64: dts: qcom: sdm845: Disable SS instance in Parkmode for USB
  • a27753e arm64: dts: qcom: sdm845: switch USB QMP PHY to new style of bindings
  • affc4de arm64: dts: qcom: sdm845: switch USB+DP QMP PHY to new style of bindings
  • 1a0bff6 arm64: dts: qcom: ipq8074: Disable SS instance in Parkmode for USB
  • cd4f3ad arm64: dts: qcom: msm8998: Disable SS instance in Parkmode for USB
  • 267a485 arm64: dts: qcom: msm8998: switch USB QMP PHY to new style of bindings
  • 5bf3379 arm64: dts: qcom: sc7280: Disable SuperSpeed instances in park mode
  • f879a83 arm64: dts: qcom: sc7280: switch USB+DP QMP PHY to new style of bindings
  • fde0434 arm64: dts: qcom: sc7180: Disable SuperSpeed instances in park mode
  • 2359355 arm64: dts: qcom: sc7180: switch USB+DP QMP PHY to new style of bindings

Xanmod

Homepage
Download Linux 6.6.45-xanmod1 source from GitHub