Experimenting with CachyOS kernel on NixOS via Chaotic's Nyx

I’ve heard praise about the kernel performance with CachyOS, and was looking to replicate it a bit on NixOS when I learned about Chaotic’s Nyx. After simply swapping to their Link-Time Optimization kernel varent, I’m noticing a ~10% single and ~8% multi core geekbench scores improvement after repeated testing on my 10yo laptop:

https://browser.geekbench.com/v6/cpu/compare/14141971?baseline=14145053

Over 5 consecutive trials in performance mode, results are relatively consistent:

I’m also seeing no measurable difference in idle watt draw in power saving mode. For such an impressive gain for so small a change, is this replicable for others?

What’s the “catch” here (pun intended) for desktop users? Having to rely on out-of-tree kernel patches? Are there laptop workloads that BORE scheduler fails on? Any caveats in using LTO kernels on x86 hardware younger that 10 years?


Exact flake inputs and changes for reference:

  inputs = {
+    chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
...
  outputs = {
+    chaotic,
...
          modules = [ 
            ./hosts/${name}/configuration.nix
+            chaotic.nixosModules.default
-  boot.kernelPackages = pkgs.unstable.linuxPackages;
+  boot.kernelPackages = pkgs.linuxPackages_cachyos-lto;

  services.thermald.enable = true;
  powerManagement.powertop.enable = true;
  hardware.nvidia = {
-    package = pkgs.unstable.linuxPackages.nvidiaPackages.beta;
+    package = pkgs.linuxPackages_cachyos-lto.nvidiaPackages.beta;
$ uname -a
-Linux dox 6.12.48 #1-NixOS SMP PREEMPT_DYNAMIC Fri Sep 19 14:35:52 UTC 2025 x86_64 GNU/Linux
+Linux dox 6.16.9-cachyos #1-NixOS SMP PREEMPT_DYNAMIC Thu Sep 25 09:16:54 UTC 2025 x86_64 GNU/Linux
2 Likes

Could you compare the performance of CachyOS Kernel vs 6.16 instead of 6.12? Not saying that the results would change, just that comparing different Linux kernel versions seems a bit weird and I’m also just interested in seeing how does 6.16 fare compared to 6.12

Yeah, I was surprised to realize how far ahead the Linux mainline was with respect to the default from the unstable channel. What would you suggest I retry exactly, pkgs.unstable.linuxPackages_6_16?

Looks like linuxPackages_6_16 closes the gap only a little as the new baseline:

https://browser.geekbench.com/v6/cpu/compare/14141971?baseline=14165027

Trials

-  boot.kernelPackages = pkgs.unstable.linuxPackages;
+  boot.kernelPackages = pkgs.unstable.linuxPackages_6_16;

  services.thermald.enable = true;
  powerManagement.powertop.enable = true;
  hardware.nvidia = {
-    package = pkgs.unstable.linuxPackages.nvidiaPackages.beta;
+    package = pkgs.unstable.linuxPackages_6_16.nvidiaPackages.beta;
$ uname -a
Linux dox 6.16.8 #1-NixOS SMP PREEMPT_DYNAMIC Fri Sep 19 14:37:39 UTC 2025 x86_64 GNU/Linux

Instability and regressions. New kernel versions are very prone to them, as desktop testing is scarce. Better stick to tha LTS versions.