Pre-implementation of a new driver for the Apple AGX series G13 and G14 GPU used in Apple M1 and M2 chips has been proposed by a Linux developer. The developer has suggested a DRM-SAHI driver, which is written in RUST and includes a set of universal dressings over the Direct Rendering Manager subsystem, which can be used for developing other graphic drivers in Rust. While the patch set is still in the proposed stage for core developers, it can be approved after review and remediation of the identified shortcomings.
Since its inclusion in the ASAHI Linux core in December, the driver has been tested by members of the project. Linux distributions can use the driver to operate graphic environments on Apple devices with SOC M1, M1 Pro, M1 Max, M1 Ultra, and M2. Development of the driver focused on error minimization when working with memory in the code performed on the CPU side to strengthen security. Moreover, there is partial protection from the problems that arise when interacting with the firmware. This has been achieved by providing certain strands for unsafe structures of separatist memory with complex chains of signs used in firmware-driver interactions.
The proposed driver can be used in conjunction with Mesa Diver asahi, which ensures OpenGL support in the user space. It is almost ready to support OpenGL ES 3.0 and has passed compatibility tests with OpenGL ES 2. Development at nucleus-level is directed towards supporting Vulkan API, and the software interface for interacting with the user space is designed to use the Unified API provided by the new Intel XE driver.