Linux could run on Apple M1 chips in just a few months
Apple's latest M1-based range of laptops and desktops has impressed many with the impressive speed boost over Intel chips. While many macOS fans have been eagerly waiting for their favorite apps to be ported across, others have been waiting to the arrival of Linux.
And with the launch of version 5.13 of the Linux kernel, this should become a reality. The hard work of developers means Linux support could be coming to M1 Apple devices as soon as June this year.
Support will initially, understandably, be somewhat rudimentary. But it will at least be official and -- hopefully -- rather more reliable than cobbled-together hacks. While the early stage of support will mean that not everything will be working as everyone might hope, it will serve as an important starting point from which to build.
As Phoronix points out:
This initial Apple M1 Linux port gets the UART, interrupts, SMP, and DeviceTree bits in place for offering basic functionality. There is also a SimpleFB-based frame-buffer but getting working 3D/video acceleration will obviously be a daunting challenge.
Besides other areas of the Apple M1 platform support still to be addressed, getting the Apple M1's graphics fully working under Linux for day-to-day use is likely to take some time... Just take a look at the lengthy bring-up of the Raspberry Pi / Broadcom open-source graphics driver stack and that's where there is documentation and commercial activity involved. The Freedreno reverse engineering for Qualcomm Adreno graphics was a multi-year effort before becoming quite viable and similarly the Panfrost effort for Arm Mali was also quite an undertaking and in their case only now getting to working on Vulkan support. It will be surprising if this calendar year if they can even manage to get an accelerated desktop working good enough and reliable for basic day-to-day use on the M1.
A Git pull entitled Apple M1 SoC platform bring-up for 5.13 reveals a little more about the work that is being done, and the direction in which things are going.