Reverse-engineering Apple's custom silicon is basically the modern equivalent of repairing a spaceship while it's actively launching. Incredible work by the Asahi team!
I assume your question was in good faith, but the information needed to support an entire platform like this is not as simple as sharing a PDF. I’ve spent parts of my career working on much simpler platforms than an entire Apple laptop where we would have to work through 10,000 page PDFs documenting registers and even that was not enough to get the full picture of the system. You have to work through provided code samples and then eventually get the vendor’s engineers to look into problems that couldn’t be resolved through the documentation, where they would go look into the other teams and their sources to discover the answer.
The market for people who want to install Linux on a Mac laptop is very tiny. The honest answer is that it’s not worth the huge effort investment needed to document an entire platform for public consumption.
I don’t think many people realize how easily Apple could have locked down the laptop to be able to not run any alternate OS at all and the number of lost sales would be so negligibly small as to not matter. They chose to leave it open.
Apple's hypervisor.framework lets other OS instances run very very fast with the UTM app (open source on github, but i use the prebuilt version from the App Store). In my case i've used arm native linuxes (arch with various compositors, kde, gnome, fedora) all on M2, M2 Max, M5 and the experience is indistinguishable from native. MacOS is running too. I think hardcore graphics folks might want direct accelerator access, or there'd be curiously little reason for Asahi (other than that it's awesome work).
I use UTM in emulation mode, NOT Qemu simulation mode, which is wasteful.
What is the purpose here? You are still stuck with a full blown MacOS running the system no? That is what Asahi tries to replace, not the other way around.
The purpose is to be able to run a decent Linux setup while also having MacOS for things. Not everyone is stuck on the anti-Apple train; some of us put software on all the platforms and thus using the hypervisor for this use case is quite comfortable. Disclaimer: personal experience - I too use UTM for highly productive things..
I'd recommend reading up on it, and perhaps trying it, because it's very useful.
For folks lamenting that the (awesome) Asahi efforts are challenged by reverse engineering of changes from M2 to M3, and so on, those changes vanish into the abstraction, but their benefits do not. That's why i switched from Asahi a couple years ago to UTM in apple silicon hypervisor mode.
i have no idea how you think apple silicon will discontinue support for itself.
the hypervisor framework documentation, that i linked above, is pretty clear; the linux builds for arm run extremely fast on apple silicon because hypervisor framework gives them hardware access, in some subsystems directly (memory mapping for example), in other systems through a shim (graphics hardware).
Aside from the "they have no incentive" answer, I imagine it's not so easy even if they wanted to. I suspect most of it won't be solely Apple's IP to share in the first place.
It wouldn’t even be a problem for Apple to support Linux. Linux’s desktop market share has never been a threat to Apple at all. I hope Termus, being the engineer he is, opens this up.
They want control on the walled garden. When was the last time apple did anything for public unless forced by FCC. Now there is no hope since they can simply donate to trump.
Would you happen to have a link to this? I would like to learn about this but unfortunately treehouse.systems doesn't seem to be very well indexed by search engines, and Mastodon's search is failing me.
So that you have to keep buying Macs every few years of course. If they gave you a way to install linux easily then you could use it far past their intended lifespan and wouldnt keep you locked into the apple ecosystem. They have proved time and time again that Apple hardware running anything but MacOS or iOS is something they will work very hard to stop you doing.
I expect they don't actually care whether or not people run Linux on macs. I mean they used to let you run Windows!
Probably the real reason is just that it's extra work - both in terms of producing the docs, and in dealing with complaints when they change things. From their point of view it's extra work with no benefit to them.
Yep, I suspect the goal is to reduce support footprint/burden to the absolute minimum possible, which is also why they don't maintain their legacy virtualization/translation layers indefinitely (Classic mode, Rosetta 1 (PPC → x86), Rosetta 2 (x86 → ARM)). The benefit is being able to make major changes, refactors, etc with relatively little delay and encumbrance.
This applies on both the software and hardware layers. In the past, CPU suppliers dragging their feet and/or being unable to deliver on promises were the chief motivation for switching architectures, and now that they're their own supplier they can banish that issue entirely so long as they're not beholden to any kind of external behavioral contracts or expectations.
If the OS teams need some new capability or discover substantial benefit from redesigning some part of the SoC, the SoC/hardware team can just implement it and not have to care about breaking anything. That's a major competitive advantage that practically nobody else in the computer or mobile device industries has.
They let you run Windows when they were losing in the market and needed a path to migration for users of the winning platform. Once they started winning, they stopped.
Conversely, Microsoft refused to interoperate with Linux. Until Linux became the clear winner in the datacenter space. Now they have WSL and actually work pretty well as a cross-platform development environment.
> Why Apple does not at least provide the specs to the community?
Because then they'll have to compete with Linux, which opens them up to someone else making a cheaper computer that does the same stuff.
I mean, I'm typing this on a junky Raptor Lake laptop I found on eBay for $220. Would I buy a Neo or MBP to replace it just to run the same software stack? Probably not.
If you believe OS X is the best environment and Apple Silicon will remain the best hardware in perpetuity, it seems silly for Apple not to allow some experimentation. Apple executives, to be blunt, know better. Lean times are always ahead.
Apple silicon is winning in performance and power consumption. It's not quite the same as the old Intel based generation, where they were more like premium/well built machines with good screens and hardware.
Now some people would like to use that top of the line Apple silicon but without MacOS that comes with it. I doubt this is a huge threat to apple but it's also not a huge market for them. From what I understand they are not actively impeding it but not actively helping it either.
I actually won a M2 laptop a while ago. I resold it, new in box still shrink wrapped because I did not care for MacOS, just a personal preference. People like me are a minority though.
> It's not quite the same as the old Intel based generation, where they were more like premium/well built machines with good screens and hardware.
Not sure what generation you're talking about? Intel c. 18-25 years ago was wildly ahead on everything, much more so than Apple is now, in fact.[1] Apple Computer, quite famously, straight up abandoned their previous CPU architecture and started shipping Intel chips just to have something competitive in the market.
Again, everything goes in cycles in this industry and Apple's executive decisionmaking is 100% not placing bets on being the best forever just to make a bunch of Linux nerds happy.
[1] Process innovation mattered more at the time, where now we're hitting the scaling limit and chips are much more comparable.
Processors, not just Apple’s, change constantly between generations. The core instruction set doesn’t change, but they get new capabilities, not just with new instruction sets.
Remember the SoC isn’t just the CPU. It’s display engines, GPUs, storage controllers, video decoders and more.
Even outside of Apple, you’ll see hardware vendors provide Linux patches for their latest CPUs to keep working well. There’s some baseline functionality that works out of the box but it’s never a free ride.
Because it's a lazy response. OP might not be a software developer. Should they learn complex software engineering to try and contribute or should they call out a missing feature that's important to them so the actual developers have some data on what to prioritise?
I assume your question was in good faith, but the information needed to support an entire platform like this is not as simple as sharing a PDF. I’ve spent parts of my career working on much simpler platforms than an entire Apple laptop where we would have to work through 10,000 page PDFs documenting registers and even that was not enough to get the full picture of the system. You have to work through provided code samples and then eventually get the vendor’s engineers to look into problems that couldn’t be resolved through the documentation, where they would go look into the other teams and their sources to discover the answer.
The market for people who want to install Linux on a Mac laptop is very tiny. The honest answer is that it’s not worth the huge effort investment needed to document an entire platform for public consumption.
I don’t think many people realize how easily Apple could have locked down the laptop to be able to not run any alternate OS at all and the number of lost sales would be so negligibly small as to not matter. They chose to leave it open.
I use UTM in emulation mode, NOT Qemu simulation mode, which is wasteful.
just my $0.02.
For folks lamenting that the (awesome) Asahi efforts are challenged by reverse engineering of changes from M2 to M3, and so on, those changes vanish into the abstraction, but their benefits do not. That's why i switched from Asahi a couple years ago to UTM in apple silicon hypervisor mode.
https://developer.apple.com/documentation/hypervisor https://apps.apple.com/us/app/utm-virtual-machines
You can run any flavor of Linux you like in a virtual machine, while booted into the native OS.
the hypervisor framework documentation, that i linked above, is pretty clear; the linux builds for arm run extremely fast on apple silicon because hypervisor framework gives them hardware access, in some subsystems directly (memory mapping for example), in other systems through a shim (graphics hardware).
Kinda funny and definitely a word suggestion that will be locked in future code.
I believe it was Hector Martin who discussed it on Mastodon a while ago.
Thanks to the community, you can install macOS 15 (or older) on unsupported macs (as old as 18 years)
https://dortania.github.io/OpenCore-Legacy-Patcher/MODELS.ht...
https://github.com/dortania/OpenCore-Legacy-Patcher
This bullshit needs to die. The products are designed to last.
Probably the real reason is just that it's extra work - both in terms of producing the docs, and in dealing with complaints when they change things. From their point of view it's extra work with no benefit to them.
This applies on both the software and hardware layers. In the past, CPU suppliers dragging their feet and/or being unable to deliver on promises were the chief motivation for switching architectures, and now that they're their own supplier they can banish that issue entirely so long as they're not beholden to any kind of external behavioral contracts or expectations.
If the OS teams need some new capability or discover substantial benefit from redesigning some part of the SoC, the SoC/hardware team can just implement it and not have to care about breaking anything. That's a major competitive advantage that practically nobody else in the computer or mobile device industries has.
They let you run Windows when they were losing in the market and needed a path to migration for users of the winning platform. Once they started winning, they stopped.
Conversely, Microsoft refused to interoperate with Linux. Until Linux became the clear winner in the datacenter space. Now they have WSL and actually work pretty well as a cross-platform development environment.
Because then they'll have to compete with Linux, which opens them up to someone else making a cheaper computer that does the same stuff.
I mean, I'm typing this on a junky Raptor Lake laptop I found on eBay for $220. Would I buy a Neo or MBP to replace it just to run the same software stack? Probably not.
If you believe OS X is the best environment and Apple Silicon will remain the best hardware in perpetuity, it seems silly for Apple not to allow some experimentation. Apple executives, to be blunt, know better. Lean times are always ahead.
Now some people would like to use that top of the line Apple silicon but without MacOS that comes with it. I doubt this is a huge threat to apple but it's also not a huge market for them. From what I understand they are not actively impeding it but not actively helping it either.
I actually won a M2 laptop a while ago. I resold it, new in box still shrink wrapped because I did not care for MacOS, just a personal preference. People like me are a minority though.
Hell, I was given a bunch of old iphones recently, all of which are newer and better hardware than my phone. I wiped them and donated them to charity.
Not sure what generation you're talking about? Intel c. 18-25 years ago was wildly ahead on everything, much more so than Apple is now, in fact.[1] Apple Computer, quite famously, straight up abandoned their previous CPU architecture and started shipping Intel chips just to have something competitive in the market.
Again, everything goes in cycles in this industry and Apple's executive decisionmaking is 100% not placing bets on being the best forever just to make a bunch of Linux nerds happy.
[1] Process innovation mattered more at the time, where now we're hitting the scaling limit and chips are much more comparable.
Processors, not just Apple’s, change constantly between generations. The core instruction set doesn’t change, but they get new capabilities, not just with new instruction sets.
Remember the SoC isn’t just the CPU. It’s display engines, GPUs, storage controllers, video decoders and more.
Even outside of Apple, you’ll see hardware vendors provide Linux patches for their latest CPUs to keep working well. There’s some baseline functionality that works out of the box but it’s never a free ride.