How to change kernel scheduler

Hi

As I have recently moved my desktop PC from Bazzite to NixOS, I have also investigated which, gaming related, performance improvement can be obtained. In order to send the elevator back down I have documented my efforts on the appropriate wiki page.

However, even though I would have liked to, I have not documented how to change the scheduler, as I was not really sure if I did it right.

As far as I know, you can load a custom scheduler, defined by sched_ext, by the following:

# configuration.nix
  services.scx = {
    enable    = true;
    scheduler = "scx_lavd";
  };

But does the above also enable the new scheduler, or does it only load a new scheduler?

My insecurities arise from the first line of sched-ext/scx README.md […] “and dynamically loads them”, which makes it sound to me like you have to do something additional to enable the selected scheduler.

Many thanks in advance!

Yes it does work. I’ve also used its adios fs scheduler

I’m currently back on fedora workstation 44 kde and using cachyos lts kernel with lavd and adios fs scheduler.

I prefer the performance of cachyos kernel but I love the rpm pkg manager.