It also made Apple silicon rather distinct from all other 64-bit ARM hardware in terms of both CPU core and peripherals. Our Corellium virtualization platform has been providing security researchers with unparalleled insight into how operating systems and programs work on Apple ARM processors. But in the process of developing our virtualization system, we also gain knowledge about the hardware we are modeling, and this knowledge can be best refined by testing it against real hardware – which we have only been able to do with the emergence of checkm8, an exploit that let us load programs onto Apple smartphones. This led directly to the Sandcastle project, where we built a kernel port to the A10 processor in early 2020.
So when Apple decided to allow installing custom kernels on the Macs with M1 processor, we were very happy to try building another Linux port to further our understanding of the hardware platform. As we were creating a model of the processor for our security research product, we were working on the Linux port in parallel.
Excellent work by Corellium, and this materialised a lot faster than I anticipated. This makes M1-equipped Macs potentially more useful than if they could only run macOS, but of course, as with all these closed platforms and Linux support, the devil is in the details – bringing up a Linux kernel is only the first step – a big and crucial one, but only the first.
Great work, but I don’t think it could ever be practical without the GPU and other drivers.
Much of the Apple silicon advantage comes from specialized chiplets, like the GPU, AI, DSP, etc. When I read the Linux project information, it looked like none of them were supported.
If this was 5-10 years ago, I could have expected something from the Apple side. They started Mac OS X as open source after all. And for a long while, it was actually possible to compile the kernel from the sources. Now, not so much. They stopped being a “hardware company”, and now more of a “services company”. When they were a hardware company, they actually embraced having the “best Windows laptop” title.
Now their response to outside software is more at “tolerate” levels.
sukru,
Unaccelerated framebuffers are used in the system startup, so it’s usually possible to analyze the system startup code to replicate what it’s doing before the main accelerated drivers are loaded and continue to use that framebuffer. Most applications don’t require H/W acceleration and a lot of times just having a framebuffer is sufficient. Besides the M1, a lot of ARM boards that run linux do not support any GPU acceleration either, just a framebuffer. Obviously hardware acceleration would be better and who knows if/when that can be reverse engineered. But still I think just a basic framebuffer is a “practical” milestone. I’d be very interested in getting an M1 SBC if they sold it and it supported linux – not that I am expecting apple to cater to this demographic.
Yeah smaller apple was friendlier with the community. Now that they’re the wealthiest corporation in the world, they’re acting a lot more like IBM back in the day.
Looks like I was underestimating the skills of open source developers:
https://rosenzweig.io/blog/asahi-gpu-part-2.html
This person has managed to draw a simple triangle with his own code. That is still pretty limited, and having full access to a — let’s say Vulkan level — driver will take time, but if there is enough enthusiasm this might really happen.
Maybe it could be a good idea to buy a mac mini after all.
sukru,
If apple lets owners do as they please, like on the x86 macs of the past, then there is no doubt in my mind that linux will be supported (“supported” referring to community support and not necessarily official support from apple). I never had any doubt in the skills, dedication, or manpower of FOSS devs. Reverse engineering is tedious, but surmountable. However if apple were to actively combat 3rd party development, such as hardware lockouts or even lawsuits, it could dramatically increase the burden of FOSS development. Almost everything can be rooted with time, but few developers really wants to depend on a continual stream of root exploits just for users to be able to use their project.
Just to correct a bit, that hot shot dev is a woman, her track record with GPU reverse engineering is jaw dropping imo.
“Great work, but I don’t think it could ever be practical without the GPU and other drivers.”
Depends what the goal is, if you want to run Linux as a server on the CPU than CPU-, NIC-, storage chip-support, etc. are the most important and all are first steps for getting a desktop/laptop running eventually.
Lennie,
Completely agree, in fact all of the ARM SBCs I buy are for headless applications. But the article indicates that they already have a working framebuffer. I’d really like to see videos of this in action. I am curious how well it performs. Regardless though many ARM SBCs offer graphical desktops through HDMI without hardware acceleration and it works for lightweight tasks and basic web browsing, etc.