Rust wgpu now has a
-
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.
@mcc
The open source insulin pump automation that I use (AndroidAPS) has quite heavy Claude involvement, so I'm not escaping at least that one...
-
@BigShellEvent Thanks. This was really important to me

@mcc
feels like someone shat in your soup then mixed it ladle and it is not even my kind of soup and it is infuriating -
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.
@mcc Everything driven by the market loses its meaning. The market has that power. Now that everything is being accelerated and automated, it gives us the feeling that everything is losing its meaning. It’s madness.
-
As recently as like, a year ago, I believed that we couldn't trust hardware companies. I thought the biggest concern was that we'd get locked into a situation where at least for handheld devices like phones, if you want to buy one you get locked into a duopoly where you have to use one of two corp operating systems and you have to accept all kinds of DRM and identity tracking and such. I wanted a solution. So I was very interested in RISCV and I was trying to imagine the GPU version of RISCV.
I was learning FPGA HDLs and I had this idea. I was going to try to make a proof-of-concept open-source GPU in FPGA. This is an absurdly overambitious idea, so I was going to scope it down as much as I could. I figured, you look at "open hardware" laptops, you can get an open bootloader, an open UEFI firmware, an open CPU, an open motherboard design. The GPU is the missing piece. Modern desktops are less pleasant without hardware accelerated 2D compositing. So I wanted to solve just that part.
-
@mcc Genuinely, something I hope we get someday is an FPGA-implemented open source GPU. I've wanted that for a long time, because I think graphics APIs are broadly a mistake, and instruction sets are better, and the reason we're in The Bad Place about this is vendors being protectionists about IP. But lately, I'm seeing additional benefits to making GPU simple and open enough that there's no excuse to slopping it.
@MaddieM4@raphus.social @mcc@mastodon.social I’m waiting on my ULX3S board to ship and this is the main reason I ordered it, to become the video card of a microcontroller-based personal computer theoretically
-
I was learning FPGA HDLs and I had this idea. I was going to try to make a proof-of-concept open-source GPU in FPGA. This is an absurdly overambitious idea, so I was going to scope it down as much as I could. I figured, you look at "open hardware" laptops, you can get an open bootloader, an open UEFI firmware, an open CPU, an open motherboard design. The GPU is the missing piece. Modern desktops are less pleasant without hardware accelerated 2D compositing. So I wanted to solve just that part.
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*.
-
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*.
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.
-
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.
Okay so now what I'm looking at is Redox. Redox is the OS project I find that's interested in being written by humans instead of people who have decided to replace parts of their brain with a corporation. I can live with this. I've got an update on my Redox thread I haven't posted yet, but for these purposes what's important is Redox doesn't have, and considers a far-future goal, video acceleration. That makes sense. But it means there's a gap in the staircase I wish to climb.
-
Okay so now what I'm looking at is Redox. Redox is the OS project I find that's interested in being written by humans instead of people who have decided to replace parts of their brain with a corporation. I can live with this. I've got an update on my Redox thread I haven't posted yet, but for these purposes what's important is Redox doesn't have, and considers a far-future goal, video acceleration. That makes sense. But it means there's a gap in the staircase I wish to climb.
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.
-
Okay so now what I'm looking at is Redox. Redox is the OS project I find that's interested in being written by humans instead of people who have decided to replace parts of their brain with a corporation. I can live with this. I've got an update on my Redox thread I haven't posted yet, but for these purposes what's important is Redox doesn't have, and considers a far-future goal, video acceleration. That makes sense. But it means there's a gap in the staircase I wish to climb.
@mcc Redox needs to be broken up a bit so we can do some mix-and-matching.
-
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.
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
-
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.
@mcc (probably this requires never upgrading to any piece of hardware released past ~2024 or so) -
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.
@mcc
Well, maybe not simultaneously, but I think you could do both if you wanted to. -
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
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:
-
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.
@mcc
amd and intel provide gpu docsso yes, you totally can
-
@mcc
amd and intel provide gpu docsso yes, you totally can
@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?
-
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:
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!
-
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*.
@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 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.
@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.
-
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 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".