Software 42837 Published by

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-xanmod

Reboot.

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

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

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

Xanmod

Homepage
Download Linux 5.9.9-xanmod1 source from GitHub