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, linux-xanmod-edge, linux-xanmod-lts, linux-xanmod-rt-edge and linux-xanmod-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.19.12-xanmod1
8155aed Linux 5.19.12-xanmod1
7a9ec0d Merge tag 'v5.19.12' into 5.19
58df6af Linux 5.19.12
547262c ext4: make directory inode spreading reflect flexbg size
cdefe8d ext4: fixup possible uninitialized variable access in ext4_mb_choose_next_group_cr1()
48a1296 Revert "block: freeze the queue earlier in del_gendisk"
398a0fd ext4: use buckets for cr 1 block scan instead of rbtree
52e8d67 ext4: use locality group preallocation for small closed files
405a609 ext4: avoid unnecessary spreading of allocations among groups
b82d312 ext4: make mballoc try target group first even with mb_optimize_scan
17eb984 ext4: limit the number of retries after discarding preallocations blocks
2f5e9de ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
034ef0c devdax: Fix soft-reservation memory description
27d5563 Makefile.debug: re-enable debug info for .S files
6ba8627 Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT
c4f8b89 certs: make system keyring depend on built-in x509 parser
c2eab6f drm/amdgpu: don't register a dirty callback for non-atomic
7f0dcbb i2c: mux: harden i2c_mux_alloc() against integer overflows
4925e5e i2c: mlxbf: Fix frequency calculation
3b5ab5f i2c: mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction()
5a7547e i2c: mlxbf: incorrect base address passed during io write
e46e177 i2c: imx: If pm_runtime_get_sync() returned 1 device access is possible
c9245ea workqueue: don't skip lockdep work dependency in cancel_work_sync()
60644df fsdax: Fix infinite loop in dax_iomap_rw()
8054beb pmem: fix a name collision
c62322e gpio: mt7621: Make the irqchip immutable
2d57e46 drm/rockchip: Fix return type of cdn_dp_connector_mode_valid
4822afc drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage
6f14c55 drm/amd/display: Reduce number of arguments of dml31's CalculateFlipSchedule()
8836e42 drm/amd/display: Reduce number of arguments of dml31's CalculateWatermarksAndDRAMSpeedChangeSupport()
88e7896 drm/amd/display: Limit user regamma to a valid value
9757b3a drm/amdgpu: Skip reset error status for psp v13_0_0
83dfcae drm/amdgpu: add HDP remap functionality to nbio 7.7
386ca67 drm/amdgpu: change the alignment size of TMR BO to 1M
8442bc8 drm/amdgpu: use dirty framebuffer helper
444574f drm/amd/pm: disable BACO entry/exit completely on several sienna cichlid cards
a5de080 gpio: ixp4xx: Make irqchip immutable
7718cac drm/gma500: Fix (vblank) IRQs not working after suspend/resume
55c077d drm/gma500: Fix WARN_ON(lock->magic != lock) error
a6ed762 drm/gma500: Fix BUG: sleeping function called from invalid context errors
9812e9e Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region
98756ca block: Do not call blk_put_queue() if gendisk allocation fails
2f092fd block: call blk_mq_exit_queue from disk_release for never added disks
47f5723 blk-mq: fix error handling in __blk_mq_alloc_disk
0d0f5ca drm/i915/display: Fix handling of enable_psr parameter
650a2e7 s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
54be62d phy: marvell: phy-mvebu-a3700-comphy: Remove broken reset support
1e95718 cgroup: cgroup_get_from_id() must check the looked-up kn is a directory
a899ba6 serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
f986bfe serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
f387ca1 serial: Create uart_xmit_advance()
dc4b06e serial: fsl_lpuart: Reset prior to registration
f3f5f26 io_uring: ensure that cached task references are always put on exit
b4b3bc3 selftests: forwarding: add shebang for sch_red.sh
32afa1f bnxt: prevent skb UAF after handing over to PTP worker
0559d91 net: sched: fix possible refcount leak in tc_new_tfilter()
9fc7a9f net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD
2c8e8ab bonding: fix NULL deref in bond_rr_gen_slave_id
6c53712 net: phy: micrel: fix shared interrupt on LAN8814
32ac8c9 net/smc: Stop the CLC flow if no link to map buffers on
56c167a ice: Fix ice_xdp_xmit() when XDP TX queue number is not sufficient
b65c533 drm/mediatek: dsi: Move mtk_dsi_stop() call back to mtk_dsi_poweroff()
6acb3e8 perf tools: Honor namespace when synthesizing build-ids
ee70361 perf kcore_copy: Do not check /proc/modules is unchanged
e71a088 perf jit: Include program header in ELF files
306c17d perf stat: Fix cpu map index in bperf cgroup code
9899269 perf stat: Fix BPF program section name
031b4f4 can: gs_usb: gs_can_open(): fix race dev->can.state condition
18979d1 gpio: tqmx86: fix uninitialized variable girq
16189cc net: sh_eth: Fix PHY state warning splat during system resume
199ddf9 net: ravb: Fix PHY state warning splat during system resume
235c47f netfilter: nf_ct_ftp: fix deadlock when nat rewrite is needed
38cf372 netfilter: ebtables: fix memory leak when blob is malformed
985b031 netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain()
8bcad2a netfilter: nf_tables: fix nft_counters_enabled underflow at nf_tables_addchain()
d8d9a69 ice: Fix interface being down after reset with link-down-on-close flag on
c14cdf1 ice: config netdev tc before setting queues number
dff2fa3 net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs
c7c9c7e net/sched: taprio: avoid disabling offload when it was never enabled
68a5def ipv6: Fix crash when IPv6 is administratively disabled
23022b7 net: enetc: deny offload of tc-based TSN features on VF interfaces
2fdebdf net: enetc: move enetc_set_psfp() out of the common enetc_set_features()
92f7d44 wireguard: netlink: avoid variable-sized memcpy on sockaddr
3b263cc wireguard: ratelimiter: disable timings test by default
a4eadca sfc/siena: fix null pointer dereference in efx_hard_start_xmit
b454f12 sfc/siena: fix TX channel offset when using legacy interrupts
c9ba294 net: ipa: properly limit modem routing table use
5066387 of: mdio: Add of_node_put() when breaking out of for_each_xx
6819720 drm/hisilicon: Add depends on MMU
6201c36 gve: Fix GFP flags when allocing pages
e969486 bnxt_en: fix flags to check for supported fw version
b3b9521 sfc: fix null pointer dereference in efx_hard_start_xmit
5f623a7 sfc: fix TX channel offset when using legacy interrupts
b6bea81 netdevsim: Fix hwstats debugfs file permissions
0b145d3 i40e: Fix set max_tx_rate when it is lower than 1 Mbps
ab1af66 i40e: Fix VF set max MTU size
2ffdf36 iavf: Fix set max MTU size with port VLAN and jumbo frames
36da184 mlxbf_gige: clear MDIO gateway lock after read
c3f9f30 iavf: Fix bad page state
3b27f82 um: fix default console kernel parameter
f8c3861 MIPS: Loongson32: Fix PHY-mode being left unspecified
7c1f237 MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko
c673c6c mm/slab_common: fix possible double free of kmem_cache
183b87c drm/panel: simple: Fix innolux_g121i1_l01 bus_format
88b08af net: team: Unsync device addresses on ndo_stop
a4761e4 net: bonding: Unsync device addresses on ndo_stop
b1b48d9 net: bonding: Share lacpdu_mcast_addr definition
38aa25a scsi: mpt3sas: Fix return value check of dma_get_required_mask()
6a4236e scsi: qla2xxx: Fix memory leak in __qlt_24xx_handle_abts()
16b5647 arm64: dts: imx8mp-venice-gw74xx: fix port/phy validation
af0c754 net: phy: aquantia: wait for the suspend/resume operations to finish
26735f3 ARM: dts: lan966x: Fix the interrupt number for internal PHYs
d5241ea arm64: dts: imx8mp-venice-gw74xx: fix ksz9477 cpu port
f675f59 arm64: dts: imx8mp-venice-gw74xx: fix CAN STBY polarity
392bd6c drm/mediatek: Fix wrong dither settings
fc8454d arm64: dts: tqma8mqml: Include phy-imx8-pcie.h header
31ce3c6 wifi: iwlwifi: Mark IWLMEI as broken
9fe1e2d net: core: fix flow symmetric hash
b583e6b ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header
0ad4e4f iavf: Fix cached head and tail value for iavf_get_tx_pending
7c945e5 ice: Fix crash by keep old cfg when update TCs more than queues
149979e ice: Don't double unplug aux on peer initiated reset
633c81c netfilter: nfnetlink_osf: fix possible bogus match in nf_osf_find()
510ea9e netfilter: nf_conntrack_irc: Tighten matching on DCC message
f28e376 netfilter: nf_conntrack_sip: fix ct_sip_walk_headers
5f394e8 arm64: dts: imx8mm-verdin: extend pmic voltages
3e39beb arm64: dts: rockchip: Remove 'enable-active-low' from rk3566-quartz64-a
efd3a3e arm64: dts: rockchip: Remove 'enable-active-low' from rk3399-puma
9350ed9 arm64: dts: rockchip: fix property for usb2 phy supply on rk3568-evb1-v10
5e6d95b arm64: dts: rockchip: fix property for usb2 phy supply on rock-3a
a17df55 dmaengine: ti: k3-udma-private: Fix refcount leak bug in of_xudma_dev_get()
869c94d arm64: dts: imx8ulp: add #reset-cells for pcc
f478a45 arm64: dts: imx8mn: remove GPU power domain reset
124c330 arm64: dts: rockchip: Set RK3399-Gru PCLK_EDP to 24 MHz
9182be0 arm64: dts: imx8mm: Reverse CPLD_Dn GPIO label mapping on MX8Menlo
164f2c7 drm/mediatek: dsi: Add atomic {destroy,duplicate}_state, reset callbacks
87d4bde arm64: dts: rockchip: Fix typo in lisense text for PX30.Core
8a906e3 arm64: dts: rockchip: Pull up wlan wake# on Gru-Bob
6b8c338 arm64: dts: rockchip: Lower sd speed on quartz64-b
daacedd firmware: arm_scmi: Fix the asynchronous reset requests
8e65edf firmware: arm_scmi: Harden accesses to the reset domains
e31fa66 batman-adv: Fix hang up with small MTU hard-interface
117737a vmlinux.lds.h: CFI: Reduce alignment of jump-table to function alignment
bb6d99e arm64: topology: fix possible overflow in amu_fie_setup()
42c7fc4 perf/arm-cmn: Add more bits to child node address offset field
7a764b4 KVM: x86: Inject #UD on emulated XSETBV if XSAVES isn't enabled
eec7221 KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES
c5f1183 KVM: x86: Reinstate kvm_vcpu_arch.guest_supported_xcr0
df6cb39 mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context.
02bcd95 mm/slub: fix to return errno if kmalloc() fails
cbaddac net: mana: Add rmb after checking owner bits
7221020 can: flexcan: flexcan_mailbox_read() fix return value for drop = true
b6c2ad6 kasan: call kasan_malloc() from _kmalloc*track_caller()
dc8864f xen/xenbus: fix xenbus_setup_ring()
f799e05 drm/i915/gem: Really move i915_gem_context.link under ref protection
92881e0 drm/i915/gem: Flush contexts on driver release
08ac125 riscv: fix RISCV_ISA_SVPBMT kconfig dependency warning
558003a riscv: fix a nasty sigreturn bug...
b148904 gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully
41f8570 gpio: mockup: Fix potential resource leakage when register a chip
af0bfab gpio: mockup: fix NULL pointer dereference when removing debugfs
74ce6f1 wifi: mt76: fix reading current per-tid starting sequence number for aggregation
1dd2a94 efi: libstub: check Shim mode using MokSBStateRT
96dc4e2 efi: x86: Wipe setup_data on pure EFI boot
7a27a04 thunderbolt: Add support for Intel Maple Ridge single port controller
d6f2814 usb: dwc3: core: leave default DMA if the controller does not support 64-bit DMA
af830c8 media: flexcop-usb: fix endpoint type check
53b48f0 libperf evlist: Fix polling of system-wide events
eecada1 btrfs: zoned: wait for extent buffer IOs before finishing a zone
c338bea btrfs: fix hang during unmount when stopping a space reclaim worker
cf7769a btrfs: fix hang during unmount when stopping block group reclaim worker
17244f7 exfat: fix overflow for large capacity partition
2e238bb iommu/vt-d: Check correct capability for sagaw determination
ecec349 ALSA: hda/realtek: Add a quirk for HP OMEN 16 (8902) mute LED
28e07bb ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop
1f65164 ALSA: hda/realtek: Add quirk for ASUS GA503R laptop
0632fb7 ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack
76b7570 ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack
2035227 ALSA: hda/realtek: Re-arrange quirk table entries
3637770 ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop
73c4ae3 ALSA: hda/realtek: Add quirk for Huawei WRT-WX9
61c19a3 ALSA: hda: add Intel 5 Series / 3400 PCI DID
d6cb6e4 ALSA: hda: Fix Nvidia dp infoframe
6e91ec5 ALSA: hda: Fix hang at HD-audio codec unbinding due to refcount saturation
abb050d ALSA: hda/tegra: set depop delay for tegra
1c5a0a1 ALSA: core: Fix double-free at snd_card_new()
e0e17c7 Revert "ALSA: usb-audio: Split endpoint setups for hw_params and prepare"
d744140 USB: serial: option: add Quectel RM520N
3db2ec3 USB: serial: option: add Quectel BG95 0x0203 composition
e82a8ff USB: core: Fix RST error in hub.c
fd0b4fd drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES
2e7eb4c scsi: core: Fix a use-after-free
d27b662 block: simplify disk shutdown
fdb28e9 block: stop setting the nomerges flags in blk_cleanup_queue
ab85cb5 block: remove QUEUE_FLAG_DEAD
633e819 xfrm: fix XFRMA_LASTUSED comment
2776911 Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio"
8039621 Revert "usb: add quirks for Lenovo OneLink+ Dock"
7c64dd4 smb3: use filemap_write_and_wait_range instead of filemap_write_and_wait
c7ae5c4 usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
9b56515 usb: add quirks for Lenovo OneLink+ Dock
0cdde84 smb3: fix temporary data corruption in insert range
49523a4 smb3: fix temporary data corruption in collapse range
cc914c3 smb3: Move the flush out of smb2_copychunk_range() into its callers
f6bb739 drm/i915/dsi: fix dual-link DSI backlight and CABC ports for display 11+
d9d2625 drm/i915/dsi: filter invalid backlight and CABC ports
fc6aff9 drm/i915/bios: Split VBT data into per-panel vs. global parts
2af21ae drm/i915/bios: Split VBT parsing to global vs. panel specific parts
5da3f1b drm/i915/bios: Split parse_driver_features() into two parts
ad719d5 drm/i915/pps: Split pps_init_delays() into distinct parts
a0f7cdd drm/i915: Extract intel_edp_fixup_vbt_bpp()
Homepage
Download Linux 5.19.12-xanmod1 source from GitHub
A new XanMod Linux Kernel based on the new Linux Kernel 5.19.12 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.