Developer Hector Martin, who describes himself as someone who "likes putting Linux on things," has launched a plan to create a Linux port for Apple Silicon Macs.
Martin, also known as "Marcan," has created a Patreon with the goal of earning enough funding to be able to take on the complexities of bringing Linux to Macs equipped with an M1 chip. Creating a Linux port is no easy task, and Linux creator Linus Torvalds has even said that he doesn't think it's a possibility.
Martin has experience getting Linux running on unusual platforms and has been able to create a Linux port for the PlayStation 4 but he acknowledges that an Apple Silicon Linux port is a much more serious undertaking. Creating a Linux port for Apple's Macs is a full time job, and Martin says that it's not viable without financial support. He's started a Patreon that's asking for $4,000 per month with $3, $6, and $12 pledge tiers. He's 88 percent of the way funded and doesn't plan to start the project unless he gets the full amount.
So you *can* run your own OS on M1 macs - if such an OS exists. But getting a Linux you would *want to use* working on Macs is a huge amount of work. Not something any single person could seriously tackle -and succeed at- on their spare time. It's a full-time job. — Hector Martin (@marcan42) November 29, 2020
According to Martin, he's qualified to take on the project because of his experience working on Linux ports for other devices like the PlayStation 4. From the FAQ on his website:
I've been reverse engineering devices for over half of my life, since the early 2000s. I've worked to build unofficial open software support for platforms such as the Nintendo Wii (where I am one of the largest contributors to hardware documentation, open libraries, "jailbreaking" software (The Homebrew Channel), recovery tools (BootMii), etc), the Sony PS3 (where I wrote AsbestOS and a Linux patchset to enable Linux to work on the PS3 Slim as well as up-to-date PS3 units after the original Linux support was removed), the PS4 (which I ported Linux to, to the point of being able to run Steam games with full OpenGL/Vulkan graphics support), and other smaller platforms.
I always strive to write clean and robust code that is safe, puts the user first, and is upstreamable. I support open hardware and software development. I've gone through the Linux kernel patch process multiple times and I know what it takes to get stuff upstreamed.
Martin says that he wants to create a Linux port for Apple Silicon Macs that people "actually want to use" with all basic hardware working, decent power management, and more. The "big time sink" will be GPU support, which is necessary to make the port happen. Martin was able to get the PS4 version up and running because it's using a GPU that's only slightly customized, but Apple Silicon will be more difficult. There's proof of concept, though, in Nouveau, a GPU driver project for NVIDIA cards.
No such luck for the M1, but we at least have the fact that it's a legacy-free architecture, comes from the mobile space (where GPUs are historically less insane than PC ones), and I trust their engineers a bit more than AMD or Nvidia ones :-) — Hector Martin (@marcan42) November 29, 2020
The project is not sanctioned by Apple, but so long as Martin does not use code from macOS to build Linux support, he says it is legal for him to distribute to users. Apple also allows for the booting of custom kernels on Apple Silicon, which paves the way for Linux support, but Martin will need to reverse engineer Apple drivers.
Linus Torvalds earlier this month said that he'd love an M1 Mac if it ran Linux, but that he doesn't feel it's possible without Apple's cooperation. "The main problem with the M1 for me is the GPU and other devices around it, because that's likely what would hold me off using it because it wouldn't have any Linux support unless Apple opens up," said Torvalds. He went on to say that he thinks it "seems unlikely" Apple would open up its chipsets, but "you can always hope."
If the project is funded, and it's looking like it will be, Martin plans to develop in the open with regular pushes to GitHub, and he will accept help from anyone who wants to contribute.