The very early Direct Rendering Manager (DRM) driver, written in the Rust programming language to support the Apple M1/M2 graphics processor, has reached the milestone of rendering a cube.
Asahi Linux developer Asahi Lina, who has focused on creating this Apple AGX DRM kernel driver, announced Friday night that the milestone has been reached by being able to render a spinning cube with the appropriate userspace code. Although this driver is still in its early stages and it was noticed that the HDMI output is not even working at the moment.
Asahi Lina previously brought out the first rendered triangle on the M1 with an open-source driver rendered from the m1n1-based environment, while it is now evolving into a working Linux driver stack. This DRM kernel driver is also set to be the first GPU kernel driver written in Rust and relies on the yet to be merged Rust Linux kernel infrastructure, which will hopefully land in Linux 6.1, but it’s probably still a way out before this DRM driver will be able to mainline.
Meanwhile, in the userspace, the Mesa Gallium3D AGX driver for the Apple M1/M2 graphics happens to have OpenGL support. They hope to have OpenGL 2.1 support there by the end of 2022. Obviously, it will be much longer before OpenGL 3.x/4.x and a Vulkan driver for the Apple SoC graphics show up. In short, it’s still a long way to go on the graphics side, while Asahi Linux on the Apple Silicon hardware is quite usable if it doesn’t require accelerated graphics.
Anyway, the milestone reached for the kernel driver effort this weekend is the spinning cube as shared on Asahi Lina’s Twitter:
Asahi Lina shows off the first spinning cube that runs on top of the work-in-progress DRM kernel driver for the Apple M1/M2.
For those looking to reminisce, 2008 was the big milestone of open-source rendered triangles with the ATI RV770 GPU.