While we have already witnessed Ubuntu run on Apple M1, there was another community project that was also working to bring Linux support to Apple’s M1-powered devices – Asahi Linux.
And, as per a recent tweet by Asahi Linux, this was later merged into the Linux SoC tree that should be coming to Linux 5.13:
In other words, initial support for Apple M1 silicon is coming soon with Linux Kernel 5.13 merge window which starts at the end of April!
Initial Linux Support for Apple M1 Devices
If you want to boot into a graphical desktop using Linux on an Apple M1 device, you still have a lot of time.
Of course, you can follow Corellium’s work on a successful Linux port to run Ubuntu on Apple M1. But, this is particularly exciting because this is not a hack by itself but a proper initial Apple M1 SoC support in Linux Kernel.
However, as per the testing notes in the pull request, it still does not include the drivers:
This has been tested on an Apple M1 Mac Mini booting to a framebuffer and serial console
Considering that this work lays the foundation of a native Apple M1 support on Linux, it is a big feat to achieve.
Technically, the pull request mentions the following feature support planned to be added in Linux 5.13:
- UART (samsung-style) with earlycon support
- Interrupts, including affinity and IPIs (Apple Interrupt Controller)
- SMP (through standard spin-table support)
- simplefb-based framebuffer
- Devicetree for the Mac Mini (should work for the others too at this stage)
You may go ahead and explore all the technical details about the test and the hardware in the pull request.
Probably the next challenging work will be adding the GPU support for Linux, but when that’s done, you should have an Apple M1 running Linux gracefully!
Excited about native Apple M1 support coming to Linux soon?