(Dealing with the GPU is going to be the majority of the work, I'd think.)
...without the documentation that would help you.
When Broadcom act like this they're considered villains and we're recommended to stay away from their hardware. But when Apple do it, they're being benevolent?
And that's ignoring the fact that I could actually get Broadcom documentation in exchange for dollars and NDA.
It does work out for Apple in the end. Their current standard 10 years' support will look quite short now Moore's law is dead and their hardware has barely any moving parts. But they'll shush some complaints if up to date third party OSes are available in 2030.
Well, it's not really worse than their usual documentation on products they officially support: https://www.caseyliss.com/2020/11/10/on-apples-pisspoor-docu...
Apple makes money selling hardware, and Linux support will sell more hardware. Perhaps not much more, but for a commensurately low amount of effort. What does Apple gain by forcing Marcan to reverse engineer everything?
I realize that Marcan isn't Microsoft—but he's not quite "a random guy with a Patreon" either. He's a professional freelancer, and I'm sure he has an LLC† and a set of professional references he can point to.
Put another way—on a scale between "Marcan" and "Microsoft", where is the threshold in which Apple would be helpful? I don't personally see a huge difference between a one-person LLC and a 100,000-person company in this regard. If anything, the 100,000 person company offers more opportunities for things to get leaked.
---
† Or something similar.
There are some interesting situations though. Like in the big GPU world it's very common to document the ISA. Even nvidia does. I suppose that's because it benefits the vendor when games and GPGPU compute programs optimize for their GPUs, down to the assembly level. It's sad that Apple's approach is "just use Metal" rather than fully enabling developers to get to the actual… well, "metal"
Apple‘s competitors have sufficient cash flows to pay whatever they need to get the best people. They just don’t want to.
It’s a good sign that the latest betas (11.2 IIRC) officially support multiboot in the UI. That’s a good indication Apple sees the level of interest in Linux on M1 that they intend to at least let it happen.
I’d say it’s still up in the air whether they’ll go for full first party support with drivers or an open spec, but it’s definitely not out of the question. And they may even have direct interest in it, as I’m sure they’d like to get the benefits of their hardware in their data centers.
Maybe the people doing this for free are just interested in benefitting from the result? As many people who work for free on open source do.
As far as I’m aware, there is no free (as in beer) hardware that runs Linux. Someone has put the effort into running Linux on every single for-profit/for-pay platform it runs on.
Are you under the mistaken impression I was suggesting that Apple waits for a community solution to be developed then packages that as a product? As far as I’m aware they didn’t do that with Boot Camp, but instead offered in-house drivers and blessed boot loaders and proprietary UI/UX for accessing both.
They're hoping to get increased for themselves, increased adoption of their internal tools outside of the company (easier recruiting plus purely internal tools are notorious for rotting quickly) and... free labor.
Somebody wants to copy the hardware over and sell it for half price? Yeah, good luck reproducing the M1.
Opening the boot loader to allow for Linux is quite an opposite of a middle finger, tbh. I don't know if they will divert some guys from working on MacOS towards Linux support, but this is already looking much better than before.
They don’t want you installing their OS on other hardware, not the reverse.
Perhaps for some of the peripheral stuff (such as the touchbar), but the GPU ought not to need it.
I wouldn't bet on it. Apple are very insular on matters like this, it's their toy, end of.
If the latest is true that could prove to be another prestige point for the M1.
They may have in order of 100 registers to talk to them and they're horribly proprietary with pretty much no standardisation.
Reverse engineering that is hellish at best - you can see projects like nouveau which barely manages to get nVidia cores up and working without help from the manufacturer. And that's after years and years of development.
That's pretty much game over for Noveau, and it is not due to difficulties in figuring out registers and NV ISA.
But that's a bit besides the point :)
I can understand preventing FW patching, maybe. But redistributing the manufacturer's genuine FW, why not?
Multiple reasons:
1) GPU manufacturers are notorious for not publishing documentation out of IP/patent concerns. Worst offender is NVIDIA here.
2) For embedded GPUs there isn't much interest in open source drivers... the big customers (think Samsung and the likes) have direct support from the chip design vendor and get drop-in drivers as part of the board support package (BSP, basically a conglomerate of bootloader, kernel+modules+initrd, firmware blobs for components such as wifi) so they don't need OSS drivers
3) The mobile GPU space is... splintered. With desktops you got the three major players AMD/ATI, NVIDIA and Intel's built-in Iris, in the GPU space there are more.
I think easily Apple takes the cake from nVidia - they don't even provide drivers for anything but their platforms (that is for their proprietary GPU core). The GPU core that's actually in the M1.
Making any modern GPU work is a lot of work because of how complicated they are. That's even with the full documentation.
In the Apple M1 case, the GPU will have to be reverse engineered to understand how it works, then a driver will need to be written for Linux that supports it.
I think opening up just enough to enable this effort also serves as some good nerd marketing for Apple. This race keeps the m1 in the news regularly, giving hope to those who want a low-power and performant ARM machine that wouldn't otherwise consider an apple machine.