this post was submitted on 18 Jul 2025
85 points (97.8% liked)
Programming
21650 readers
219 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Not an expert, but I'll give it a shot. That way someone will speak up to correct me. ๐ธ
With an AMD GPU on Linux, you've got your kernel
amdgpu
driver which talks to the hardware, loads firmware, etc.Sitting on top of that is Mesa, which provides an opengl and vulkan driver. Your application talks to the opengl driver which talks to the kernel driver which talks to the hardware.
Windows has it's own graphics stack, which has video card drivers and DirectX drivers.
Metal is Apple's proprietary Vulkan knock-off, which seems to exist to force game devs to write games that only run on MacOS. This hasn't really worked.
Magma seems to be about inserting a layer between the kernel driver and Mesa, so you can use Mesa OpenGL drivers on top of Magma on Windows kernel drivers? That's not really something most people are looking to do.
Since we're talking about Apple, there's an upcoming library and spec called WebGPU that, contrary to it's name, is a higher level cross platform graphics library. It's an interesting idea, write once and depending on your platform, it would use the corresponding platform's preferred backend (e.g. Direct3D on Windows, Metal on Macs, etc). It's supposed to be promising and provide a easy way for any existing dev to hop in until they had to give up on SPIR-V support and come with a Metal-like shading language just to appease Apple so that they would support it due to Apple's existing legal disagreements with Khronos.
And from what I've seen from WGSL, it's nowhere as nice as GLSL and HLSL.
So yea, if you need any more evidence of Apple's shitty attitude in the space.
They do seem to alternate between making MacOS graphics worse and wondering why nobody's making games for MacOS.
Management seem to think that desktop Mac has the same market share that iPhone does and keep wondering why throwing their weight around isn't working.