A new XanMod Linux Kernel based on the latest Linux Kernel 5.12.18 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, 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.12.18-xanmod1
- a44f7e4 Linux 5.12.18-xanmod1
- 8aba0e5 net-tcp_bbr: v2: Fix missing ECT markings on retransmits for BBRv2
- fb88fe8 char/lrng: add power-on and runtime self-tests
- 90a9c88 char/lrng: add interface for gathering of raw entropy
- 8f550b4 char/lrng: add SP800-90B compliant health tests
- 6c4f8a6 char/lrng: add Jitter RNG fast noise source
- 4168f15 crypto: provide access to a static Jitter RNG state
- d78819d char/lrng: add kernel crypto API PRNG extension
- 4c1f81c char/lrng: add SP800-90A DRBG extension
- fa33bae crypto: drbg - externalize DRBG functions for LRNG
- ff1a752 char/lrng: add common generic hash support
- bf0d1a4 char/lrng: add switchable DRNG support
- 3f5701e char/lrng: sysctls and /proc interface
- c04fdfb char/lrng: allocate one DRNG instance per NUMA node
- 7393894 drivers: Introduce the Linux Random Number Generator
- 752d16b Merge tag 'v5.12.18' into 5.12
- 094d3b8 Linux 5.12.18
- 79fa5d9 f2fs: fix to avoid racing on fsync_entry_slab by multi filesystem instances
- cecfdb9 ext4: fix memory leak in ext4_fill_super
- 8f5c773 smackfs: restrict bytes count in smk_set_cipso()
- dc02c0b media: v4l2-core: explicitly clear ioctl input data
- 3bb27e2 jfs: fix GPF in diFree
- d6397b2 drm/ast: Remove reference to struct drm_device.pdev
- 1fce6e0 pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq()
- 0b5187d dm writecache: write at least 4k when committing
- 31afeb3 media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K
- d32b50d media: gspca/sunplus: fix zero-length control requests
- 1e84566 media: gspca/sq905: fix control-request direction
- b02785d media: ccs: Fix the op_pll_multiplier address
- 5f3f81f media: zr364xx: fix memory leak in zr364xx_start_readpipe
- bfd4085 media: dtv5100: fix control-request directions
- 577fc6b media: i2c: ccs-core: fix pm_runtime_get_sync() usage count
- 35781af media: subdev: disallow ioctl for saa6588/davinci
- fe79e66 PCI: aardvark: Implement workaround for the readback value of VEND_ID
- 10c996f PCI: aardvark: Fix checking for PIO Non-posted Request
- f66742a PCI: Leave Apple Thunderbolt controllers on for s2idle or standby
- 89bf942 dm btree remove: assign new_root only when removal succeeds
- 3c3555e dm writecache: flush origin device when writing and cache is full
- 70eccda dm zoned: check zone capacity
- 733d4d9 coresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer()
- 8c2cbe4 coresight: Propagate symlink failure
- d5a93f9 ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe
- 8aa6b63 tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT
- a61bd69 tracing: Simplify & fix saved_tgids logic
- bb86f78 rq-qos: fix missed wake-ups in rq_qos_throttle try two
- 681f785 seq_buf: Fix overflow in seq_buf_putmem_hex()
- ec0fd4a lkdtm: Enable DOUBLE_FAULT on all architectures
- c111003 extcon: intel-mrfld: Sync hardware and software state on init
- 8162756 selftests/lkdtm: Fix expected text for CR4 pinning
- 4821ae1 lkdtm/bugs: XFAIL UNALIGNED_LOAD_STORE_WRITE
- 817aef3 nvmem: core: add a missing of_node_put
- c89383d mfd: syscon: Free the allocated name field of struct regmap_config
- c0d7a6d power: supply: ab8500: Fix an old bug
- 9558612 ubifs: Fix races between xattr_{set|get} and listxattr operations
- b15df2c thermal/drivers/int340x/processor_thermal: Fix tcc setting
- aedf0cc ipmi/watchdog: Stop watchdog timer when the current action is 'none'
- 5462ced qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute
- d5db49d i40e: fix PTP on 5Gb links
- a3041d3 mwifiex: bring down link before deleting interface
- 5ef454b ASoC: tegra: Set driver_name=tegra for all machine drivers
- 687f85f fpga: stratix10-soc: Add missing fpga_mgr_free() call
- bc3a891 clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround
- 04315bb cpu/hotplug: Cure the cpusets trainwreck
- 782d1be arm64: tlb: fix the TTL value of tlb_get_level
- 42f4f4e ata: ahci_sunxi: Disable DIPM
- bd75e12 docs: Makefile: Use CONFIG_SHELL not SHELL
- 10614cf mmc: core: Allow UHS-I voltage switch for SDSC cards if supported
- d03f3a9 mmc: core: clear flags before allowing to retune
- bc84caf mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode
- 1b4dab0 mmc: sdhci-acpi: Disable write protect detection on Toshiba Encore 2 WT8-B
- e4af7e1 drm/i915/display: Do not zero past infoframes.vsc
- 1dac131 drm/ingenic: Switch IPU plane to type OVERLAY
- a22fd2f drm/nouveau: Don't set allow_fb_modifiers explicitly
- 1a95f72 drm/arm/malidp: Always list modifiers
- fb98956 drm/msm/mdp4: Fix modifier support enabling
- 38c498b drm/tegra: Don't set allow_fb_modifiers explicitly
- 631fda5 drm/ingenic: Fix pixclock rate for 24-bit serial panels
- 0797b0c drm/amd/display: Reject non-zero src_y and src_x for video planes
- bbc0763 pinctrl/amd: Add device HID for new AMD GPIO controller
- cef84c2 drm/amd/display: fix incorrrect valid irq check
- 89622c6 drm/rockchip: dsi: remove extra component_del() call
- 9a2089c drm/dp: Handle zeroed port counts in drm_dp_read_downstream_info()
- b2f4b48 drm/vc4: hdmi: Prevent clock unbalance
- 3129398 drm/vc4: crtc: Skip the TXP
- d6bd53d drm/vc4: txp: Properly set the possible_crtcs mask
- 4557db5 drm/radeon: Call radeon_suspend_kms() in radeon_pci_shutdown() for Loongson64
- 454db21 drm/radeon: Add the missed drm_gem_object_put() in radeon_user_framebuffer_create()
- 72270f5 drm/amdgpu: fix the hang caused by PCIe link width switch
- 03cbd6e drm/amdgpu: fix NAK-G generation during PCI-e link width switch
- b6f4e13 drm/amdgpu: enable sdma0 tmz for Raven/Renoir(V2)
- 51f413b drm/amdgpu: Update NV SIMD-per-CU to 2
- d865931 drm/amdgpu: add new dimgrey cavefish DID
- b68617d powerpc/powernv/vas: Release reference to tgid during window close
- 6acd31d powerpc/barrier: Avoid collision with clang's __lwsync macro
- 500f81c powerpc/mm: Fix lockup on kernel exec fault
- 864c4d1 mm/mremap: hold the rmap lock in write mode when moving page table entries.
- 5004df9 MIPS: MT extensions are not available on MIPS32r1
- e33ab8f selftests/resctrl: Fix incorrect parsing of option "-t"
- cf7a26f PCI: tegra194: Fix host initialization during resume
- 05e2e58 MIPS: CI20: Reduce clocksource to 750 kHz.
- 0b1ae75 MIPS: set mips32r5 for virt extensions
- 5e5c4ed MIPS: loongsoon64: Reserve memory below starting pfn to prevent Oops
- 603f0ee sctp: add size validation when walking chunks
- d91adac sctp: validate from_addr_param return
- 466ff3d flow_offload: action should not be NULL when it is referenced
- 4829887 bpf: Fix false positive kmemleak report in bpf_ringbuf_area_alloc()
- 718aa77 sched/fair: Ensure _sum and _avg values stay consistent
- 3bb702c Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc.
- 6e55630 Bluetooth: btusb: use default nvm if boardID is 0 for wcn6855.
- 4642d5a Bluetooth: mgmt: Fix the command returns garbage parameter value
- 0bfdcf8 Bluetooth: btusb: Add support USB ALT 3 for WBS
- a280eb5 Bluetooth: L2CAP: Fix invalid access on ECRED Connection response
- a1b0c1b Bluetooth: L2CAP: Fix invalid access if ECRED Reconfigure fails
- e96000e Bluetooth: btusb: Add a new QCA_ROME device (0cf3:e500)
- 9d9371a Bluetooth: Shutdown controller after workqueues are flushed or cancelled
- fc98840 Bluetooth: Fix alt settings for incoming SCO with transparent coding format
- 7c11f1a Bluetooth: Fix the HCI to MGMT status conversion table
- 0c6b826 Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip.
- f4f553d RDMA/cma: Fix rdma_resolve_route() memory leak
- fd2086a net: ip: avoid OOM kills with large UDP sends over loopback
- 0a3f85d net: retrieve netns cookie via getsocketopt
- a5a7e40 media, bpf: Do not copy more entries than user space requested
- 4ecd925 IB/isert: Align target max I/O size to initiator size
- 5526c29 mac80211: Properly WARN on HW scan before restart
- 2be6f2c mac80211_hwsim: add concurrent channels scanning support over virtio
- 527a234 mac80211: consider per-CPU statistics if present
- ccedf81 cfg80211: fix default HE tx bitrate mask in 2G band
- 10db827 wireless: wext-spy: Fix out-of-bounds warning
- ea26006 sfc: error code if SRIOV cannot be disabled
- 639a87f sfc: avoid double pci_remove of VFs
- 55ece34 rtw88: add quirks to disable pci capabilities
- a73056e rtw88: 8822c: update RF parameter tables to v62
- faca9d7 iwlwifi: pcie: fix context info freeing
- e263cf8 iwlwifi: pcie: free IML DMA memory allocation
- 2eecd2a iwlwifi: mvm: fix error print when session protection ends
- d4ffbb5 iwlwifi: mvm: apply RX diversity per PHY context
- 79d22d8 iwlwifi: mvm: don't change band on bound PHY contexts
- 468e971 RDMA/rxe: Don't overwrite errno from ib_umem_get()
- b9596c4 drm/amd/display: Fix edp_bootup_bl_level initialization issue
- 04d239c vsock: notify server to shutdown when client has pending signal
- f6e2c03 atm: nicstar: register the interrupt handler in the right place
- b091ee4 atm: nicstar: use 'dma_free_coherent' instead of 'kfree'
- a45a281 net: fec: add ndo_select_queue to fix TX bandwidth fluctuations
- 96922e5 net: fec: add FEC_QUIRK_HAS_MULTI_QUEUES represents i.MX6SX ENET IP
- 5067a57 MIPS: add PMD table accounting into MIPS'pmd_alloc_one
- 454561d rtl8xxxu: Fix device info for RTL8192EU devices
- 7fc5075 mt76: fix iv and CCMP header insertion
- b47a817 mt76: mt7915: fix IEEE80211_HE_PHY_CAP7_MAX_NC for station mode
- 41a83ff mt76: mt7915: fix tssi indication field of DBDC NICs
- 626eeee drm/amdkfd: Walk through list with dqm lock hold
- f1426a3 drm/amdgpu: fix bad address translation for sienna_cichlid
- 7750917 io_uring: fix false WARN_ONCE
- e1e22d6 net: sched: fix error return code in tcf_del_walker()
- e81327f net: ipa: Add missing of_node_put() in ipa_firmware_load()
- 550ec6e net: fix mistake path for netdev_features_strings
- ec61639 mt76: dma: use ieee80211_tx_status_ext to free packets when tx fails
- 9965aeb mt76: mt7615: fix fixed-rate tx status reporting
- 6ee85a8 ice: mark PTYPE 2 as reserved
- facedf3 ice: fix incorrect payload indicator on PTYPE
- 1aefd03 bpf: Fix up register-based shifts in interpreter to silence KUBSAN
- ca9080b net: hsr: don't check sequence number if tag removal is offloaded
- 0cbc490 drm/amdkfd: Fix circular lock in nocpsch path
- ade6d90 drm/amdkfd: fix circular locking on get_wave_state
- 87b509e cw1200: add missing MODULE_DEVICE_TABLE
- 302e2ee wl1251: Fix possible buffer overflow in wl1251_cmd_scan
- 0139a3e wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP
- f28319b dm writecache: commit just one block, not a full page
- e0c4089 xfrm: Fix error reporting in xfrm_state_construct.
- 57ee84c ibmvnic: fix kernel build warnings in build_hdr_descs_arr
- 9c1cb75 drm/amd/display: Verify Gamma & Degamma LUT sizes in amdgpu_dm_atomic_check
- 126b84c r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM
- c90b7af selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC
- 8d5869e fjes: check return value after calling platform_get_resource()
- 80c6bf3 drm/amdkfd: use allowed domain for vmbo validation
- 86b14cf net: sgi: ioc3-eth: check return value after calling platform_get_resource()
- ff6a312 selftests: Clean forgotten resources as part of cleanup()
- c572833 net: phy: realtek: add delay to fix RXC generation issue
- 76ea18d drm/amd/display: Fix crash during MPO + ODM combine mode recalculation
- 0620797 drm/amd/display: Fix off-by-one error in DML
- 6944bdf drm/amd/display: Set DISPCLK_MAX_ERRDET_CYCLES to 7
- 85c4c34 drm/amd/display: Release MST resources on switch from MST to SST
- 75ddbd6 drm/amd/display: Update scaling settings on modeset
- abfab40 drm/amd/display: Fix DCN 3.01 DSCCLK validation
- 703bd79 net: moxa: Use devm_platform_get_and_ioremap_resource()
- e8a7912 net: micrel: check return value after calling platform_get_resource()
- 6a9e872 net: mvpp2: check return value after calling platform_get_resource()
- 3cc9143 net: bcmgenet: check return value after calling platform_get_resource()
- 662ab47 net: mscc: ocelot: check return value after calling platform_get_resource()
- bd05367 virtio_net: Remove BUG() to avoid machine dead
- e0f4f7c ice: fix clang warning regarding deadcode.DeadStores
- b4b702a ice: set the value of global config lock timeout longer
- f58b297 pinctrl: mcp23s08: fix race condition in irq handler
- d822ddd net: bridge: mrp: Update ring transitions.
- 23247b7 block: introduce BIO_ZONE_WRITE_LOCKED bio flag
- e28f003 dm: Fix dm_accept_partial_bio() relative to zone management commands
- 9a33eb7 dm writecache: don't split bios when overwriting contiguous cache content
- c56d8fd dm space maps: don't reset space map allocation cursor when committing
- 945c596 RDMA/cxgb4: Fix missing error code in create_qp()
- cbccd95 net: tcp better handling of reordering then loss cases
- a978659 clk: tegra: tegra124-emc: Fix clock imbalance in emc_set_timing()
- b8d48f6 drm/amdgpu: remove unsafe optimization to drop preamble ib
- 44c7c90 drm/amd/display: Avoid HDCP over-read and corruption
- 56f0b2c drm/amdgpu: fix sdma firmware version error in sriov
- 2cf9f11 MIPS: ingenic: Select CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER
- 0993df9 MIPS: cpu-probe: Fix FPU detection on Ingenic JZ4760(B)
- 478ec08 ipv6: use prandom_u32() for ID generation
- 3133e01 virtio-net: Add validation for used length
- d237ba1 drm: bridge: cdns-mhdp8546: Fix PM reference leak in
- aada9ae clk: tegra: Ensure that PLLU configuration is applied properly
- c6de096 clk: tegra: Fix refcounting of gate clocks
- 9f5e2a9 RDMA/rtrs: Change MAX_SESS_QUEUE_DEPTH
- 33afce9 net: stmmac: the XPCS obscures a potential "PHY not found" error
- 095a29a drm: rockchip: add missing registers for RK3066
- f1cc8f4 drm: rockchip: add missing registers for RK3188
- 5d53846 net/mlx5: Fix lag port remapping logic
- bc957aa net/mlx5e: IPsec/rep_tc: Fix rep_tc_update_skb drops IPsec packet
- 48ad716 drm/amd/display: fix odm scaling
- 0cec9f3 clk: renesas: r8a77995: Add ZA2 clock
- cf27261 drm/bridge: cdns: Fix PM reference leak in cdns_dsi_transfer()
- 3e42c53 igb: fix assignment on big endian machines
- e8c6f44 igb: handle vlan types with checker enabled
- c859481 e100: handle eeprom as little endian
- 95fc2f6 drm/vc4: hdmi: Fix PM reference leak in vc4_hdmi_encoder_pre_crtc_co()
- 487e2ee drm/vc4: Fix clock source for VEC PixelValve on BCM2711
- 7a9bfd7 net: xilinx_emaclite: Do not print real IOMEM pointer
- aebed6b udf: Fix NULL pointer dereference in udf_symlink function
- a8e23e3 drm/sched: Avoid data corruptions
- 61982a4 drm/scheduler: Fix hang when sched_entity released
- 1461028 pinctrl: equilibrium: Add missing MODULE_DEVICE_TABLE
- abb8d19 net/sched: cls_api: increase max_reclassify_loop
- 1a115b9 net: mdio: provide shim implementation of devm_of_mdiobus_register
- 7f1e98e drm/virtio: Fix double free on probe failure
- a634477 reiserfs: add check for invalid 1st journal block
- 21b5d04 drm/bridge: lt9611: Add missing MODULE_DEVICE_TABLE
- 87da344 net: mdio: ipq8064: add regmap config to disable REGCACHE
- 64fd9a3 drm/mediatek: Fix PM reference leak in mtk_crtc_ddp_hw_init()
- ccc68b5 net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT
- 2f958b6 atm: nicstar: Fix possible use-after-free in nicstar_cleanup()
- 61370ff mISDN: fix possible use-after-free in HFC_cleanup()
- b58d246 atm: iphase: fix possible use-after-free in ia_module_exit()
- 4531ba2 hugetlb: clear huge pte during flush function on mips platform
- e5d1c22 clk: renesas: rcar-usb2-clock-sel: Fix error handling in .probe()
- 9a4c16e drm/amd/display: fix use_max_lb flag for 420 pixel formats
- a1fb1b9 drm/amdgpu: change the default timeout for kernel compute queues
- ae413d1 net: pch_gbe: Use proper accessors to BE data in pch_ptp_match()
- 82e97ea drm/bridge: nwl-dsi: Force a full modeset when crtc_state->active is changed to be true
- 7566dd5 drm/vc4: fix argument ordering in vc4_crtc_get_margins()
- d819e97 drm/amd/amdgpu/sriov disable all ip hw status by default
- 8339b75 drm/amd/display: fix HDCP reset sequence on reinitialize
- 3cc74b3 drm/ast: Fixed CVE for DP501
- ce6991c drm/zte: Don't select DRM_KMS_FB_HELPER
- fe25176 drm/mxsfb: Don't select DRM_KMS_FB_HELPER
Homepage
Download Linux 5.12.18-xanmod1 source from GitHub