Demonstration of running the Linux environment with GNOME on devices with Apple M1 chip.

The initiative to implement support for the Apple M1 chip in Linux, promoted by Asahi Linux and Corellium projects, has reached a level where it is now possible to run the GNOME desktop in a Linux environment on a system with the Apple M1 chip. The output to the screen is organized via a framebuffer, and OpenGL support is provided by the LLVMPipe software rasterizer. The next step will involve utilizing the display coprocessor for output with a resolution of up to 4K, with the reverse engineering of drivers already conducted.

The Asahi project has achieved the inclusion of initial support for M1 SoC components not related to the GPU in the mainline Linux kernel. In the demonstrated Linux environment, several additional patches related to PCIe, the pinctrl driver for the internal bus, and the display driver have been used alongside the capabilities of the standard kernel. These additions have enabled screen output and achieved functionality for USB and Ethernet. Graphics acceleration is not yet utilized.

Interestingly, for the reverse engineering of the M1 SoC, the Asahi project implemented a hypervisor instead of attempting to disassemble macOS drivers, which operates at a level between macOS and the M1 chip, transparently intercepting and logging all operations with the chip. One of the features of the M1 SoC complicating the support implementation in third-party OSs is the addition of a coprocessor in the display controller (DCP). Half of the macOS display driver’s functionality has been allocated to this coprocessor, which calls the coprocessor’s ready functions through a special RPC interface.

Enthusiasts have already analyzed enough calls to this RPC interface to utilize the coprocessor for screen output, as well as for controlling the hardware cursor and performing compositing and scaling operations. The issue lies in the fact that the RPC interface depends on the firmware and changes with each version of macOS, so Asahi Linux plans to implement support only for specific firmware versions. Primarily, support will be provided for the firmware shipped with macOS 12 'Monterey'. It is not possible to download the required firmware variant since it is installed by iBoot before control is passed to the operating system and is verified by a digital signature.

Demonstration of running the Linux environment with GNOME on devices with Apple M1 chip.
Demonstration of running the Linux environment with GNOME on devices with Apple M1 chip.


Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster