Announcement

Collapse
No announcement yet.

Arm Helping With AArch64 Rust Linux Kernel Enablement

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

  • Arm Helping With AArch64 Rust Linux Kernel Enablement

    Phoronix: Arm Helping With AArch64 Rust Linux Kernel Enablement

    Much of the Rust programming language support/infrastructure for the Linux kernel thus far has been with an x86_64 focus while obviously AArch64 is an important target as well. It's nice to see Arm Limited engineers working on the Rust Linux kernel support for AArch64/ARM64...

    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
    Getting this upstream should make it easier to land the asahi gpu driver.

    Comment


    • #3
      I wish Intel would write the new Xe GPU driver in Rust 😭

      Comment


      • #4
        Posts need to have 5 characters or something.

        Comment


        • #5
          I did. I am also asking for much more subsystem-adoption and more arch support. But I am patient.

          Comment


          • #6
            Originally posted by RejectModernity View Post
            I wish Intel would write the new Xe GPU driver in Rust 😭
            Then we could wait 10+ years until we could plug in a Intel Arc dGPU into lets say a RISC-V board. We can do that today, because C isn't a over engineered clusterf*ck.

            Comment


            • #7
              Originally posted by Alexmitter View Post

              Then we could wait 10+ years until we could plug in a Intel Arc dGPU into lets say a RISC-V board. We can do that today, because C isn't a over engineered clusterf*ck.
              I haven't seen an ARC GPU in a RiscV System, that's really cool, could you provide a link?

              Comment


              • #8
                Originally posted by Alexmitter View Post

                Then we could wait 10+ years until we could plug in a Intel Arc dGPU into lets say a RISC-V board. We can do that today, because C isn't a over engineered clusterf*ck.
                Somebody hasn't been following along and knows neither anything about rust nor GPU driver development therein.

                Rust has enabled the development of the asahi GPU driver to proceed MUCH faster than would ever have been possible in C.

                Once you get a prototype working in rust for the single-thread, single-app case, you can trivially extend it to full blown multi-threaded multi-processing use. Normally it would have taken them months more work to track down and fix the countless bugs created when doing this with a C driver (which every major C driver has had to deal with). In asahi's case, they made the transition in less than a week.

                They now have a 99%+ compliant openGL 2-3 driver that is shipping in their experimental branch. You can track the progress as they implement the needed extensions for openGL 4 on https://mesamatrix.net/. All of the development streams that Lina Asahi does are streamed from an M1 running this driver on linux, with inochi2D vtubing software, OBS, firefox, the desktop environment, and everything else running with GPU acceleration on top of it.

                The biggest thing holding back upstreaming of this driver is the speed at which the rust infrastructure they're relying on can land upstream, which is what ARM is helping with. A big chunk of the rust patchset still outstanding is the ARM support.

                If you need another example, there's also a brand new rust NVMe driver floating around that took only a few months to write but is within a few percent of the performance of the existing C one, without any real work having been put into optimizing it. Rust simply makes multithreaded code far easier to write.

                edit: side note, but rust already works fine on risc-v. dunno if anyone's put a patchset together for supporting it in the kernel yet, but there's no reason a driver written in rust wouldn't work on risc-v with that support in place.
                Last edited by Developer12; 26 January 2023, 05:28 PM.

                Comment


                • #9
                  Originally posted by Developer12 View Post
                  Somebody hasn't been following along and knows neither anything about rust nor GPU driver development therein.
                  I believe this is not about following along, but an extremely strong opinion (i.e. hate) regarding rust and it's ecosystem.

                  edit: side note, but rust already works fine on risc-v. dunno if anyone's put a patchset together for supporting it in the kernel yet, but there's no reason a driver written in rust wouldn't work on risc-v with that support in place.
                  Exactly. Until there is an actual use case, deferring the kernel integration/enablement work a bit longer lets x86_64 (and now AArch64) blaze the trail(s), as every new architecture likely identifies another way to make it easier for the next one.

                  Comment


                  • #10
                    Originally posted by Anux View Post
                    I haven't seen an ARC GPU in a RiscV System, that's really cool, could you provide a link?


                    that said, any driver written in rust will work on any architecture without modification once rust support for that architecture lands. x86 is there, arms is being worked on by ARM, and I'm sure risc-v isn't far behind. It's mostly a question of how quickly the existing patchsets can get through review, rather than how long it takes to develop them

                    Comment

                    Working...
                    X