Apple M1 Pro/Max/Ultra Device Trees Under Review For Linux
This is part of the enablement work for getting the Apple M1 Pro/Max/Ultra powered devices working with the upstream Linux kernel. Thanks to the Asahi Linux project and their patched distribution based on Arch Linux, it's already possible to run these newer Apple Mac devices powered by the higher-end M1 parts while the upstreaming effort to the kernel remains ongoing.
The "request for comments" patches sent out on Friday add the necessary Device Tree files for the Apple M1 Pro, Max, and Ultra SoCs but still this isn't the last of the enablement work. Janne Grunau commented when sending in the DT patches:
Even with the t6000-dart support t600x devices are not terribly useful in upstream. There is no input device support. The laptop's keyboard and touchpad are missing SPI and HID over SPI drivers. The dwc3 USB-C ports are not yet added since they require special handling after disconnect. The PCIe based USB xhci controller in the Mac Studio requires firmware downloaded in a similar way as USB_XHCI_PCI_RENESAS.
Beyond many patches not being upstreamed, one of the big blockers for daily usage of the Apple M1 and M2 powered hardware on Linux remains the GPU acceleration support. There is hope for OpenGL 2.1 on their open-source, reverse-engineered driver by the end of the calendar year but even then will still likely be longer until being upstreamed... Especially with the planned DRM kernel graphics/display driver looking at using the Rust programming language so in turn also needing the Rust infrastructure ready and upstreamed into the kernel.
It's a lengthy and ongoing process for getting Apple's Arm-powered devices running well on Linux. The latest bits for upstreaming are the DT files for the higher-end M1 chips in use by the likes of the Apple Mac Studio (pictured).
Those interested in the DT patches can see them on the kernel mailing list.
Those wondering about the current downstream support for Linux on the Apple M1/M2 when using Asahi Linux can see their Wiki page for the current feature matrix.