Desktop workloads that need better frame pacing, lower input latency, or faster network recovery often outgrow Debian’s stock kernel. You can install XanMod kernel on Debian 13 and 12 from the official APT repository, keep it updated through normal package management, and choose the branch that matches your CPU and workload.
On Linux, XanMod ships as ready-made kernel packages rather than a patch set you build by hand. Those packages add CPU-targeted builds, aggressive scheduler and memory tuning, and BBRv3 as the default TCP congestion control, which makes the project attractive for gaming, audio work, and other high-response desktop systems.
Check XanMod Support and Requirements on Debian
Start by confirming that your Debian release and CPU architecture match XanMod’s current repository support. XanMod packages are built for 64-bit x86 systems only, so ARM systems and 32-bit Debian installs need a different kernel path.
uname -m
x86_64
Next, confirm your Debian release codename:
. /etc/os-release && printf '%s %s\n' "$VERSION_ID" "$VERSION_CODENAME"
13 trixie
Continue only on Debian 13 (trixie) or Debian 12 (bookworm). As of March 2026, XanMod publishes signed repository metadata for those suites, while Debian 11 (bullseye) returns a missing Release file and is no longer supported by the repository.
XanMod also requires Secure Boot to be disabled. The kernel is not signed with Microsoft’s third-party UEFI key, so firmware with Secure Boot enabled will refuse to load it even when the packages install correctly.
Install XanMod Kernel on Debian
The official APT repository is the supported installation path for Debian. It keeps future XanMod updates inside normal package management instead of turning kernel maintenance into a manual download job.
Update Debian Before XanMod Installation
Refresh your package metadata and apply any pending upgrades before you add a new kernel repository. That reduces header, toolchain, and dependency mismatches later in the install.
sudo apt update && sudo apt upgrade
If your account does not already have sudo privileges, add a user to sudoers on Debian before you continue.
A kernel change is a good time to create a rollback point. If you want snapshot-based recovery before you switch kernels, install Timeshift on Debian first.
Install XanMod Repository Prerequisites on Debian
Minimal Debian installs do not always include the HTTPS certificate bundle, GPG tooling, or the download utility used in the next steps. Install them now so the key import and repository write work on both Debian 13 and 12.
sudo apt install -y ca-certificates gpg wget
The -y flag accepts APT’s confirmation prompt automatically so the command finishes in one paste. The next step uses the wget download utility with -qO- to send the key directly into GPG without saving a temporary file first.
Add the XanMod GPG Key on Debian
XanMod serves its repository key in ASCII-armored format, so APT needs it converted into a binary keyring first. Store the converted key under /usr/share/keyrings/, which is the preferred Debian location for repository signing keys.
wget -qO- https://dl.xanmod.org/archive.key | sudo gpg --dearmor --yes -o /usr/share/keyrings/xanmod-archive-keyring.gpg
The --yes flag makes the command rerunnable without a TTY prompt, and gpg --dearmor converts the armored key into the format APT reads during package verification.
Add the XanMod Repository on Debian
Write the repository in DEB822 format, which is Debian’s preferred source-file style. This block reads your codename from /etc/os-release and writes the source file as root in one step.
. /etc/os-release
printf '%s\n' \
"Types: deb" \
"URIs: https://deb.xanmod.org" \
"Suites: $VERSION_CODENAME" \
"Components: main" \
"Signed-By: /usr/share/keyrings/xanmod-archive-keyring.gpg" | sudo tee /etc/apt/sources.list.d/xanmod-release.sources > /dev/null
The $VERSION_CODENAME value expands to trixie on Debian 13 or bookworm on Debian 12. The sudo tee part matters because a plain > redirection would try to write the file from your unprivileged shell.
cat /etc/apt/sources.list.d/xanmod-release.sources
Types: deb URIs: https://deb.xanmod.org Suites: trixie Components: main Signed-By: /usr/share/keyrings/xanmod-archive-keyring.gpg
On Debian 12, the Suites line shows bookworm instead.
Refresh APT Metadata for XanMod on Debian
Once the source file exists, refresh APT so Debian can read the XanMod package index and expose the kernel metapackages.
sudo apt update
Get:4 https://deb.xanmod.org trixie InRelease [4,909 B] Get:5 https://deb.xanmod.org trixie/main amd64 Packages [33.0 kB]
Debian 12 shows the same fetch lines with bookworm in place of trixie. Check a package candidate before you install anything so you know the repository is working and the metapackage name is valid on your release.
apt-cache policy linux-xanmod-x64v3
linux-xanmod-x64v3:
Installed: (none)
Candidate: 6.x.x-xanmod1-0
Version table:
6.x.x-xanmod1-0 500
500 https://deb.xanmod.org trixie/main amd64 Packages
The exact version changes as XanMod publishes new builds, and Debian 12 shows bookworm where Debian 13 shows trixie.
Detect Your CPU Level for XanMod on Debian
XanMod ships CPU-targeted packages instead of one generic metapackage for every amd64 system. The upstream check_x86-64_psabi.sh script tells you which package suffix your CPU can use before you install anything.
wget -q https://dl.xanmod.org/check_x86-64_psabi.sh
chmod +x check_x86-64_psabi.sh
The chmod +x step adds execute permission so Debian can run the downloaded file as a program instead of treating it like plain text. If you want a quick refresher on that flag, see the guide to the chmod command in Linux with examples.
Run the script from the same directory to print the CPU level it detected:
./check_x86-64_psabi.sh
CPU supports x86-64-v3
An x86-64-v3 result is the normal outcome on most modern desktop CPUs. Older but still 64-bit capable systems may report x86-64-v2, while much older hardware may need the legacy x86-64-v1 path.
- If the script reports
x86-64-v3, use the matchingx64v3package such aslinux-xanmod-x64v3,linux-xanmod-lts-x64v3, orlinux-xanmod-rt-x64v3. - If the script reports
x86-64-v2, use the matchingx64v2package name for the branch you want. - If the script reports
x86-64-v1, only the LTS branch provides a package for that level:linux-xanmod-lts-x64v1.
There is no separate linux-xanmod-x64v4 or linux-xanmod-x64v5 metapackage. CPUs that support newer instruction levels still use the x64v3 package family.
Choose the Right XanMod Branch on Debian
The current Debian repository centers on three normal branches: MAIN, LTS, and RT. Pick the branch that matches your stability expectations before you install the metapackage.
| XanMod branch | Meta-package examples | CPU levels | Best for | Trade-off |
|---|---|---|---|---|
| MAIN | linux-xanmod-x64v2, linux-xanmod-x64v3 | x64v2, x64v3 | Gaming, fast desktops, general performance tuning | Fastest-moving general-purpose XanMod branch |
| LTS | linux-xanmod-lts-x64v1, linux-xanmod-lts-x64v2, linux-xanmod-lts-x64v3 | x64v1, x64v2, x64v3 | Systems that need better DKMS compatibility and slower branch churn | Older kernel base than MAIN |
| RT | linux-xanmod-rt-x64v2, linux-xanmod-rt-x64v3 | x64v2, x64v3 | Real-time audio and very low-jitter workloads | More specialized branch, not the default choice for every desktop |
Think of this as a two-part choice. The detection script decides the x64v1, x64v2, or x64v3 suffix, while MAIN, LTS, or RT decides the tuning and release cadence. For example, an x86-64-v3 system can install linux-xanmod-x64v3, linux-xanmod-lts-x64v3, or linux-xanmod-rt-x64v3.
Install Your XanMod Package on Debian
Choose one branch and one CPU level, then install the matching metapackage. Most desktop systems from the last decade land on the MAIN x64v3 package.
Install XanMod MAIN on Debian
Use MAIN when you want the normal XanMod experience with the newest performance-focused branch.
# Most desktop systems from roughly 2015 onward
sudo apt install -y linux-xanmod-x64v3
# Older CPUs that still meet x86-64-v2 requirements
sudo apt install -y linux-xanmod-x64v2
A successful install on the current Debian 13 and 12 repository resolves the metapackage plus the matching image and headers:
The following NEW packages will be installed: linux-headers-6.19.8-x64v3-xanmod1 linux-image-6.19.8-x64v3-xanmod1 linux-xanmod-x64v3 0 upgraded, 3 newly installed, 0 to remove and xx not upgraded.
Install XanMod LTS on Debian
Use LTS first if you rely on NVIDIA, VirtualBox, VMware, ZFS, or anything else that must rebuild out-of-tree kernel modules after updates.
# Modern CPUs
sudo apt install -y linux-xanmod-lts-x64v3
# Older but still x86-64-v2 capable CPUs
sudo apt install -y linux-xanmod-lts-x64v2
# Very old 64-bit CPUs that need the legacy x64v1 build
sudo apt install -y linux-xanmod-lts-x64v1
Install XanMod RT on Debian
Use RT only when you specifically need the real-time branch for audio production or other low-jitter workloads.
# Modern CPUs
sudo apt install -y linux-xanmod-rt-x64v3
# Older but still x86-64-v2 capable CPUs
sudo apt install -y linux-xanmod-rt-x64v2
Install XanMod DKMS Build Tools on Debian
Install the DKMS toolchain if you plan to build third-party modules against XanMod headers. That includes systems where you later install NVIDIA drivers on Debian or use other DKMS-backed software.
sudo apt install -y --no-install-recommends dkms libdw-dev clang lld llvm
XanMod is built with Clang and LLVM, so having the same toolchain available helps DKMS jobs line up with the headers you just installed.
Reboot into the XanMod Kernel on Debian
The kernel packages do not become active until the next boot. Reboot once the install finishes so GRUB can load the new XanMod image.
sudo reboot
Debian’s stock kernel stays in GRUB as a fallback, which is useful if you later need to roll back or remove XanMod.
Verify XanMod Kernel on Debian
Do not stop at the reboot. Confirm the active kernel string, the default TCP congestion control, and the matching header package so you know the switch really completed.
Confirm the Active XanMod Kernel on Debian
The quickest verification is the running kernel release string.
uname -r
6.19.8-x64v3-xanmod1
That is the verified Debian 13 and 12 MAIN output as of March 2026. If you install LTS or RT, the string still ends in xanmod1 but reflects the branch and CPU level you chose.
Confirm BBRv3 on XanMod on Debian
XanMod’s BBRv3 support is one of the most common reasons readers pick this kernel, so verify it directly instead of assuming it is active.
Debian SSH sessions can leave /usr/sbin outside a regular user’s PATH, so this check uses the absolute command path that worked during live validation:
sudo /usr/sbin/sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr
If you want to test throughput changes or compare BBR behavior against another kernel, enable BBR on Debian for the full tuning and verification workflow.
Confirm Matching XanMod Headers on Debian
Header alignment matters for DKMS rebuilds. This package query expands your active kernel string inside the match so you can confirm that the installed header package matches the running XanMod kernel exactly.
dpkg -l | grep "linux-headers-$(uname -r)"
ii linux-headers-6.19.8-x64v3-xanmod1 6.19.8-x64v3-xanmod1-0~20260314.g7e750f0 amd64 Linux kernel headers for 6.19.8-x64v3-xanmod1 on amd64
If the command returns nothing, reinstall the matching metapackage and reboot again before you try to build external modules.
Manage XanMod Kernel on Debian
Once XanMod is installed, routine maintenance stays simple. You update through APT, keep the same branch by using the matching metapackage, and remove it like any other kernel package set when you want to return to Debian’s default kernel.
Update XanMod on Debian
Use the same metapackage you installed earlier when you want a branch-specific update. This command updates the MAIN x64v3 package; replace it with your LTS or RT metapackage if that is what you installed.
sudo apt update
sudo apt install --only-upgrade -y linux-xanmod-x64v3
Reboot after the upgrade so the new kernel loads. Routine full-system upgrades also pull newer XanMod builds, and you can configure unattended upgrades on Debian for the rest of your package maintenance.
Remove XanMod and Restore Debian’s Default Kernel
Do not purge the kernel you are currently running. Install Debian’s stock metapackages first, boot into the non-XanMod kernel, and only then remove the XanMod image, headers, and repository files.
Removing kernel packages can leave you without a safe fallback if you skip the stock-kernel step. Verify that GRUB still offers a non-XanMod entry before you start purging packages.
Install Debian’s Default Kernel Before Removing XanMod
Reinstall Debian’s normal kernel metapackages first so GRUB has a stock kernel ready for the next reboot.
sudo apt install -y linux-image-amd64 linux-headers-amd64
On both Debian 13 and 12, this metapackage can pull a newer stock kernel than the one already on disk. That is normal, and the reboot is still successful as long as the running kernel string no longer includes xanmod.
uname -r
6.12.74+deb13+1-amd64
That is the verified Debian 13 rollback output. Debian 12 returned 6.1.0-44-amd64 after the same stock-kernel restore step.
Purge XanMod Packages on Debian
Once you are back on Debian’s stock kernel, purge the XanMod metapackages, images, and headers, then clean out orphaned dependencies.
sudo apt purge -y 'linux-xanmod-*' 'linux-image-*-xanmod*' 'linux-headers-*-xanmod*'
sudo apt autoremove -y --purge
APT may print several is not installed lines while it evaluates all matching XanMod package names across MAIN, LTS, and RT branches. That is normal as long as the actual installed XanMod image, headers, and metapackage are removed.
apt autoremove --purgecan also remove older Debian fallback kernels that are no longer referenced by thelinux-image-amd64metapackage. On live Debian 13 and 12 tests, it removed one older stock kernel while keeping the current Debian fallback intact.
Remove the XanMod Repository Files on Debian
Delete the DEB822 source file and signing key so APT stops checking the XanMod repository during future updates.
sudo rm /etc/apt/sources.list.d/xanmod-release.sources
sudo rm /usr/share/keyrings/xanmod-archive-keyring.gpg
Rebuild GRUB and Verify XanMod Removal on Debian
Refresh APT, rebuild GRUB, reboot, and then verify both the packages and repository files are gone.
sudo apt update
sudo update-grub
sudo reboot
After the reboot, confirm that no XanMod packages remain:
dpkg -l | grep xanmod || echo No XanMod packages remain
No XanMod packages remain
Then verify that the source file and key file are gone and that Debian is back on its normal kernel naming:
test ! -e /etc/apt/sources.list.d/xanmod-release.sources && echo repository file removed
test ! -e /usr/share/keyrings/xanmod-archive-keyring.gpg && echo key removed
uname -r
repository file removed key removed 6.12.74+deb13+1-amd64
Debian 12 returned the same two cleanup lines followed by 6.1.0-44-amd64.
Compare XanMod With Other Debian Kernel Options
XanMod is not the only path when you want more performance or newer kernel behavior on Debian. The comparison here makes it easier to weigh stock stability, low-latency tuning, and upstream-focused alternatives.
| Kernel option | Primary focus | Best for | Trade-off |
|---|---|---|---|
| Debian stock kernel | Stability and broad hardware coverage | Servers, conservative desktops, rollback safety | Less aggressive tuning and slower new-feature uptake |
| XanMod MAIN | Desktop responsiveness, gaming, and throughput | Gaming systems, creator workstations, high-response desktops | Faster-moving branch with more frequent kernel turnover |
| XanMod LTS | Lower latency with better module compatibility | NVIDIA, VirtualBox, VMware, ZFS, and other DKMS-heavy systems | Older kernel base than MAIN, fewer brand-new features |
| Liquorix kernel | Low-latency desktop tuning | Interactive desktops and multimedia workloads | Different tuning profile and package naming than XanMod |
| Latest upstream kernel | Closer-to-upstream features and drivers | Hardware enablement testing and upstream-focused setups | Less downstream tuning for desktop latency |
- Keep Debian’s stock kernel when uptime and conservative testing matter more than responsiveness tweaks.
- Choose XanMod MAIN for the simplest performance-focused Debian setup on modern desktop hardware.
- Choose XanMod LTS first if you depend on external kernel modules that have to rebuild after every kernel update.
- Look at Liquorix or a mainline kernel if you want a different balance between low latency and upstream behavior.
If you would rather stay closer to upstream, install the latest Linux kernel on Debian. If you want another low-latency desktop option, install Liquorix kernel on Debian instead.
Troubleshoot XanMod Kernel on Debian
Most XanMod issues on Debian fall into three buckets: boot failures, DKMS rebuild failures, or repository configuration problems. Start with the symptom that matches what your system is doing instead of trying random kernel fixes.
Recover a Debian System That Fails to Boot After XanMod Installation
If Debian hangs at boot, drops to a blank screen, or panics after the XanMod install, boot back into Debian’s stock kernel from GRUB first. That gives you a safe base to remove XanMod or switch to the LTS branch.
- Reboot and force the GRUB menu to appear, usually by holding
Shiftright after firmware startup. - Open
Advanced options for Debian. - Select a kernel entry that does not include
xanmodin the version string. - After Debian starts, either remove XanMod or reinstall using the XanMod LTS branch.
Fix DKMS or NVIDIA Modules That Fail on XanMod on Debian
Out-of-tree modules have to rebuild for every new kernel. When they lag behind the current XanMod branch, Debian usually leaves a DKMS error behind instead of loading the module cleanly.
Error! Bad return status for module build on kernel: 6.19.8-x64v3-xanmod1 Consult /var/lib/dkms/<module>/<version>/build/make.log for more information.
Check the current DKMS state first:
sudo dkms status
nvidia/550.xx, 6.19.8-x64v3-xanmod1, x86_64: added
Install the DKMS toolchain if it is missing, then rebuild all modules against the active XanMod headers:
sudo apt install -y --no-install-recommends dkms libdw-dev clang lld llvm
sudo dkms autoinstall
Recheck DKMS afterward:
sudo dkms status
nvidia/550.xx, 6.19.8-x64v3-xanmod1, x86_64: installed
If the rebuild still fails, move to the XanMod LTS branch and then install NVIDIA drivers on Debian again against that slower-moving kernel series.
Fix XanMod Repository Errors on Debian
The most common XanMod repository failure on Debian is using an unsupported release codename. Bullseye is the usual example because the repository no longer publishes a Release file for Debian 11.
E: The repository 'https://deb.xanmod.org bullseye Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default.
Confirm your codename first:
. /etc/os-release && printf '%s\n' "$VERSION_CODENAME"
trixie
For the stable Debian releases covered here, only trixie and bookworm work. XanMod also lists newer development suites upstream, but bullseye is unsupported and fails with a missing Release file. If you already run trixie or bookworm, recheck the source file and key path before you rerun sudo apt update.
cat /etc/apt/sources.list.d/xanmod-release.sources
Types: deb URIs: https://deb.xanmod.org Suites: trixie Components: main Signed-By: /usr/share/keyrings/xanmod-archive-keyring.gpg
Disable Secure Boot Before Booting XanMod on Debian
If Debian keeps booting the stock kernel even though the XanMod packages installed, Secure Boot is the first thing to check. Disable it in your firmware settings, save the change, and then boot the XanMod entry again from GRUB.
Some firmware offers an option to enroll an unsigned EFI image manually instead of fully disabling Secure Boot, but the workflow is hardware-specific and usually has to be repeated after kernel updates. For most Debian desktop systems, disabling Secure Boot is the cleaner path when you choose XanMod.
XanMod Kernel on Debian FAQ
XanMod is a performance-tuned Linux kernel package set for Debian that focuses on lower latency, CPU-targeted builds, and newer desktop-oriented tuning than Debian’s stock kernel. You install it through APT rather than compiling a kernel by hand.
Yes. Current XanMod builds on supported Debian releases expose BBR as the active TCP congestion control by default. Verify it with sudo /usr/sbin/sysctl net.ipv4.tcp_congestion_control after the reboot.
No. As of March 2026, the XanMod Debian repository publishes signed metadata for trixie and bookworm, while bullseye returns a missing Release file. Upgrade Debian before you try to install XanMod from the repository.
Install linux-image-amd64 and linux-headers-amd64 first, reboot into the stock Debian kernel, purge the XanMod image, header, and meta-packages, remove the XanMod source file and key, rebuild GRUB, and then verify uname -r no longer shows xanmod.
Conclusion
XanMod kernel on Debian now gives you an APT-managed path to lower-latency tuning, CPU-targeted packages, and BBRv3 without compiling a kernel by hand. Keep Debian’s stock kernel in GRUB as your fallback, use the LTS branch when DKMS compatibility matters, and check the official XanMod website when you want the current release notes.
Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags currently allowed:
<code>command</code>command<strong>bold</strong><em>italic</em><blockquote>quote</blockquote>