Hacker News new | ask | show | jobs
by caskstrength 1756 days ago
> I’m so worried this project will get 95% of the way there, and then all the fun issues will run out and the M1 will be just another MacBook with WiFi, Bluetooth and sleep issues.

You are right to be worried. Getting all the nitty-gritty details about modern hardware without access to documentation is impossible. In the end this will somewhat work but will almost certainly have worse performance than MacOS with higher energy usage and be otherwise rough around the edges (like sleep problems, lack of support for fingerprint scanner and other issues typical to hardware that are not directly supported to run Linux by the vendor).

> The obvious issue is to pay someone to do the work, and I am, but I still can’t shake the fear.

I don't think just paying someone is going to help unless Apple provides documentation (which they won't do).

1 comments

If they can reverse engineer a whole undocumented display controller and GPU, then a fingerprint scanner is easy. The barriers to these 'minor' things is motivated people to do it, not anything technical. This is something that can be helped with money.

Fundamentally like many engineering things, it's a Pareto principle thing. You can have a "basically working" device but it's a surprising amount of (potentially dull) work to get every last thing working properly.

That's why I started a Patreon for this, and set a minimum threshold below which the project would not start. I've been there and done "fun challenges only" ports (e.g. PS4 Linux) and I know things never get to the point where they need to be if people are only working on it for fun.

The Patreon turns this into a job, which means I have reason to keep chipping away at all those "minor" things. It also means everyone else working on the project can choose what they work on, and I pick up whatever is left that nobody wants to do.

> If they can reverse engineer a whole undocumented display controller and GPU

Who says they reverse engineered whole of it? Making it display images is easier compared to making it work fast, support video decode, power saving, etc. Nouveau has been around for long time and never transitioned from former to latter state.

> then a fingerprint scanner is easy.

Yes, but it is not the point I was making.

> The barriers to these 'minor' things is motivated people to do it, not anything technical. This is something that can be helped with money.

I've been working on Linux kernel for some time now and I stand by my opinion that the main barrier to do it is technical. You can disagree though.

Nouveau has a problem with nonredistributable firmware. We don't have that problem because Apple distributes their firmware themselves and it gets loaded before Linux boots. I already put together a prototype installer that deals with the whole firmware situation for users.

I've been porting Linux to undocumented platforms for 10 years and the main barrier to getting it polished is motivational, not technical. It's precisely the hard problems that motivate people.

Okay, Hector, so assuming your Patreon reaches 100% when can we expect to have Linux working on M1 with similar performance, battery life and hardware video decoding in mplayer and Firefox?
There's no way to make hard promises about reverse engineering projects, but if you want an educated guess: basic accelerated graphics by the end of this year, and polish to the level of proper sleep states/PM/video decode and such by the end of 2022.
> There's no way to make hard promises about reverse engineering projects, but if you want an educated guess: basic accelerated graphics by the end of this year, and polish to the level of proper sleep states/PM/video decode and such by the end of 2022.

Thanks for the honest response. IMO you are being _extremely_ optimistic, but I would be glad to be proved wrong on this one.

Apple is probably actively working against you if you want to get the fingerprint scanner and its ‘Secure Enclave’ to work.
Linux can use the Secure Enclave just as well as macOS can. We fully intend to support Touch ID and things like offloading SSH key authentication to the Secure Enclave from Linux.

All this "Apple hates us and half the things are never going to work" FUD is getting really tiring. There isn't a single instance where Apple have put roadblocks in front of Linux support in the history of the Macintosh. All existing problems come down to lack of drivers or nonstandard design choices. Solving that is the entire goal of the project: developing support for the hardware.