Skip to content
  • Hjem
  • Seneste
  • Etiketter
  • Populære
  • Verden
  • Bruger
  • Grupper
Temaer
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Kollaps
FARVEL BIG TECH
  1. Forside
  2. Ikke-kategoriseret
  3. Rust wgpu now has a

Rust wgpu now has a

Planlagt Fastgjort Låst Flyttet Ikke-kategoriseret
316 Indlæg 74 Posters 0 Visninger
  • Ældste til nyeste
  • Nyeste til ældste
  • Most Votes
Svar
  • Svar som emne
Login for at svare
Denne tråd er blevet slettet. Kun brugere med emne behandlings privilegier kan se den.
  • mcc@mastodon.socialM mcc@mastodon.social

    Rust wgpu now has a .agents/skills, a .claude/skills, an AGENTS.md, and a CLAUDE.md.

    Increasingly wondering if my goal of living in a way that I never benefit from the actions of generative AI users and generative AI users never benefit from the actions of me is going to inherently mean never using hardware-accelerated video on a computer again.

    erincandescent@akko.erincandescent.netE This user is from outside of this forum
    erincandescent@akko.erincandescent.netE This user is from outside of this forum
    erincandescent@akko.erincandescent.net
    wrote sidst redigeret af
    #20
    @mcc (probably this requires never upgrading to any piece of hardware released past ~2024 or so)
    mcc@mastodon.socialM 1 Reply Last reply
    0
    • mcc@mastodon.socialM mcc@mastodon.social

      I convinced myself, I really did, I could make a simple vulkan-compliant GPU. Could I make a vulkan compliant Redox GPU *driver* for the AMD GPU I own already? Actually, I seriously doubt that. That sounds harder actually. That's a moving target.

      Could I make a Redox driver for an open source GPU someone *else* made? Okay, yes, I believe that I think.

      Could I make *both* the open source GPU *and* the driver for it? No. I mean, maybe. But no, I don't believe that. Not both. That's too much.

      brouhaha@mastodon.socialB This user is from outside of this forum
      brouhaha@mastodon.socialB This user is from outside of this forum
      brouhaha@mastodon.social
      wrote sidst redigeret af
      #21

      @mcc
      Well, maybe not simultaneously, but I think you could do both if you wanted to.

      mcc@mastodon.socialM 1 Reply Last reply
      0
      • mcc@mastodon.socialM mcc@mastodon.social

        Here's where we get to the funny part:

        When I was looking at making an OSS GPU, I had this idea. Instead of supporting Vulkan, which is really a quite large API surface, I imagined a GPU that natively speaks WebGPU. WebGPU is designed as a simplified API covering the shared subset between Metal, DirectX, and Vulkan. Imagine instead of Vulkan I just make a hacked wgpu that connects directly to my open-source toy "RISCV GPU". My estimation as a moderate domain expert is that saves a *lot* of time

        mcc@mastodon.socialM This user is from outside of this forum
        mcc@mastodon.socialM This user is from outside of this forum
        mcc@mastodon.social
        wrote sidst redigeret af
        #22

        Meanwhile, look at the other staircase I want to climb.

        I *don't* have an open-hardware laptop. I have a Lenovo with an AMD chipset. I want a slopless operating system. Redox the OS is slopless, but much of the GUI running atop it is just ports of Linux software, and much of that is slop. The project I've been thinking about *this* year is hacking Redox to boot direct into Servo (the web browser). As I explore this idea, suddenly my "wgpu direct to hardware" idea becomes relevant again:

        mcc@mastodon.socialM lispi314@udongein.xyzL 2 Replies Last reply
        0
        • mcc@mastodon.socialM mcc@mastodon.social

          I convinced myself, I really did, I could make a simple vulkan-compliant GPU. Could I make a vulkan compliant Redox GPU *driver* for the AMD GPU I own already? Actually, I seriously doubt that. That sounds harder actually. That's a moving target.

          Could I make a Redox driver for an open source GPU someone *else* made? Okay, yes, I believe that I think.

          Could I make *both* the open source GPU *and* the driver for it? No. I mean, maybe. But no, I don't believe that. Not both. That's too much.

          tthbaltazar@chaos.socialT This user is from outside of this forum
          tthbaltazar@chaos.socialT This user is from outside of this forum
          tthbaltazar@chaos.social
          wrote sidst redigeret af
          #23

          @mcc
          amd and intel provide gpu docs

          so yes, you totally can

          mcc@mastodon.socialM 1 Reply Last reply
          0
          • tthbaltazar@chaos.socialT tthbaltazar@chaos.social

            @mcc
            amd and intel provide gpu docs

            so yes, you totally can

            mcc@mastodon.socialM This user is from outside of this forum
            mcc@mastodon.socialM This user is from outside of this forum
            mcc@mastodon.social
            wrote sidst redigeret af
            #24

            @tthbaltazar Pulling this off for amd is *more* likely than nvidia. But amd is *large*. AMD is a great many GPUs. Perhaps I can make a driver that works on *my* AMD in *my* laptop. Can I make one that works with anyone else's? What would testing look like? How would I know if the thing I made *worked*? How would I maintain it as AMD continues to release new GPUs?

            1 Reply Last reply
            0
            • mcc@mastodon.socialM mcc@mastodon.social

              Meanwhile, look at the other staircase I want to climb.

              I *don't* have an open-hardware laptop. I have a Lenovo with an AMD chipset. I want a slopless operating system. Redox the OS is slopless, but much of the GUI running atop it is just ports of Linux software, and much of that is slop. The project I've been thinking about *this* year is hacking Redox to boot direct into Servo (the web browser). As I explore this idea, suddenly my "wgpu direct to hardware" idea becomes relevant again:

              mcc@mastodon.socialM This user is from outside of this forum
              mcc@mastodon.socialM This user is from outside of this forum
              mcc@mastodon.social
              wrote sidst redigeret af
              #25

              Servo rests atop wgpu. Therefore, if my OS's entire GUI layer is servo, and I believe that implementing webgpu is easier than implementing vulkan, I can increase my chances of writing a working video-acceleration driver if I simplify it so *the driver supplies wgpu*, instead of trying to support the full scope of DRI/DRM or OpenGL/Vulkan or whatever this entails.

              Two things I want, in both cases wgpu provides a critical, project-saving step.

              And oh, I think wgpu might be slop now. Never mind!

              mcc@mastodon.socialM crzwdjk@mastodon.socialC dotstdy@mastodon.socialD jdm_@mastodon.socialJ 4 Replies Last reply
              0
              • mcc@mastodon.socialM mcc@mastodon.social

                What I mean is, my daydream GPU was going to be designed to be good for the kinds of 2D acceleration you need to like, run a web browser, scroll a window, move a window around. Want to do anything 3D? It's slow or it kicks you back out to MESA software rendering. I just wanted a computer I can use in a day to day way that felt like it was mine and I owned it.

                There are a few rudimentary open source GPUs, but none with this focus, and critically, *none I know that support Vulkan*.

                hyc@mastodon.socialH This user is from outside of this forum
                hyc@mastodon.socialH This user is from outside of this forum
                hyc@mastodon.social
                wrote sidst redigeret af
                #26

                @mcc modern GPUs have no dedicated 2D acceleration hardware, it's all done in 3D shaders.

                I'd think it's relatively easy to do dedicated 2D acceleration in an FPGA these days. Aside from a Blitter what other functional units do you need to implement? It would be enough to run X11 without more recent extensions.

                mcc@mastodon.socialM 1 Reply Last reply
                0
                • hyc@mastodon.socialH hyc@mastodon.social

                  @mcc modern GPUs have no dedicated 2D acceleration hardware, it's all done in 3D shaders.

                  I'd think it's relatively easy to do dedicated 2D acceleration in an FPGA these days. Aside from a Blitter what other functional units do you need to implement? It would be enough to run X11 without more recent extensions.

                  mcc@mastodon.socialM This user is from outside of this forum
                  mcc@mastodon.socialM This user is from outside of this forum
                  mcc@mastodon.social
                  wrote sidst redigeret af
                  #27

                  @hyc Your first paragraph answers your second. It's not enough to make fast 2D blitting/compositing/blending. You have to do it in a way that can talk to the 3D APIs modern compositors and userspace software speaks.

                  hyc@mastodon.socialH 1 Reply Last reply
                  0
                  • mcc@mastodon.socialM mcc@mastodon.social

                    Here's where we get to the funny part:

                    When I was looking at making an OSS GPU, I had this idea. Instead of supporting Vulkan, which is really a quite large API surface, I imagined a GPU that natively speaks WebGPU. WebGPU is designed as a simplified API covering the shared subset between Metal, DirectX, and Vulkan. Imagine instead of Vulkan I just make a hacked wgpu that connects directly to my open-source toy "RISCV GPU". My estimation as a moderate domain expert is that saves a *lot* of time

                    sabrina@fedi01.unicornsparkle.clubS This user is from outside of this forum
                    sabrina@fedi01.unicornsparkle.clubS This user is from outside of this forum
                    sabrina@fedi01.unicornsparkle.club
                    wrote sidst redigeret af
                    #28

                    @mcc What's the smallest API and implementation necessary to accelerate a GUI so that it feels good? What's the minimum amount of hardware to support that acceleration?

                    Like, could you do 10% of WebGPU on top of CPU SIMD (or whatever) extensions to make the GUI not painful? This is well below the level I have ever worked at, so I won't be surprised if the answer is "no".

                    mcc@mastodon.socialM 1 Reply Last reply
                    0
                    • mcc@mastodon.socialM mcc@mastodon.social

                      Servo rests atop wgpu. Therefore, if my OS's entire GUI layer is servo, and I believe that implementing webgpu is easier than implementing vulkan, I can increase my chances of writing a working video-acceleration driver if I simplify it so *the driver supplies wgpu*, instead of trying to support the full scope of DRI/DRM or OpenGL/Vulkan or whatever this entails.

                      Two things I want, in both cases wgpu provides a critical, project-saving step.

                      And oh, I think wgpu might be slop now. Never mind!

                      mcc@mastodon.socialM This user is from outside of this forum
                      mcc@mastodon.socialM This user is from outside of this forum
                      mcc@mastodon.social
                      wrote sidst redigeret af
                      #29

                      I am not the only person who wants what I want: Software by humans for humans, the ability to "use a computer" without participating in this horrible thing that AI companies are trying to build out of what used to be society. Everybody's grabbed the task closest to them. I know of a slopfree book ereader. I know of a slopfree password manager. We're all dependent on stuff further down the stack, and the stack became tall at some point, and only a few items in the stack have a slopfree principle.

                      mcc@mastodon.socialM sapphire@tech.lgbtS fishidwardrobe@mastodon.me.ukF 3 Replies Last reply
                      1
                      0
                      • mcc@mastodon.socialM mcc@mastodon.social

                        I am not the only person who wants what I want: Software by humans for humans, the ability to "use a computer" without participating in this horrible thing that AI companies are trying to build out of what used to be society. Everybody's grabbed the task closest to them. I know of a slopfree book ereader. I know of a slopfree password manager. We're all dependent on stuff further down the stack, and the stack became tall at some point, and only a few items in the stack have a slopfree principle.

                        mcc@mastodon.socialM This user is from outside of this forum
                        mcc@mastodon.socialM This user is from outside of this forum
                        mcc@mastodon.social
                        wrote sidst redigeret af
                        #30

                        This thread is probably meandering and maybe solipsistic. My point is this: My weird background means I can look at this staircase full of missing stairs, identify one step, and go, "I can fix that". But I don't know if there's enough of me to fix multiple steps. I haven't decided what to do from here. Pick a step and fix it anyway? Pick a "fun" project, like the GPU [which face it, even if I finished it chances are not high more than 3 people would ever use it]? Give up and learn electric bass?

                        mcc@mastodon.socialM datarama@hachyderm.ioD faraiwe@mstdn.socialF eniko@mastodon.gamedev.placeE griotspeak@soc.mod-12.comG 8 Replies Last reply
                        0
                        • mcc@mastodon.socialM mcc@mastodon.social

                          This thread is probably meandering and maybe solipsistic. My point is this: My weird background means I can look at this staircase full of missing stairs, identify one step, and go, "I can fix that". But I don't know if there's enough of me to fix multiple steps. I haven't decided what to do from here. Pick a step and fix it anyway? Pick a "fun" project, like the GPU [which face it, even if I finished it chances are not high more than 3 people would ever use it]? Give up and learn electric bass?

                          mcc@mastodon.socialM This user is from outside of this forum
                          mcc@mastodon.socialM This user is from outside of this forum
                          mcc@mastodon.social
                          wrote sidst redigeret af
                          #31

                          Anyway, I spent the last week writing documentation for Redox. The Redox project seems to be happy for my documentation patches. One thimble full of water, out of the sinking boat.

                          F ciatmusings@raru.reC spawnie@mastodon.socialS xdydx@mastodon.socialX cliftonr@wandering.shopC 7 Replies Last reply
                          0
                          • mcc@mastodon.socialM mcc@mastodon.social

                            People who are making FPGA GPUs are usually hardware folks and usually interested in like, running a game or something. I'm not a hardware folk. But I'm familiar enough with 3D APIs and OS midlayers I could, with a lot of work, make a GPU that doesn't just run demos but connects all the way up to Linux or some other desktop OS. And then we've finally got the open source laptop entire stack bottom to top, motherboard cpu gpu libreboot linux.

                            Except then Linux went finally, undeniably corporate.

                            mntmn@mastodon.socialM This user is from outside of this forum
                            mntmn@mastodon.socialM This user is from outside of this forum
                            mntmn@mastodon.social
                            wrote sidst redigeret af
                            #32

                            @mcc for completeness, i already had a PoC of this btw that i'm planning to revive https://mntre.com/media/reform_md/2022-09-29-rkx7-showcase.html

                            mcc@mastodon.socialM mayke@tech.lgbtM aparrish@friend.campA 3 Replies Last reply
                            0
                            • mcc@mastodon.socialM mcc@mastodon.social

                              Servo rests atop wgpu. Therefore, if my OS's entire GUI layer is servo, and I believe that implementing webgpu is easier than implementing vulkan, I can increase my chances of writing a working video-acceleration driver if I simplify it so *the driver supplies wgpu*, instead of trying to support the full scope of DRI/DRM or OpenGL/Vulkan or whatever this entails.

                              Two things I want, in both cases wgpu provides a critical, project-saving step.

                              And oh, I think wgpu might be slop now. Never mind!

                              crzwdjk@mastodon.socialC This user is from outside of this forum
                              crzwdjk@mastodon.socialC This user is from outside of this forum
                              crzwdjk@mastodon.social
                              wrote sidst redigeret af
                              #33

                              @mcc Mesa does make implementing Vulkan somewhat easier, I think in some of the same ways that just implementing webgpu directly would, in that a lot of the redundant API surface is provided by shared code. And in particular you probably want to use Mesa for the compiler framework it provides, something that would be a pretty big lift otherwise. I think it doesn't have a WGSL frontend but that doesn't seem like it would be too hard to write.

                              mcc@mastodon.socialM 1 Reply Last reply
                              0
                              • sabrina@fedi01.unicornsparkle.clubS sabrina@fedi01.unicornsparkle.club

                                @mcc What's the smallest API and implementation necessary to accelerate a GUI so that it feels good? What's the minimum amount of hardware to support that acceleration?

                                Like, could you do 10% of WebGPU on top of CPU SIMD (or whatever) extensions to make the GUI not painful? This is well below the level I have ever worked at, so I won't be surprised if the answer is "no".

                                mcc@mastodon.socialM This user is from outside of this forum
                                mcc@mastodon.socialM This user is from outside of this forum
                                mcc@mastodon.social
                                wrote sidst redigeret af
                                #34

                                @sabrina Yes, exactly. This is exactly the question I am posing. But here is the hard part:

                                Imagine identifying the operations you need for a fast 2D desktop. Can you implement those operations in FPGA? Trivially. This would be a fun, fast project. *The software you want to run would not be written to use those operations*. Modern software is doing its 2D by sitting atop OpenGL or Vulkan. So the difficult part is *identifying parts of Vulkan and OpenGL* that in practice a 2D program uses.

                                trurl@mastodon.sdf.orgT 1 Reply Last reply
                                0
                                • mcc@mastodon.socialM mcc@mastodon.social

                                  Rust wgpu now has a .agents/skills, a .claude/skills, an AGENTS.md, and a CLAUDE.md.

                                  Increasingly wondering if my goal of living in a way that I never benefit from the actions of generative AI users and generative AI users never benefit from the actions of me is going to inherently mean never using hardware-accelerated video on a computer again.

                                  rcombs@social.treehouse.systemsR This user is from outside of this forum
                                  rcombs@social.treehouse.systemsR This user is from outside of this forum
                                  rcombs@social.treehouse.systems
                                  wrote sidst redigeret af
                                  #35

                                  @mcc got bad news about the hardware itself

                                  mcc@mastodon.socialM 1 Reply Last reply
                                  0
                                  • rcombs@social.treehouse.systemsR rcombs@social.treehouse.systems

                                    @mcc got bad news about the hardware itself

                                    mcc@mastodon.socialM This user is from outside of this forum
                                    mcc@mastodon.socialM This user is from outside of this forum
                                    mcc@mastodon.social
                                    wrote sidst redigeret af
                                    #36

                                    @rcombs For thoughts on hardware, see the entire rest of the thread. I could use a RISCV CPU implementation made before 2025, if only I could display a triangle.

                                    1 Reply Last reply
                                    0
                                    • crzwdjk@mastodon.socialC crzwdjk@mastodon.social

                                      @mcc Mesa does make implementing Vulkan somewhat easier, I think in some of the same ways that just implementing webgpu directly would, in that a lot of the redundant API surface is provided by shared code. And in particular you probably want to use Mesa for the compiler framework it provides, something that would be a pretty big lift otherwise. I think it doesn't have a WGSL frontend but that doesn't seem like it would be too hard to write.

                                      mcc@mastodon.socialM This user is from outside of this forum
                                      mcc@mastodon.socialM This user is from outside of this forum
                                      mcc@mastodon.social
                                      wrote sidst redigeret af
                                      #37

                                      @crzwdjk That's some good clear thinking, thank you.

                                      I am not sure but I think the bridge-to-GPU layer in Linux goes through a middle step named "DRI" or "DRM", and I think Redox plans to adopt this wholesale. I don't know to what extent DRI/DRM is about just *configuring* displays and to what extent if you've implemented the DRI/DRM layer then Mesa just does the rest for free.

                                      crzwdjk@mastodon.socialC 1 Reply Last reply
                                      0
                                      • mcc@mastodon.socialM mcc@mastodon.social

                                        People who are making FPGA GPUs are usually hardware folks and usually interested in like, running a game or something. I'm not a hardware folk. But I'm familiar enough with 3D APIs and OS midlayers I could, with a lot of work, make a GPU that doesn't just run demos but connects all the way up to Linux or some other desktop OS. And then we've finally got the open source laptop entire stack bottom to top, motherboard cpu gpu libreboot linux.

                                        Except then Linux went finally, undeniably corporate.

                                        crzwdjk@mastodon.socialC This user is from outside of this forum
                                        crzwdjk@mastodon.socialC This user is from outside of this forum
                                        crzwdjk@mastodon.social
                                        wrote sidst redigeret af
                                        #38

                                        @mcc I was thinking of making a 2D GPU, it's something I might still take up one day if I end up with a lot of free time for whatever reason.

                                        mcc@mastodon.socialM 1 Reply Last reply
                                        0
                                        • mcc@mastodon.socialM mcc@mastodon.social

                                          Rust wgpu now has a .agents/skills, a .claude/skills, an AGENTS.md, and a CLAUDE.md.

                                          Increasingly wondering if my goal of living in a way that I never benefit from the actions of generative AI users and generative AI users never benefit from the actions of me is going to inherently mean never using hardware-accelerated video on a computer again.

                                          ptrchas3@functional.cafeP This user is from outside of this forum
                                          ptrchas3@functional.cafeP This user is from outside of this forum
                                          ptrchas3@functional.cafe
                                          wrote sidst redigeret af
                                          #39

                                          @mcc In 2043 mcc creates the last truly slop-free, hardware-accelerated video game using Vulkan SC on a retired 737 Cockpit Display System. Worldwide only four systems remain capable of running the game as intended after the FAA and EASA finally embraced Generative AI and the population learned to accept the catastrophic loss of %0.018 of flights.

                                          snoopj@hachyderm.ioS gkrnours@mastodon.gamedev.placeG 2 Replies Last reply
                                          0
                                          Svar
                                          • Svar som emne
                                          Login for at svare
                                          • Ældste til nyeste
                                          • Nyeste til ældste
                                          • Most Votes


                                          • Log ind

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          Graciously hosted by data.coop
                                          • First post
                                            Last post
                                          0
                                          • Hjem
                                          • Seneste
                                          • Etiketter
                                          • Populære
                                          • Verden
                                          • Bruger
                                          • Grupper