Dear Twitter: would you be willing to fund a Linux port to Apple Silicon macs, and if so, how much would you pledge? Read thread for details. (please reply for >$50)
-
-
I have experience on this front, having worked on Linux ports for a bunch of things - from getting it to run on an old ISP router back when I was 14 years old, to making PS4 Linux happen, even to the point of running Steam games with full OpenGL and Vulkan support on it.
Show this thread -
Porting Linux to random devices is easy. I've done one-evening ports to completely bespoke architectures other than the CPU/MMU. Porting Linux to the point where you'd *actually want to use it*, now that is much harder.
Show this thread -
Having financial support for such an endeavour would actually make it viable. It would go from something I could dedicate random evenings to (plus crunch time before a conference where I want to show stuff off) to something I could consistently work on.
Show this thread -
When I say a Linux you would actually want to use, I mean something with all basic hardware working: keyboard/touchpad/sound/screen/GPU/WiFi/BT/USB and *decent power management*.
Show this thread -
The amount of effort involved to get there is proportional to how different a given platform is to existing ones. M1 macs are brand new. Other than the CPU architecture itself and a few peripherals, almost everything is Apple-custom and proprietary. Especially the GPU.
Show this thread -
The big time sink is GPU support, which is what takes a Linux port from being a toy to being something you would actually want to use. It's why Switch Linux and PS4 Linux happened: the Switch uses a completely standard GPU, and the PS4's is only slightly customized.
Show this thread -
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 :-)
Show this thread -
The other big open source fully reverse engineered GPU driver project is Nouveau, which has shown that this is possible. Unfortunately they've been *heavily* screwed over by Nvidia (except on Tegra, the only place they've helped out at all).
Show this thread -
Linus himself has said he'd love to see Linux running on M1 macs, but doesn't think it'll happen. Not because they're locked down, but because Apple won't help us with documentation. But they at least did this:pic.twitter.com/71192GFcnz
Show this thread -
The fact that Apple allows this in their secureboot policy is critical. Linux ports to game consoles / iPhones / etc are all fun and games, but you're always at the mercy of exploits, and the resulting cat and mouse game.
Show this thread -
That means all effort is wasted unless exploits keep up, and regular users would never want to do this and severely limit their access to official upgrades and such. But this isn't an issue with M1 macs.
Show this thread -
Of course there are downsides (security-wise) to downgrading your secureboot policy to run Linux, but nothing that would be worse than any old x86 machine with no serious secureboot anyway, so that's hardly a problem for the kind of people who'd want to boot Linux.
Show this thread -
More importantly, Apple isn't going to go off suing people for working on this project. While reverse engineering macOS drivers may be legally questionable in some jurisdictions, it's perfectly legal in others, and so is getting the binaries (any mac owner can do it).
Show this thread -
So what do you think? Is this something you'd actually throw money at? If there is enough interest that this might succeed, I'll open up a Patreon. Obviously all development would be public and open source.
Show this thread -
On a personal level, I'm already freelance and this is the kind of work I enjoy doing, so I'd be very happy to dedicate a large fraction of my time to this. (You've seen what I can do on game consoles in my spare time, think much more than that)
Show this thread -
I think there is no point on working on this unless a certain minimum is met such that I can guarantee a decent time investment - I don't want this to be another half-assed Linux port that makes for a fancy tech demo but nobody would actually want to use.
Show this thread -
So I'm thinking I would set up the Patreon in "pay per creation" mode initially, or otherwise paused, and not charge anything until I reach a minimum threshold (TBD). Thoughts?
Show this thread -
Since someone asked on HN: this would absolutely all be written with upstreamability in mind and upstreamed as soon as practical. None of that forever forked kernel with horrible hacks nonsense.
Show this thread -
Okay, that was... a lot more support than I expected to get. Please stand by while I put together a Patreon!
Show this thread -
Show this thread
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.