Asahi Linux Project’s OpenGL Support On Apple Silicon Officially Surpasses Apple’s
Andrew Cunningham reports via Ars Technica: For around three years now, the team of independent developers behind the Asahi Linux project has worked to support Linux on Apple Silicon Macs, despite Apple’s total lack of involvement. Over the years, the project has gone from a “highly unstable experiment” to a “surprisingly functional and usable desktop operating system.” Even Linus Torvalds has used it to run Linux on Apple’s hardware. The team has been steadily improving its open source, standards-conformant GPU driver for the M1 and M2 since releasing them in December 2022, and today, the team crossed an important symbolic milestone: The Asahi driver’s support for the OpenGL and OpenGL ES graphics have officially passed what Apple offers in macOS. The team’s latest graphics driver fully conforms with OpenGL version 4.6 and OpenGL ES version 3.2, the most recent version of either API. Apple’s support in macOS tops out at OpenGL 4.1, announced in July 2010.
Developer Alyssa Rosenzweig wrote a detailed blog post that announced the new driver, which had to pass “over 100,000 tests” to be deemed officially conformant. The team achieved this milestone despite the fact that Apple’s GPUs don’t support some features that would have made implementing these APIs more straightforward. “Regrettably, the M1 doesn’t map well to any graphics standard newer than OpenGL ES 3.1,” writes Rosenzweig. “While Vulkan makes some of these features optional, the missing features are required to layer DirectX and OpenGL on top. No existing solution on M1 gets past the OpenGL 4.1 feature set… Without hardware support, new features need new tricks. Geometry shaders, tessellation, and transform feedback become compute shaders. Cull distance becomes a transformed interpolated value. Clip control becomes a vertex shader epilogue. The list goes on.”
Now that the Asahi GPU driver supports the latest OpenGL and OpenGL ES standards — released in 2017 and 2015, respectively — the work turns to supporting the low-overhead Vulkan API on Apple’s hardware. Vulkan support in macOS is limited to translation layers like MoltenVK, which translates Vulkan API calls to Metal ones that the hardware and OS can understand. […] Rosenzweig’s blog post didn’t give any specific updates on Vulkan except to say that the team was “well on the road” to supporting it. In addition to supporting native Linux apps, supporting more graphics APIs in Asahi will allow the operating system to take better advantage of software like Valve’s Proton, which already has a few games written for x86-based Windows PCs running on Arm-based Apple hardware.