A new XanMod Linux Kernel based on Linux Kernel 5.9.9 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.
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 [5.8], linux-xanmod-edge [5.8], linux-xanmod-lts [5.4], linux-xanmod-rt-edge [5.6-rt] and linux-xanmod-rt [5.4-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/version
Linux 5.9.9-xanmod1
- 4ccc34c Linux 5.9.9-xanmod1
- 63e1d5a Merge tag 'v5.9.9' into 5.9
- 1398820 Linux 5.9.9
- ac39c90 Convert trailing spaces and periods in path components
- 7e87e69 coresight: Fix uninitialised pointer bug in etm_setup_aux()
- b689b73 coresight: etm: perf: Sink selection using sysfs is deprecated
- d8c65b3 perf scripting python: Avoid declaring function pointers with a visibility attribute
- 88c5766 null_blk: Fix scheduling in atomic with zoned mode
- c7910bd powerpc/603: Always fault when _PAGE_ACCESSED is not set
- 6cad8b4 tunnels: Fix off-by-one in lower MTU bounds for ICMP/ICMPv6 replies
- b288c04 mptcp: provide rmem[0] limit
- 0ed125f devlink: Avoid overwriting port attributes of registered port
- 2589466 tipc: fix memory leak in tipc_topsrv_start()
- 6f5d15f net/x25: Fix null-ptr-deref in x25_connect
- 5025e00 net: Update window_clamp if SOCK_RCVBUF is set
- 6984380 net: udp: fix UDP header access on Fast/frag0 UDP GRO
- 7e7f05d net: udp: fix IP header access and skb lookup on Fast/frag0 UDP GRO
- d0f1a4e net/af_iucv: fix null pointer dereference on shutdown
- 5ec976b IPv6: Set SIT tunnel hard_header_len to zero
- e43ca83 ethtool: netlink: add missing netdev_features_change() call
- b285071 cpufreq: intel_pstate: Take CPUFREQ_GOV_STRICT_TARGET into account
- 960908e cpufreq: Add strict_target to struct cpufreq_policy
- ddd0dd0 cpufreq: Introduce CPUFREQ_GOV_STRICT_TARGET
- c539b68 cpufreq: Introduce governor flags
- f3cbfd0 swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb"
- 877d58e pinctrl: amd: fix incorrect way to disable debounce filter
- 41620d1 pinctrl: amd: use higher precision for 512 RtcClk
- 616db99 NFSv4.2: fix failure to unregister shrinker
- 3874b70 drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]
- 824cbc5 drm/i915: Correctly set SFC capability for video engines
- e963d95 drm/amd/display: Add missing pflip irq
- c5d5981 don't dump the threads that had been already exiting when zapped.
- 33edb61 mmc: renesas_sdhi_core: Add missing tmio_mmc_host_free() at remove
- 85db3a4 mmc: sdhci-of-esdhc: Handle pulse width detection erratum for more SoCs
- 4e7f3d3 gpio: pcie-idio-24: Enable PEX8311 interrupts
- 8c431ab gpio: pcie-idio-24: Fix IRQ Enable Register value
- a368f3c gpio: pcie-idio-24: Fix irq mask when masking
- 02bae88 gpio: sifive: Fix SiFive gpio probe
- 7e88d5d io_uring: round-up cq size before comparing with rounded sq size
- 23f880d selinux: Fix error return code in sel_ib_pkey_sid_slow()
- 800c1e7 hwmon: (amd_energy) modify the visibility of the counters
- 11db218 ocfs2: initialize ip_next_orphan
- ef792d6 hugetlbfs: fix anon huge page migration race
- d2af8b6 reboot: fix overflow parsing reboot cpu number
- 566fd53 Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint"
- b742ca1 mm/gup: use unpin_user_pages() in __gup_longterm_locked()
- e20add4 mm/vmscan: fix NR_ISOLATED_FILE corruption on 64-bit
- b65f7b5 mm/slub: fix panic in slab_alloc_node()
- c4629e4 mm/compaction: stop isolation if too many pages are isolated and we have pages to migrate
- f8b40ef mm/compaction: count pages and stop correctly during page isolation
- 9d15294 bootconfig: Extend the magic check range to the preceding 3 bytes
- 3923dd2 jbd2: fix up sparse warnings in checkpoint code
- 07b4f12 futex: Don't enable IRQs unconditionally in put_pi_state()
- 67c433c mei: protect mei_cl_mtu from null dereference
- 1ce7fd4 virtio: virtio_console: fix DMA memory allocation for rproc serial
- 929f503 xhci: hisilicon: fix refercence leak in xhci_histb_probe
- 396d17b usb: typec: ucsi: Report power supply changes
- ebc047a usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode
- 16a38a9 Revert "usb: musb: convert to devm_platform_ioremap_resource_byname"
- f93a741 uio: Fix use-after-free in uio_unregister_device()
- 59b8482 loop: Fix occasional uevent drop
- 40ca77f block: add a return value to set_capacity_revalidate_and_notify
- bdffd69 thunderbolt: Add the missed ida_simple_remove() in ring_request_msix()
- 134b855 thunderbolt: Fix memory leak if ida_simple_get() fails in enumerate_services()
- 263a3db speakup: Fix clearing selection in safe context
- ac503b2 speakup ttyio: Do not schedule() in ttyio_in_nowait
- a57faaf speakup: Fix var_id_t values and thus keymap
- 5a7a848 KVM: arm64: Don't hide ID registers from userspace
- e2d9f3c btrfs: dev-replace: fail mount if we don't have replace item with target device
- f7a0c9f btrfs: fix min reserved size calculation in merge_reloc_root
- 9d968ee btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod
- 9608f64 btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch
- d8f2d46 ext4: unlock xattr_sem properly in ext4_inline_data_truncate()
- c315a0b ext4: correctly report "not supported" for {usr,grp}jquota when !CONFIG_QUOTA
- b49f87e erofs: derive atime instead of leaving it empty
- 877c8cb erofs: fix setting up pcluster for temporary pages
- 0c8e440 firmware: xilinx: fix out-of-bounds access
- 7dce450 perf: Fix event multiplexing for exclusive groups
- 3a5a900 perf: Simplify group_sched_in()
- e360c1e nvme: fix incorrect behavior when BLKROSET is called by the user
- 09d90db nvme: freeze the queue over ->lba_shift updates
- 9163d63 nvme: factor out a nvme_configure_metadata helper
- 159dbc4 perf: Fix get_recursion_context()
- 2ee7230 afs: Fix afs_write_end() when called with copied == 0 [ver #3]
- 9e22b87 mm: memcontrol: fix missing wakeup polling thread
- 24bd009 kernel/watchdog: fix watchdog_allowed_mask not used warning
- e533fac arm64/mm: Validate hotplug range before creating linear mapping
- 375279d lan743x: fix use of uninitialized variable
- 6fd32c7 vrf: Fix fast path output packet handling with async Netfilter rules
- 5b20684 NFS: Fix listxattr receive buffer size
- 88e215f hwmon: (applesmc) Re-work SMC comms
- b20e9cb cosa: Add missing kfree in error path of cosa_write
- e2d69c0 ch_ktls: tcb update fails sometimes
- d274cd3 ch_ktls: Update cheksum information
- 74c441a of/address: Fix of_node memory leak in of_dma_is_coherent
- 16ac78d xfs: fix a missing unlock on error in xfs_fs_map_blocks
- 99f672e lan743x: fix "BUG: invalid wait context" when setting rx mode
- 0c94a32 xfs: fix brainos in the refcount scrubber's rmap fragment processor
- 0ca9a07 xfs: fix rmap key and record comparison functions
- a58e217 xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents
- ac560d2 xfs: fix flags argument to rmap lookup when converting shared file rmaps
- d8b36e4 net: phy: realtek: support paged operations on RTL8201CP
- 9357eee lan743x: correctly handle chips with internal PHY
- 4bf509f igc: Fix returning wrong statistics
- 3fbff00 i40e: Fix MAC address setting for a VF via Host/VM
- 015be7f selftest: fix flower terse dump tests
- 270c605 nbd: fix a block_device refcount leak in nbd_release
- a8db9f3 pinctrl: qcom: sm8250: Specify PDC map
- 878bfd6 pinctrl: qcom: Move clearing pending IRQ to .irq_request_resources callback
- 89e3131 r8169: disable hw csum for short packets on all chip versions
- b579b0c r8169: fix potential skb double free in an error path
- ab68b94 bpf: Zero-fill re-used per-cpu map element
- 457e9f9 tools/bpftool: Fix attaching flow dissector
- d7cad33 NFSD: fix missing refcount in nfsd4_copy by nfsd4_do_async_copy
- 175147b NFSD: Fix use-after-free warning when doing inter-server copy
- ea2a764 SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow()
- 117fe27 net/mlx5e: Fix incorrect access of RCU-protected xdp_prog
- 4f2d4e9 net/mlx5e: Fix VXLAN synchronization after function reload
- 994298d net/mlx5: E-switch, Avoid extack error log for disabled vport
- 185f59c net/mlx5: Fix deletion of duplicate rules
- 493434d net/mlx5e: Use spin_lock_bh for async_icosq_lock
- 45b7bae net/mlx5e: Protect encap route dev from concurrent release
- 8513c3f net/mlx5e: Fix modify header actions memory leak
- 6726fbf pinctrl: aspeed: Fix GPI only function problem.
- 439bbd2 pinctrl: mcp23s08: Use full chunk of memory for regmap configuration
- 4183657 libbpf, hashmap: Fix undefined behavior in hash_bits
- 8361fb4 bpf: Don't rely on GCC attribute((optimize)) to disable GCSE
- b04c4fc ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template
- ca38e52 gpio: aspeed: fix ast2600 bank properties
- 191c52c pinctrl: intel: Set default bias in case no particular value given
- 1d8bd69 pinctrl: intel: Fix 2 kOhm bias which is 833 Ohm
- 8c676a8 mfd: sprd: Add wakeup capability for PMIC IRQ
- 8e3f68d spi: bcm2835: remove use of uninitialized gpio flags variable
- 3d916fa tpm_tis: Disable interrupts on ThinkPad T490s
- 56cbb08 i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED
- 0df649e i2c: designware: call i2c_dw_read_clear_intrbits_slave() once
- 168b746 i2c: sh_mobile: implement atomic transfers
- 1e00436 riscv: Set text_offset correctly for M-Mode
- 950fd0d arm64: kexec_file: try more regions if loading segments fails
- f3c3bb3 selftests: proc: fix warning: _GNU_SOURCE redefined
- c19e013 iomap: clean up writeback state logic on writepage error
- 756fec0 amd/amdgpu: Disable VCN DPG mode for Picasso
- 6a1d069 i2c: mediatek: move dma reset before i2c reset
- fdcbd5e vfio/pci: Bypass IGD init in case of -ENODEV
- 0fa7baa vfio: platform: fix reference leak in vfio_platform_open
- e68d368 s390/smp: move rcu_cpu_starting() earlier
- 80eed6e iommu/amd: Increase interrupt remapping table limit to 512 entries
- 2ff5a99 nvme-tcp: avoid repeated request completion
- 7594c23 nvme-rdma: avoid repeated request completion
- 21a96d9 nvme-tcp: avoid race between time out and tear down
- 987a990 nvme-rdma: avoid race between time out and tear down
- c28eec9 nvme: introduce nvme_sync_io_queues
- 19e7626 scsi: mpt3sas: Fix timeouts observed while reenabling IRQ
- 75472e4 scsi: scsi_dh_alua: Avoid crash during alua_bus_detach()
- b2a14b4 ARC: [plat-hsdk] Remap CCMs super early in asm boot trampoline
- 169a040 Revert "nvme-pci: remove last_sq_tail"
- 74c2a09 tracing: Fix the checking of stackidx in __ftrace_trace_stack
- c9ed6f0 wireguard: selftests: check that route_me_harder packets use the right sk
- 5ad6055 cfg80211: regulatory: Fix inconsistent format argument
- 70b3d98 cfg80211: initialize wdev data earlier
- 49380f3 mac80211: fix use of skb payload instead of header
- 5b02562 drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running
- c6cf534 drm/amd/pm: perform SMC reset on suspend/hibernation
- 2f8f951 drm/amd/pm: correct the baco reset sequence for CI ASICs
- 9817b11 drm/amdgpu: perform srbm soft reset always on SDMA resume
- 6ac3795 scsi: hpsa: Fix memory leak in hpsa_init_one()
- ed0983e gfs2: check for live vs. read-only file system in gfs2_fitrim
- 8c8a356 gfs2: Add missing truncate_inode_pages_final for sd_aspace
- ff838a9 gfs2: Free rd_bits later in gfs2_clear_rgrpd to fix use-after-free
- 5260e09 x86/boot/compressed/64: Introduce sev_status
- 764ec5a ALSA: hda: Reinstate runtime_allow() for all hda controllers
- a34084b ALSA: hda: Separate runtime and system suspend
- 8abbccb selftests: pidfd: fix compilation errors due to wait.h
- 01fe7be selftests/ftrace: check for do_sys_openat2 in user-memory test
- 137af56 usb: raw-gadget: fix memory leak in gadget_setup
- 766d1dc usb: gadget: goku_udc: fix potential crashes in probe
- 8ec600a opp: Reduce the size of critical section in _opp_table_kref_release()
- 5389f45 usb: dwc3: pci: add support for the Intel Alder Lake-S
- f55cfb8 ASoC: SOF: loader: handle all SOF_IPC_EXT types
- c9a05f6 ASoC: cs42l51: manage mclk shutdown delay
- 0aba453 ASoC: qcom: sdm845: set driver name correctly
- e680e74 ASoC: mediatek: mt8183-da7219: fix DAPM paths for rt1015
- 563dd2e scsi: ufs: Fix missing brace warning for old compilers
- 25e617f ath9k_htc: Use appropriate rs_datalen type
- e57867b KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return SMCCC_RET_NOT_REQUIRED
- 0821c94 tpm: efi: Don't create binary_bios_measurements file for an empty log
- 7d67ec8 USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property
- cc8570e RISC-V: Fix the VDSO symbol generaton for binutils-2.35+
- 6809b33 kbuild: explicitly specify the build id style
- f2ab816 x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP
- b585ab3 selftests: binderfs: use SKIP instead of XFAIL
- d49b1cc selftests: clone3: use SKIP instead of XFAIL
- 991efbf selftests: core: use SKIP instead of XFAIL in close_range_test.c
- d0a8729 ceph: check session state after bumping session->s_seq
- a1f25f0 PCI: mvebu: Fix duplicate resource requests
- 7db1337 spi: fsl-dspi: fix wrong pointer in suspend/resume
- 9154aa2 io_uring: ensure consistent view of original task ->mm from SQPOLL
- 29cd2f6 xfs: fix scrub flagging rtinherit even if there is no rt device
- 3aaf0ba xfs: fix missing CoW blocks writeback conversion retry
- ab39aed xfs: flush new eof page on truncate to avoid post-eof corruption
- 3591d07 can: flexcan: flexcan_remove(): disable wakeup completely
- 0bbb0a0 can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A
- ad3f9f9 can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is on
- 37cc527 can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping
- 5013cdd can: peak_usb: add range checking in decode operations
- 2c4e751 can: xilinx_can: handle failure cases of pm_runtime_get_sync
- 156a84f can: ti_hecc: ti_hecc_probe(): add missed clk_disable_unprepare() in error path
- f43d555 can: j1939: j1939_sk_bind(): return failure if netdev is down
- f210a96 can: j1939: swap addr and pgn in the send example
- 0b44ba8 can: can_create_echo_skb(): fix echo skb generation: always use skb_clone()
- f5d46eb can: dev: __can_get_echo_skb(): fix real payload length return value for RTR frames
- 87530b5 can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard IRQ context
- 1c1dfcb can: rx-offload: don't call kfree_skb() from IRQ context
- 0a444bd vfio/pci: Implement ioeventfd thread handler for contended memory lock
- 6b5164f afs: Fix incorrect freeing of the ACL passed to the YFS ACL store op
- fe64506 afs: Fix warning due to unadvanced marshalling pointer
- 98d3c3f iommu/vt-d: Fix a bug for PDP check in prq_event_thread
- 69c7632 iommu/vt-d: Fix sid not set issue in intel_svm_bind_gpasid()
- 6f87ad3 ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link()
- 9845ec2 perf tools: Add missing swap for cgroup events
- af8fd8c perf tools: Add missing swap for ino_generation
- 49c5805 perf trace: Fix segfault when trying to trace events by cgroup
- a79cf8d drm/panfrost: Fix module unload
- c983371 drm/panfrost: move devfreq_init()/fini() in device
- bffbfa6 drm/panfrost: rename error labels in device_init
- b840f06 mm: memcontrol: correct the NR_ANON_THPS counter of hierarchical memcg
- c32fe62 IB/srpt: Fix memory leak in srpt_add_one
- e12c168 drm/vc4: bo: Add a managed action to cleanup the cache
- b4ca8e9 powerpc/eeh_cache: Fix a possible debugfs deadlock
- a67c637 irqchip/sifive-plic: Fix chip_data access within a hierarchy
- 66b4345 netfilter: ipset: Update byte and packet counters regardless of whether they match
- 610c8a5 PCI: Always enable ACS even if no ACS Capability
- e4bec74 netfilter: nf_tables: missing validation from the abort path
- af9c233 netfilter: use actual socket sk rather than skb sk when routing harder
- f66f29a netfilter: nftables: fix netlink report logic in flowtable and genid
- 842be2d mac80211: don't require VHT elements for HE on 2.4 GHz
- 48510f8 xfs: set xefi_discard when creating a deferred agfl free log intent item
- 3b5c980 mtd: spi-nor: Fix address width on flash chips > 16MB
- 5b733a5 ASoC: codecs: wcd9335: Set digital gain range correctly
- 630a711 ASoC: codecs: wcd934x: Set digital gain range correctly
- 953e234 selftests: filter kselftest headers from command in lib.mk
- c4bb60a usb: gadget: fsl: fix null pointer checking
- 02bdf72 kunit: Don't fail test suites if one of them is empty
- e6ddfc0 kunit: Fix kunit.py --raw_output option
- cb5086c irqchip/sifive-plic: Fix broken irq_set_affinity() callback
- 1dfc44f spi: imx: fix runtime pm support for !CONFIG_PM
- 35b83f6 ASoC: codecs: wsa881x: add missing stream rates and format
- 2129242 net: xfrm: fix a race condition during allocing spi
- 9e4eb8c hv_balloon: disable warning when floor reached
- 5f888e2 genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY
- b87cbe5 ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function
- f294984 xfrm: interface: fix the priorities for ipip and ipv6 tunnels
- bf375d7 KVM: arm64: Force PTE mapping on fault resulting in a device mapping
- 97bfb92 nbd: don't update block size after device is started
- d71c591 mm: memcg: link page counters to root if use_hierarchy is false
- f2f4e25 drm/i915/gem: Flush coherency domains on first set-domain-ioctl
- 81a01ed drm/i915: Hold onto an explicit ref to i915_vma_work.pinned
Homepage
Download Linux 5.9.9-xanmod1 source from GitHub