CachyOS performance issues fixed!!!

The Big Jump

So, I recently took a rather large jump and changed my main (and only) gaming/streaming rig and moved from Windows to Linux. Full throttle. No dual boot. No backup of my Windows profile.

One Saturday morning, I committed, moved all important data to a single NTFS partition on my spinning rust archive drive. Then came the all-important decision:

TLDR; Fix your gaming performance on CachyOS -> The full how-to is here

Which Linux Distro is Right For Me?

How many flame wars have started on Reddit like this? Welp, nothing to it but to install them all! Well ok, I made a selection. I prepared a YUMI Multiboot USB until the contents looked like a random collection of English-like words followed by the ending .iso

bazzite-nvidia-open-stable-live-amd64.iso
cachyos-desktop-linux-260124.iso
debian-13.3.0-amd64-DVD-1.iso
EndeavourOS_Ganymede-Neo-2026.01.12.iso
garuda-dr460nized-gaming-linux-zen-260115.iso
linuxmint-22.3-cinnamon-64bit.iso
ubuntu-25.10-desktop-amd64.iso
void-live-x86_64-20250202-xfce.iso

I had to consider hardware compatibility, of course, here are my specs FYI:

Kernel: Linux 7.0.11-1-cachyos-bore <- this will become super important!!!
CPU: 12 x Intel(R) Core(TM) i7-8700K
GPU: GeForce RTX 4060
RAM: 9.89 GiB / 31.21 GiB (32%)

As one can see, some of your usual candidates are present, and some not-so-well-known choices.

Let the Experiment Begin

Over the next two days, I booted, installed, and reinstalled more Linux distros than I care to admit. Some were fine, some didn’t even boot into a “good” environment (looking at you, Bazzite!!). So eventually, I booted CachyOS’s live ISO and started the installer.

The pure choice of Desktop Environments alone, during installation, was mind-boggling. I knew that I wanted to “change my ways” and learn some sort of tiling desktop environment, which is where I landed on Hyprland as my introduction to not only the Arch Linux world, but also the world of high-performance Linux gaming.

To begin with, everything was happy and shiny! I was on a desktop environment called Hyprland running on top of Wayland (this was one of my main requirements for my new OS). I soon started experimenting and found myself instead with Niri with Noctalia on top, as my new environment.

Stream Setup and The Performance Wall

All the while, my streams, of course, had to continue. After initial pains in finding the right capture mechanism for OBS to see the correct screen and making some sacrifices, namely losing Mixitup as my primary local bot and other quality-of-life things, I had a stream setup resembling my previous scenes and transitions.

It was time to game! I decided to run a Linux-native game first, so my machine would not be too taxed with having to deal with the Proton layer from Steam, to allow Windows games to run on Linux.

Factorio was installed and a new playthrough started on stream. I installed a “modest” collection of mods I usually like to play with. All counted, maybe 50 QOL and general improvement mods. Nothing heavy, no HD texture packs, no total-overhaul packs. The map generates and loads fine, 60 FPS/UPS, solid. All of a sudden, about 20 or so minutes later, the performance tanks to 30 FPS/UPS, like it was capped!

Optimization and Troubleshooting

Let’s look at optimizing a bit. The first thing that came to my mind: “Can we improve the way we launch the game from within Steam?”

After reading CachyOS’s docs, I tried these Launch Options in Steam: game-performance %command% Surely, forcing the CPU and the rest of the system into high-performance is going to be good enough, right? NOPE

Let’s read some more! OK, sooo, what’s this “Gamescope” thing? AHH, it provides a dedicated Wayland compositor for Steam to render the game on. This can’t hurt, right? Oh, and I can attach “MangoHud” to it, so I can see some performance graphs in-game! Next Launch Options: game-performance gamescope –mangoapp -w 1920 -h 1080 -f – %command% (Here, I also gave it the fullscreen parameter as well as my desired display resolution). NOPE

OK, for science, let’s try and run the Windows version on Linux through Proton! Steam -> Factorio -> Properties -> Compatibility -> Check “Force the use of a specific Steam Play compatibility tool” and select “proton-cachyos”. NOPE

The Kernel Revelation

Wind back in time. I remember looking at the different kernel variants that CachyOS offers, and without much reading or thinking, I found what I read about the “bore” variant “good enough” for my purposes. Turns out, this was a mistake that came back to haunt me.

Back in the present, I kept fighting this issue, and seeing it in all sorts of different games, without me really understanding the rhyme and/or reason for this.

Last weekend I had enough, I asked Google essentially for an explanation for each kernel variant, and it turns out I should’ve stayed on the “default” kernel and “only” changed the external scheduler that one can attach to this kernel via the scx_loader service.

Off I go, installing the CachyOS default kernel, marking cachyos-bore for deletion, and changing the external scheduler to “scx_lavd” with the Gaming profile selected, reboot.

The Make-or-Break Moment

Now came the make-or-break moment: login, start Steam, and start a game of my choice. These past days I was heavily invested in ETS2 and had seen similar issues there, so what better candidate to spin up? Straight away, something seems “different”. The game looks more FPS-y and input lag is essentially gone. 60 FPS solid. To make sure, I tried Factorio too for a good hour and it just was… stable. 60 FPS/UPS.

The full write-up about the how-to is here

I hope, whoever finds this, found it entertaining and maybe even helpful.

Peace Out! Sebastian