Stop losing fights because your Linux box hiccups
Open Steam. Click “Play.” Get a one-second freeze right as you line up a headshot. Sound familiar?
Been there. After a few months of “that’s just how Linux games,” I finally fixed it with three quiet tweaks. No re-installs, no overclocks, nothing fancy.
The trick is simple: tell the kernel “games come first.” Below is the exact checklist I still run on every new laptop and desktop. Copy-paste at your own pace.
Step 1 – Swap your kernel (five minutes, reversible)
I was skeptical about “low-latency” kernels until I watched Battlefield 1’s frametime spikes vanish.
Why it matters:
- A stock kernel checks background tasks every few ms.
- A low-latency kernel checks every ~1 ms. Your brain feels the difference.
- Real-time kernels go even lower, but they crash my second monitor on wake. Not worth it.
Install it the safe way:
- Ubuntu / Pop →
sudo apt install linux-lowlatency - Fedora →
sudo dnf install kernel-lt - After reboot, hold Shift (BIOS) or tap Esc (systemd-boot) if something breaks. Just pick “previous kernel.”
Step 2 – Steamline memory: the swappiness yes-or-no fight
What does swappiness even do?
Picture RAM like a workbench. Swappiness tells the cleaner how quick to toss unused stuff into the attic (swap).
Default? 60. Feels chaotic. Inches of swap shows up while I’m still playing.
I tried swappiness=10 for a week. Here’s what I saw:
- 16 GB+ machines – zero stutter, zero crashes. Clear winner.
- 8 GB machines – ran out of RAM once, crashed mid-match. Back to 60.
In other words:
If you have 16 GB or more, try it. If you have 8 GB, skip to the next section.
How to test safely:
- Open a terminal in the middle of a game. Run
sudo sysctl vm.swappiness=10. - Play one full round.
- If nothing explodes, make it permanent.
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
Step 3 – One speed setting plus two tiny tools
Pick the right “I/O scheduler” – 30 seconds:
- SSD (old laptop) → BFQ.
echo bfq | sudo tee /sys/block/sda/queue/scheduler - NVMe drive (most desktops) → none.
echo none | sudo tee /sys/block/nvme0n1/queue/scheduler
Lock the CPU at max while gaming:
sudo cpupower frequency-set -g performance
Drop that in .bashrc so it runs every boot:
sudo sh -c "cpupower frequency-set -g performance"
Add Gamemode for the lazy hands-off approach:
- Install:
sudo apt install gamemode libgamemodeauto - In Steam → right-click game → Properties → Launch options:
gamemoderun %command%
Real talk – benchmark don’t guess
I used MangoHud to track frametime. One flat green line after tweaks. No guesswork.
Start with these three tests:
- Elden Ring in a busy outdoor area
- Apex Legends first drop in Fragment
- Counter-Strike 2 workshop map “bench”—high CPU threaded load
If any change brings more hiccups, undo it immediately. The goal is quiet gameplay, not chasing Mr. Megahertz.
Quick takeaway you can text yourself
1. linux-lowlatency kernel
2. swappiness=10 (only 16 GB+)
3. gamemode + performance governor
Done. Spawn in the next fight without that micro-stutter that cost you last time.







