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.15.63-xanmod1
9bb3c32 Linux 5.15.63-xanmod1
a99316b Merge tag 'v5.15.63' into 5.15
addc900 Linux 5.15.63
b92be74 xfs: reject crazy array sizes being fed to XFS_IOC_GETBMAP*
1350a4c xfs: revert "xfs: actually bump warning counts when we send warnings"
12689d9 xfs: fix soft lockup via spinning in filestream ag selection loop
bbc256b xfs: fix overfilling of reserve pool
90f4146 xfs: always succeed at setting the reserve pool size
07e17dc xfs: remove infinite loop when reserving free block pool
130b596 xfs: reserve quota for target dir expansion when renaming files
5e7f687 xfs: reserve quota for dir expansion when linking/unlinking files
139e6fc xfs: flush inodegc workqueue tasks before cancel
d66d392 scsi: ufs: ufs-mediatek: Fix build error and type mismatch
1a9f541 can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once()
e740363 MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0
e740e78 video: fbdev: i740fb: Check the argument of i740_calc_vclk()
0bdec5e venus: pm_helpers: Fix warning in OPP during probe
e3c9e94 powerpc/64: Init jump labels before parse_early_param()
ecdba23 smb3: check xattr value length earlier
3c20113 f2fs: fix to do sanity check on segment type in build_sit_entries()
5a01e45 f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page()
3895d35 ALSA: control: Use deferred fasync helper
409e6a7 ALSA: timer: Use deferred fasync helper
60110fd ALSA: core: Add async signal helpers
a5ec4cd powerpc/ioda/iommu/debugfs: Generate unique debugfs entries
8641e0b ovl: warn if trusted xattr creation fails
0480540 powerpc/32: Don't always pass -mcpu=powerpc to the compiler
3d5d2dc powerpc/32: Set an IBAT covering up to _einittext during init
6568e52 watchdog: export lockup_detector_reconfigure
c5a8d05 RISC-V: Add fast call path of crash_kexec()
64f94e6 riscv: mmap with PROT_WRITE but no PROT_READ is invalid
e751030 riscv: dts: canaan: Add k210 topology information
2306947 riscv: dts: sifive: Add fu740 topology information
21d7843 ASoC: rsnd: care default case on rsnd_ssiu_busif_err_irq_ctrl()
9774b96 modules: Ensure natural alignment for .altinstructions and _bug_table sections
2097c78 iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit
7822d99 mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start
c983edb vfio: Clear the caps->buf to NULL after free
a1d8021 KVM: PPC: Book3S HV: Fix "rm_exit" entry in debugfs timings
17c3254 tty: serial: Fix refcount leak bug in ucc_uart.c
ce0432a lib/list_debug.c: Detect uninitialized lists
72b850a ext4: avoid resizing to a partial cluster size
0e734f9 ext4: avoid remove directory when directory is corrupted
d9b94c3 drivers:md:fix a potential use-after-free bug
a600ed2 nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown
e59ef9b md: Notify sysfs sync_completed in md_reap_sync_thread()
2dc9615 phy: samsung: phy-exynos-pcie: sanitize init/power_on callbacks
405ea6d openrisc: io: Define iounmap argument as volatile
d1fc64b dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed
d0e2b8e selftests/kprobe: Do not test for GRP/ without event failures
3645ed6 csky/kprobe: reclaim insn_slot on kprobe unregistration
fda4bff RDMA/rxe: Limit the number of calls to each tasklet
54aa6c4 dmaengine: dw-axi-dmac: ignore interrupt if no descriptor
af76e6f dmaengine: dw-axi-dmac: do not print NULL LLI during error
e799817 um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups
405f655 PCI/ACPI: Guard ARM64-specific mcfg_quirks
addff63 cxl: Fix a memory leak in an error handling path
5e24cd7 pinctrl: intel: Check against matching data instead of ACPI companion
67b5870 mmc: tmio: avoid glitches when resetting
0f59165 habanalabs/gaudi: mask constant value before cast
b09e5ab habanalabs/gaudi: fix shift out of bounds
1693fe9 coresight: etm4x: avoid build failure with unrolled loops
94aadba gadgetfs: ep_io - wait until IRQ finishes
9c8e2e6 scsi: lpfc: Fix possible memory leak when failing to issue CMF WQE
b92506d scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input
0af01d2 clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description
2504102 zram: do not lookup algorithm in backends table
50de504 uacce: Handle parent device removal or parent driver module rmmod
17d5849 clk: qcom: ipq8074: dont disable gcc_sleep_clk_src
348274a vboxguest: Do not use devm for irq
b9c31d4 usb: dwc2: gadget: remove D+ pull-up while no vbus with usb-role-switch
fbdbd61 usb: renesas: Fix refcount leak bug
0fc62bb usb: host: ohci-ppc-of: Fix refcount leak bug
4d6bab8 scsi: ufs: ufs-mediatek: Fix the timing of configuring device regulators
35c3ec7 clk: ti: Stop using legacy clkctrl names for omap4 and 5
00c274b drm/meson: Fix overflow implicit truncation warnings
b01d6bf irqchip/tegra: Fix overflow implicit truncation warnings
4996809 PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
fb76cdd usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info
de6aa7a usb: gadget: uvc: calculate the number of request depending on framesize
8e14274 usb: cdns3: fix random warning message when driver load
c3c1dba usb: cdns3 fix use-after-free at workaround 2
08c0a77 platform/chrome: cros_ec_proto: don't show MKBP version if unsupported
da56759 PCI: Add ACS quirk for Broadcom BCM5750x NICs
6fc955b HID: multitouch: new device class fix Lenovo X12 trackpad sticky
57b5be2 KVM: arm64: Reject 32bit user PSTATE on asymmetric systems
cb332a6 KVM: arm64: Treat PMCR_EL1.LC as RES1 on asymmetric systems
c682fb7 net: qrtr: start MHI channel after endpoit creation
98e28de drm/sun4i: dsi: Prevent underflow when computing packet sizes
fe71d84 drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors()
6ee1310 ASoC: SOF: Intel: hda: Fix potential buffer overflow by snprintf()
3142b5f ASoC: SOF: Intel: hda: Define rom_status_reg in sof_intel_dsp_desc
88db4a2 drm/imx/dcss: get rid of HPD warning message
1c7e569 tracing/eprobes: Fix reading of string fields
8304264 gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file
a2cafe2 kbuild: fix the modules order between drivers and libs
8ee44ab igb: Add lock to avoid data race
4712953 stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove()
334554a fec: Fix timer capture timing in fec_ptp_enable_pps()
c56e1fc i40e: Fix to stop tx_timeout recovery if GLOBR fails
bd1fd0a regulator: pca9450: Remove restrictions for regulator-name
09e512a i2c: imx: Make sure to unregister adapter on remove()
b4ac119 ice: Ignore EEXIST when setting promisc mode
e84c632 net: dsa: sja1105: fix buffer overflow in sja1105_setup_devlink_regions()
caa80c1 net: dsa: don't warn in dsa_port_set_state_now() when driver doesn't support it
b067289 net: genl: fix error path memory leak in policy dumping
232fab5 net: dsa: felix: fix ethtool 256-511 and 512-1023 TX packet counters
29c5956 net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry
ffb1559 net: fix potential refcount leak in ndisc_router_discovery()
c7118a5 net: moxa: pass pdev instead of ndev to DMA functions
a44a1a1 mlxsw: spectrum: Clear PTP configuration after unregistering the netdevice
dd236b6 net: dsa: mv88e6060: prevent crash on an unused port
c0434f0 net/sunrpc: fix potential memory leaks in rpc_sysfs_xprt_state_change()
dd32ea3 spi: meson-spicc: add local pow2 clock ops to preserve rate between messages
1d9e75c powerpc/pci: Fix get_phb_number() locking
e58d1a9 netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified
7ac21b9 netfilter: nf_tables: disallow NFT_SET_ELEM_CATCHALL and NFT_SET_ELEM_INTERVAL_END
0df32f4 netfilter: nf_tables: NFTA_SET_ELEM_KEY_END requires concat and interval flags
46f64e6 netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag
8a6775e netfilter: nf_tables: really skip inactive sets when allocating name
b59bee8 netfilter: nf_tables: possible module reference underflow in error path
3be4d59 netfilter: nf_tables: disallow NFTA_SET_ELEM_KEY_END with NFT_SET_ELEM_INTERVAL_END flag
81dcb3b fs/ntfs3: uninitialized variable in ntfs_set_acl_ex()
8a38a73 netfilter: nf_tables: use READ_ONCE and WRITE_ONCE for shared generation id access
cacdddf ASoC: codec: tlv320aic32x4: fix mono playback via I2S
18b5a57 ASoC: tas2770: Fix handling of mute/unmute
8eab210 ASoC: tas2770: Drop conflicting set_bias_level power setting
0a63bc2 ASoC: tas2770: Allow mono streams
480bf1e ASoC: tas2770: Set correct FSYNC polarity
b318b9d ASoC: SOF: debug: Fix potential buffer overflow by snprintf()
743dc43 iavf: Fix reset error handling
dab6b55 iavf: Fix adminq error handling
8af269e nios2: add force_successful_syscall_return()
c9f78de nios2: restarts apply only to the first sigframe we build...
3bee7b7 nios2: fix syscall restart checks
f794d1f nios2: traced syscall does need to check the syscall number
80cae5d nios2: don't leave NULLs in sys_call_table[]
35d5fd7 nios2: page fault et.al. are not restartable syscalls...
c293e8a fs/ntfs3: Fix missing i_op in ntfs_read_mft
efdcf4d fs/ntfs3: Do not change mode if ntfs_set_ea failed
78e4aeb fs/ntfs3: Fix double free on remount
8feb848 fs/ntfs3: Don't clear upper bits accidentally in log_replay()
8e8e1a8 fs/ntfs3: Fix NULL deref in ntfs_update_mftmirr
ecda80a fs/ntfs3: Fix using uninitialized value n when calling indx_read
69979b5 dpaa2-eth: trace the allocated address instead of page struct
f39b424 perf tests: Fix Track with sched_switch test for hybrid case
5958ef8 perf parse-events: Fix segfault when event parser gets an error
e8ab875 perf probe: Fix an error handling path in 'parse_perf_probe_command()'
51471b6 geneve: fix TOS inheriting for ipv4
a5d7ce0 atm: idt77252: fix use-after-free bugs caused by tst_timer
75b8101 xen/xenbus: fix return type in xenbus_file_read()
d98b50d nfp: ethtool: fix the display error of ethtool -m DEVNAME
5c21186 NTB: ntb_tool: uninitialized heap data in tool_fn_write()
cffd1ce tools build: Switch to new openssl API for test-libcrypto
86ff544 kbuild: dummy-tools: avoid tmpdir leak in dummy gcc
f546faa ceph: don't leak snap_rwsem in handle_cap_grant
3e7ee4d tools/vm/slabinfo: use alphabetic order when two values are equal
d27e183 ceph: use correct index when encoding client supported features
e49c178 spi: dt-bindings: zynqmp-qspi: add missing 'required'
b847ea5 spi: dt-bindings: cadence: add missing 'required'
506fc3c dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources
4e96aa5 dt-bindings: arm: qcom: fix MSM8994 boards compatibles
5aa6548 dt-bindings: arm: qcom: fix MSM8916 MTP compatibles
e7a0e9e dt-bindings: arm: qcom: fix Longcheer L8150 compatibles
3632c64 dt-bindings: gpio: zynq: Add missing compatible strings
52d8f48 vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout()
e4c0428 vsock: Fix memory leak in vsock_connect()
38b2ab9 plip: avoid rcu debug splat
133a08a ipv6: do not use RT_TOS for IPv6 flowlabel
5c9e5c4 mlx5: do not use RT_TOS for IPv6 flowlabel
02b2b73 geneve: do not use RT_TOS for IPv6 flowlabel
f150c1f ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool
06337b9 octeontx2-af: Fix key checking for source mac
dc5be2d octeontx2-af: Fix mcam entry resource leak
f9a36fa octeontx2-af: suppress external profile loading warning
e0fe6aa octeontx2-af: Apply tx nibble fixup always
17c3ea7 octeontx2-pf: Fix NIX_AF_TL3_TL2X_LINKX_CFG register configuration
0a02159 Input: exc3000 - fix return value check of wait_for_completion_timeout
a4a9456 pinctrl: qcom: sm8250: Fix PDC map
fed2247 pinctrl: sunxi: Add I/O bias setting for H6 R-PIO
be82dc0 pinctrl: amd: Don't save/restore interrupt status and wake status bits
c1c7a7c pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed
9272265 pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map
79eb8e9 dt-bindings: arm: qcom: fix Alcatel OneTouch Idol 3 compatibles
8b7bf35 selftests: forwarding: Fix failing tests with old libnet
c506c9a net: bgmac: Fix a BUG triggered by wrong bytes_compl
eb2d9dc net: bcmgenet: Indicate MAC is in charge of PHY PM
47ac7b2 net: phy: Warn about incorrect mdio_bus_phy_resume() state
c4d09fd devlink: Fix use-after-free after a failed reload
d3723ea virtio_net: fix memory leak inside XPD_TX with mergeable
9721e23 SUNRPC: Reinitialise the backchannel request buffers before reuse
d3c262f SUNRPC: Fix xdr_encode_bool()
63e921d sunrpc: fix expiry of auth creds
3f16630 m68k: coldfire/device.c: protect FLEXCAN blocks
422a02a net: atlantic: fix aq_vec index out of range error
98dc8fb can: j1939: j1939_session_destroy(): fix memory leak of skbs
890aba5 can: mcp251x: Fix race condition on receive interrupt
6648647 bpf: Check the validity of max_rdwr_access for sock local storage map iterator
03ca12e bpf: Acquire map uref in .init_seq_private for sock{map,hash} iterator
e51b568 bpf: Acquire map uref in .init_seq_private for sock local storage map iterator
2f56304 bpf: Acquire map uref in .init_seq_private for hash map iterator
370805f bpf: Acquire map uref in .init_seq_private for array map iterator
18a994e bpf: Don't reinit map value in prealloc_lru_pop
41fd6cc BPF: Fix potential bad pointer dereference in bpf_sys_bpf()
a4cf3da NFSv4/pnfs: Fix a use-after-free bug in open
1e9fd95 NFSv4.1: RECLAIM_COMPLETE must handle EACCES
281c6a4 NFSv4: Fix races in the legacy idmapper upcall
b32780c NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly
0696115 NFSv4.1: Don't decrease the value of seq_nr_highest_sent
6aea903 Documentation: ACPI: EINJ: Fix obsolete example
bf7ebeb apparmor: Fix memleak in aa_simple_write_to_buffer()
64103ea apparmor: fix reference count leak in aa_pivotroot()
c62f2f5 apparmor: fix overlapping attachment computation
e89b95f apparmor: fix setting unconfined mode on a loaded profile
3104c8a apparmor: fix aa_label_asxprint return check
a683a0d apparmor: Fix failed mount permission check error message
31b35b6 apparmor: fix absroot causing audited secids to begin with =
017b0ea apparmor: fix quiet_denied for file rules
8bc5ed7 can: ems_usb: fix clang's -Wunaligned-access warning
43ae966 dt-bindings: usb: mtk-xhci: Allow wakeup interrupt-names to be optional
2294f43 ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II
2fb8f62 tracing: Have filter accept "common_cpu" to be consistent
dac2b60 tracing/probes: Have kprobes and uprobes use $COMM too
b489aca tracing/eprobes: Have event probes be consistent with kprobes and uprobes
a11ce7b tracing/eprobes: Do not hardcode $comm as a string
ba53c21 tracing/eprobes: Do not allow eprobes to use $stack, or % for regs
0d7970e tracing/perf: Fix double put of trace event when init fails
14674e4 x86/kprobes: Fix JNG/JNLE emulation
860efae cifs: Fix memory leak on the deferred close
6379a9a btrfs: fix lost error handling when looking up extended ref on log replay
7ac430e btrfs: reset RO counter on block group if we fail to relocate
78f8c23 btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
d8fc9df mmc: meson-gx: Fix an error handling path in meson_mmc_probe()
6c4541d mmc: pxamci: Fix an error handling path in pxamci_probe()
8b7ed38 mmc: pxamci: Fix another error handling path in pxamci_probe()
23179d5 ata: libata-eh: Add missing command name
82a27c1 drm/amd/display: Check correct bounds for stream encoder instances for DCN303
76672cd drm/ttm: Fix dummy res NULL ptr deref bug
016b714 drm/nouveau: recognise GA103
1b7e048 locking/atomic: Make test_and*_bit() ordered on failure
852f6a7 rds: add missing barrier to release_refill
d26beb9 x86/mm: Use proper mask when setting PUD mapping
177bf35 KVM: Unconditionally get a ref to /dev/kvm module when creating a VM
e9a6a3b ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU
5d396df ALSA: info: Fix llseek return value when using callback
Homepage
Download Linux 5.15.63-xanmod1 source from GitHub
A new XanMod Linux Kernel based on the new Linux Kernel 5.15.63 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.