Announcement

Collapse
No announcement yet.

Rust-Written LAVD Kernel Scheduler Shows Promising Results For Linux Gaming

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rust-Written LAVD Kernel Scheduler Shows Promising Results For Linux Gaming

    Phoronix: Rust-Written LAVD Kernel Scheduler Shows Promising Results For Linux Gaming

    Changwoo Min with Igalia presented yesterday at Open-Source Summit North America on optimizing the kernel's scheduler for Linux gaming. Of course, the motivation is around Valve's Steam Deck but for Linux gaming at large to benefit too from this scheduler work to ideally yield less stuttering during gameplay...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    The graphs visually understate what an improvement that scheduler provides!

    Those numbers make the change look like a fairly decent hardware upgrade. I didn't realize there was so much performance on the table.

    Comment


    • #3
      Yeah. If you look at the slide deck, the average FPS increases from 25 to 32, which is a 32% increase. That's massive, equivalent to a hardware upgrade indeed.

      It is likely that this is only a single workload that benefits this much, but even a 5% bump on average would be significant.

      Comment


      • #4
        LAVD has been absolutely phenomenal for me. I normally run at a locked 60fps in the first place when gaming with nothing else going on, but when I do other things like AUR updates, encoding a video etc. game perf hurts a lot. LAVD made it negligible. YES the encode runs slower, compiles run longer. But the encode isnt so much slower that it's a deal breaker, meanwhile my game goes from 20-35fps to a 58-60fps. That's an amazing tradeoff for me.

        EDIT: on arch you can get the schedulers either from the AUR, or from cachyos' repos
        Last edited by Quackdoc; 18 April 2024, 02:00 PM.

        Comment


        • #5
          Originally posted by Quackdoc View Post
          LAVD has been absolutely phenomenal for me. I normally run at a locked 60fps in the first place when gaming with nothing else going on, but when I do other things like AUR updates, encoding a video etc. game perf hurts a lot. LAVD made it negligible. YES the encode runs slower, compiles run longer. But the encode isnt so much slower that it's a deal breaker, meanwhile my game goes from 20-35fps to a 58-60fps. That's an amazing tradeoff for me.

          EDIT: on arch you can get the schedulers either from the AUR, or from cachyos' repos
          That sounds fantastic! Linux has always been better at multitasking than Windows, but to multitask while gaming is a dream.

          Comment


          • #6
            Why not implement it in kernel directly? Why do we need these BPF hoops?

            Comment


            • #7
              Originally posted by RejectModernity View Post
              Why not implement it in kernel directly? Why do we need these BPF hoops?
              because "specialized" schedulers are bad for general use so they wont get mainline and needing to recompile a kernel sucks. so BPF allows us to have specialized schedulers that we can just hotload

              Comment


              • #8
                Originally posted by RejectModernity View Post
                Why not implement it in kernel directly? Why do we need these BPF hoops?
                We don't *need* them. But from the slides:
                • Rapid experimentation is possible
                  • No reboot required, yay!
                  • BPF cannot crash the host machine!​
                Go ahead, write the same thing in C if you want. But the devs chose BPF, because it has benefits.

                Comment


                • #9
                  This looks very promising

                  I'd love to give this a shot

                  Originally posted by Quackdoc View Post
                  on arch you can get the schedulers either from the AUR, or from cachyos' repos
                  I find sched_ext schedulers confusing as they're supposedly loaded on demand instead of being the main scheduler (from my limited understanding)..

                  Could you share the steps to make it work correctly with Arch Linux?
                  Last edited by Kjell; 18 April 2024, 03:02 PM.

                  Comment


                  • #10
                    I wonder what scheduler Windows have, and I wonder if Microsoft have another scheduler for Xbox or what tweaks to the scheduler they use for Xbox which runs a modified version of Windows.

                    Comment

                    Working...
                    X