DISCLAIMER: I'm not a kernel guy, or at least haven't been for a while. The last time I was building/tweaking/optimizing/etc for kernels was on the Nexus 5X. I may have made some sub-optimal decisions here, so if that's the case let me know. This represents tests on one machine with one benchmarking tool and is not a comprehensive analysis.
Benchmark Details
All tests done with Geekbench 5, no windows open, run in GNOME Terminal under fish shell, on power and plugged into mouse and keyboard. Desktop session was GNOME under Wayland for all. No performance or powersave tweaks changed from default in Garuda Assistant. Fans returned to idle and Terminal re-launched between runs.
Full relevant hardware details are in the geekbench links, but my machine is a ThinkPad X1 Carbon 6th gen, with 16GB of RAM and a Kaby Lake R Intel i7. I'm running a relatively fresh install of the Garuda GNOME edition.
Zen Kernel 5.17.2.zen3-1
Default Garuda kernel, up to date with current repos. No kernel modifications have been made.
- Linux-Zen, Balanced Profile - LENOVO 20KHCTO1WW - Geekbench Browser
- Single-Core: 1017, Multi-Core: 3318
- Linux-Zen, Performance Profile - LENOVO 20KHCTO1WW - Geekbench Browser
- Single-Core: 1080, Multi-Core: 3385
Showed small increases across the board switching to performance. Fans ran sooner and higher under performance.
cacULE Kernel 5.17.2-2
Installed via Garuda Settings manager, Chaotic-AUR package.
- Linux-cacULE, Balanced Profile - LENOVO 20KHCTO1WW - Geekbench Browser
- Single-Core: 1057, Multi-Core: 3278
- Linux-cacULE, Perfomance Profile - LENOVO 20KHCTO1WW - Geekbench Browser
- Single-Core: 1093, Multi-Core: 3332
Felt a tad snappier, probably placebo, slightly worse than Zen on multi-core but better on single-core according to Geekbench. Fans were peaking faster, but could be just a bit hotter from repeated benchmarking despite fans returning to idle. Launching my standard-load apps quickly as I normally do also felt faster. Further normal-load use, and it does definitely feel snappier despite quantitative results, further use and benchmarking necessary.
CachyOS cacULE Kernel 5.17.3-1
Built from AUR with appropriate headers. I didn't edit the build files, probably could have added some flags or at least modprobed to slim it down, but given that I used a prebuilt for the other cacULE it felt a fairer comparison.
- Linux-Cachyos-cacULE, Balanced Profile - LENOVO 20KHCTO1WW - Geekbench Browser
- Single-Core: 1018, Multi-Core: 3203
- Linux-Cachyos-cacULE, Performance Profile - LENOVO 20KHCTO1WW - Geekbench Browser
- Single-Core: 1035, Multi-Core: 3276
Felt similar to the other cacULE kernel. I've given up on going off my intuition though, it's subtle enough that I could just be reading into it too much. Benchmarks consistently slightly worse than both Zen and the other cacULE across the board.
Custom-Built TKG-CFS 5.17.3-256
Built from here with Glitched CFS. Might try building with cacULE as well, but stayed with the default for now. Selected full tickless option, applied skylake-specific microarch tuning (this is the applicable option for Kaby Lake R processors, I checked). Did not apply ACS override patch, not completely clear on what this does practically speaking. Appears to be included in Zen, but has some associated (security?) risk and didn't seem to be relevant to my use-case. Did not use menuconfig or do any additional configuration. Built with gcc
using the -o3
compiler flag and whatever else TKG's build script does by default.
- Linux TKG-CFS, Perfomance Profile - LENOVO 20KHCTO1WW - Geekbench Browser
- Single-Core: 1045, Multi-Core: 3228
Note that I did not test the other profiles, as this kernel uses a modified, aggressive ondemand scheduler by default and the profile changer did not seem to modify this. Honestly, it felt worse than the cacULE options. The only specific qualitative observation I have to this regard is that there seemed to be slightly more stuttering when going in and out of the overview with all my windows open and when opening all my apps in rapid succession.
Closing Notes
Where mentioned, "normal working load" refers to being logged in to the GNOME Shell under Wayland, and having open 1-2 FireFox windows with a combined 20-30 tabs, Discord, Fractal, Spotify, Obsidian, Code-OSS, and GNOME Terminal.
I plan to take a day or so to use each kernel for my normal working load and take more extensive subjective notes, but as mentioned the validity of these is potentially questionable. Regardless, I'll update this post with my observations and anything else I try. I may try some other options, and my intuitive observations do make me want to try building the TKG with cacULE instead.
If there are any other benchmarks or adjustments that anyone wants to see or recommends that I try out, let me know! It's not really super sustainable for me to recompile a whole lot as these builds take forever and redline my CPU the whole time, but if anyone wants to see other configs and I have the time I'll give it a shot. I didn't test the Power Saver profile because I'm not really using my machine on the go right now, but I may run some battery life assessments if there's any interest in that.
Realistically speaking, trying to trick out a kernel to squeeze a little more juice out of my machine is stupid because a) it's a laptop, b) Garuda Assistant's tuning options are more than sufficient if I want to optimize, c) the only games I play are Minecraft and osu!lazer, d) out of the box performance is pretty staggering already and handles even my heaviest use perfectly well, and e) the changes between kernels and profiles seem relatively small.
Cheers!