After two years, Asahi Linux announces the first public release of Apple Silicon GPU drivers. It’s still in alpha, “but it’s good enough to run a smooth desktop experience and some games”.
According to the introduction, this version provides work-in-progress OpenGL 2.1 and OpenGL ES 2.0 support for all current Apple M series systems; it is sufficient for hardware acceleration of desktop environments such as GNOME and KDE, as well as older 3D games (such as Quake3 and Neverball, etc., can run all of the above games at 60 frames per second at 4K. But it is worth noting that these drivers have not passed the OpenGL (ES) conformance test, so there may be some bugs.
The development team said that their next step is to support more applications. While OpenGL (ES) 2 is sufficient for some applications, newer applications (especially games) require more OpenGL functionality. OpenGL (ES) 3 brings a ton of new features like multiple render targets, multisampling, and transform feedback. Work is in progress on these features, but they all require a lot of additional development work, and they all need to be completed before OpenGL (ES) 3.0 comes out.
In addition, work related to Vulkan is also planned. While only OpenGL is available now, the development team has designed it with Vulkan in mind; much of the work it did for OpenGL will be repurposed for Vulkan. However, it is estimated that the development team will give priority to launching the OpenGL 2 driver instead of the Vulkan 1.0 driver. The reason is that OpenGL is used more widely, so it makes more sense to support OpenGL first.
The work of the Asahi Linux development team includes:
- Kernel driver for mapping memory and committing memory-mapped work
- A user-space driver that translates OpenGL and Vulkan calls into hardware-specific data structures in graphics memory
- Compilers that translate shading programming languages such as GLSL into hardware instruction sets
There was a division of labor between team members: Alyssa Rosenzweig wrote the OpenGL driver and compiler, Asahi Lina wrote the kernel driver and helped develop OpenGL, Dougall Johnson worked with Alyssa on reverse engineering the instruction set, and Ella Stanforth worked on the Vulkan driver, reusing Kernel driver, compiler and some shared code with OpenGL driver.
“Of course, we couldn’t build an OpenGL driver in two years by ourselves. Thanks to the power of FOSS, we stand on the shoulders of FOSS giants.”
The compiler implements a “NIR” backend, the kernel driver uses the Linux kernel’s “Direct Rendering Manager (DRM)” subsystem to minimize the boilerplate; the OpenGL driver implements the “Gallium3D” API inside Mesa,” With Mesa and Gallium3D, we benefit from 30 years of OpenGL driver development, as well as common code that translates OpenGL to the simpler Gallium3D. Thanks to the incredible engineering of NIR, Mesa, and Gallium3D, our team of reverse engineers can focus on for the rest: Apple hardware”.
Since the driver is still under development, there are still many known issues, and the official provides a quick guide on how to report bugs. Users can regularly update the software package for updates and bug fixes, see the announcement for more details.
#Asahi #Linux #Releases #Public #Apple #Silicon #GPU #Driver #Release #News Fast Delivery