Asahi Linux Is Reverse-Engineering Support For Apple Silicon, Including M1 Ultra (arstechnica.com) 46
An anonymous reader quotes a report from Ars Technica: For months, a small group of volunteers has worked to get this Arch Linux-based distribution up and running on Apple Silicon Macs, adapting existing drivers and (in the case of the GPU) painstakingly writing their own. And that work is paying off -- last week, the team released its first alpha installer to the general public, and as of yesterday, the software supports the new M1 Ultra in the Mac Studio. In the current alpha, an impressive list of hardware already works, including Wi-Fi, USB 2.0 over the Thunderbolt ports (USB 3.0 only works on Macs with USB-A ports, but USB 3.0 over Thunderbolt is "coming soon"), and the built-in display. But there are still big features missing, including DisplayPort and Thunderbolt, the webcam, Bluetooth, sleep mode, and GPU acceleration. That said, regarding GPU acceleration, the developers say that the M1 is fast enough that a software-rendered Linux desktop feels faster on the M1 than a GPU-accelerated desktop feels on many other ARM chips.
Asahi's developers don't think the software will be "done," with all basic M1-series hardware and functionality supported and working out of the box, "for another year, maybe two." By then, Apple will probably have introduced another generation or two of M-series chips. But the developers are optimistic that much of the work they're doing now will continue to work on future generations of Apple hardware with relatively minimal effort. [...] If you want to try Asahi Linux on an M1 Mac, the current installer is run from the command line and requires "at least 53GB of free space" for an install with a KDE Plasma desktop. Asahi only needs about 15GB, but the installer requires you to leave at least 38GB of free space to the macOS install so that macOS system updates don't break. From there, dual-booting should work similarly to the process on Intel Macs, with the alternate OS visible from within Startup Disk or the boot picker you can launch when your start your Mac. Future updates should be installable from within your new Asahi Linux installation and shouldn't require you to reinstall from scratch.
Asahi's developers don't think the software will be "done," with all basic M1-series hardware and functionality supported and working out of the box, "for another year, maybe two." By then, Apple will probably have introduced another generation or two of M-series chips. But the developers are optimistic that much of the work they're doing now will continue to work on future generations of Apple hardware with relatively minimal effort. [...] If you want to try Asahi Linux on an M1 Mac, the current installer is run from the command line and requires "at least 53GB of free space" for an install with a KDE Plasma desktop. Asahi only needs about 15GB, but the installer requires you to leave at least 38GB of free space to the macOS install so that macOS system updates don't break. From there, dual-booting should work similarly to the process on Intel Macs, with the alternate OS visible from within Startup Disk or the boot picker you can launch when your start your Mac. Future updates should be installable from within your new Asahi Linux installation and shouldn't require you to reinstall from scratch.
Because we can (Score:2)
I like reading about these kinds of projects - trying stuff out "because we can", even if there are bits that don't work yet.
After all, today's experiments could end up being the basis for tomorrow's core system.
Re: (Score:2)
Actually, the year of the pocket Linux desktop has already happened - it's called Android. In fact, all of mobile is now running Unix-in-your-pocket as iOS is also a unix-like open source system.
Re: (Score:2)
macOS is literally Unix, they have been Unix certified for many years now. in fact at this time there are only a handful of Unices left. AIX and z/OS from IBM, HP-UX (which has nine toes in the grave), one version of Linux offered by Huawei, and Unixware/Openserver which somehow still exist. Even Solaris not Unix anymore. While iOS is not Unix it is very close to Unix.
Isn't iOS Darwin-based? If it is, why wouldn't iOS be a Unix, too?
Re: (Score:2)
It's true that macOS is SUS certified and iOS is not. That doesn't mean that either of them "are UNIX".
It merely means that money was paid to certify that one follows the SUS.
This is why "one version of Linux" is SUS certified, but Linux broadly is not.
XNU (backronym for XNU is Not UNIX), the kernel for macOS/iOS does have primitives to make SUS compliance easier, but mostly the sauce is included in t
Re: (Score:2)
macOS is not UNIX.
macOS is SUS certified.
Windows running cygwin can be SUS certified.
macOS is Unix (Score:2)
Re: (Score:2)
Following the Single UNIX Specification allows you to refer to your system as being UNIX. The certificate gives you trademark rights. Apple used to say Mac OS X was certified UNIX on their website if you look at it through the wayback machine.
They don't say it anymore; but even macOS Monterey is a Certified Unix.
https://www.opengroup.org/open... [opengroup.org]
Re: (Score:2)
In other posts I clarified what I thought about that:
Whoring the trademark for money.
Re: Because we can (Score:2)
I wouldn't pay for windows, btw. Perhaps I would use it it if it was free. Mac os is a different story. Mac os and Linux are modern POSIX OS's. Windows is still a clunky non POSIX system with baggage from DOS and Windows NT/OS2. There is a reason windows is not on servers, routers, phones, watches, containers, and development setups. I suppose you can use WSL on windows, but why not use a modern POSIX system. Windows is primarily for MS office. The increasing macos adoption is also good for Linux as they
Re: Because we can (Score:2)
You place your phone on a desk and use it?
Re: (Score:2)
Actually, the year of the pocket Linux desktop has already happened - it's called Android. In fact, all of mobile is now running Unix-in-your-pocket as iOS is also a unix-like open source system.
Linux is not Unix. It is a type of reverse-engineered Unix-clone.
But Android isn't Linux, just like iOS/iPadOS aren't macOS.
Re: (Score:2)
today's experiments could end up being the basis for tomorrow's core system.
The Year of the Linux Desktop is right around the corner!
Not far now... :-)
Android - 40%
Windows - 31%
iOS - 17%
MacOS - 6%
Linux - c1%
However, with Android being based on Linux, and iOS/MacOS being Unix, then that's 41% for Linux (based) and 23% for Unix based.
https://gs.statcounter.com/os-... [statcounter.com]
Re: Because we can (Score:1)
Re: (Score:2)
They still have corporate by the balls.
Re: (Score:2)
They still have corporate by the balls.
Actually, they kind of shot themselves in the foot a bit, with their rush to push Office365.
Now, for many businesses, it HFM what platform you are running.
Re: (Score:2)
And this is why Stallman was right when he insisted on being it GNU/Linux.
Re: (Score:2)
However, with Android being based on Linux, and iOS/MacOS being Unix, then that's 41% for Linux (based) and 23% for Unix based.
You have to make a decision here.
macOS is considered "a UNIX" by the layfolk because it has an SUS certification.
iOS does not.
This means you have to accept that macOS is UNIX, and iOS is not, or that the SUS is a shit measure of what a UNIX is.
Of course, it's the latter that's true. And macOS is no more UNIX like than the POSIX Subsystem For Windows in the NT4 days.
And Linux (and *BSD) are more UNIX-like than XNU (XNU is Not UNIX- the kernel used by ${apple_product}OS) could ever hope to the
Re: (Score:2)
However, with Android being based on Linux, and iOS/MacOS being Unix, then that's 41% for Linux (based) and 23% for Unix based.
You have to make a decision here.
macOS is considered "a UNIX" by the layfolk because it has an SUS certification.
iOS does not.
This means you have to accept that macOS is UNIX, and iOS is not, or that the SUS is a shit measure of what a UNIX is.
Of course, it's the latter that's true. And macOS is no more UNIX like than the POSIX Subsystem For Windows in the NT4 days.
And Linux (and *BSD) are more UNIX-like than XNU (XNU is Not UNIX- the kernel used by ${apple_product}OS) could ever hope to the
Then why do so many Academics and Scientists like macOS specifically because their Unix-only Tools can run on it?
And the question at this point is: Is anything at this point truly the "One True Unix(tm)"?
Re: (Score:2)
Then why do so many Academics and Scientists like macOS specifically because their Unix-only Tools can run on it?
Your next question will show just how silly this one is, so I'll answer it first.
And the question at this point is: Is anything at this point truly the "One True Unix(tm)"?
No. It's all shades of gray. And the SUSv3 is a pile of shit in terms of what a UNIX is.
You can go over the attestations yourself:
The test suite [opengroup.org] is ridiculously bad, that as I said, Windows could be made to be SUSv3 compliant by only installing cygwin.
That's ignoring that the patches required to make every single standard application run correctly would rival the lines of code in the original source itself, and that applies
Re: (Score:2)
Then why do so many Academics and Scientists like macOS specifically because their Unix-only Tools can run on it?
Your next question will show just how silly this one is, so I'll answer it first.
And the question at this point is: Is anything at this point truly the "One True Unix(tm)"?
No. It's all shades of gray. And the SUSv3 is a pile of shit in terms of what a UNIX is.
You can go over the attestations yourself:
The test suite [opengroup.org] is ridiculously bad, that as I said, Windows could be made to be SUSv3 compliant by only installing cygwin.
That's ignoring that the patches required to make every single standard application run correctly would rival the lines of code in the original source itself, and that applies for macOS too.
Back to your first question.
I don't think you can speak for why some unquantifiable amount of Academics and Scientists like macOS.
True enough. I am just parroting others who claim to be Mac-using Academics.
macOS doesn't support the RT POSIX extensions, so every POSIX application you have ever used on macOS was specifically patched to use mach semaphores. That is not POSIX compliance, but is not on the test suite. Ultimately- if a platform is popular enough, people will make the tools run on it, no matter the state of its compliance.
But, other than Embedded Linux (naturally!), it doesn't look like Linux generally includes the RT POSIX Extensions, either. Or did my five-second Google crash-course leave something out? ( 8-D ).
Real-Time Embedded Applications aside, Any Event-Driven, modern "Presentation Layer" (GUI), bolted on top of what was originally conceived as a CLI file-driven, OS, is going to have some originally-unintended Semaphore/Message-passing kludge
Re: (Score:2)
But, other than Embedded Linux (naturally!), it doesn't look like Linux generally includes the RT POSIX Extensions, either. Or did my five-second Google crash-course leave something out? ( 8-D ).
It actually does.
librt is a standard part of linux and *BSD.
Modern day multithreading in UNIX environments relies on the existence of the RT POSIX extensions.
The POSIX RT API is about a lot more than just "real-time" (ya, it's a bad name)
Equivalent function exists in macOS, it just isn't done in a POSIX compliant way- it's done via mach ports in XNU.
Real-Time Embedded Applications aside, Any Event-Driven, modern "Presentation Layer" (GUI), bolted on top of what was originally conceived as a CLI file-driven, OS, is going to have some originally-unintended Semaphore/Message-passing kludge shoehorned into the architecture. Of course, the same can be said of "machOS".
I'm not objecting to the existence of XNU primitives. The richer the kernel interfaces, the better.
The best parts of linux are provided in its non-POSIX in
Re: (Score:2)
Some interesting information is coming out of it too. In their efforts to reverse engineer the M1 GPU they have discovered that it's actually quite cut down in terms of features, compared to GPUs from AMD, Nvidia and Intel.
It doesn't support a lot of features, so either software has to avoid using them or accept the hit of software emulation. That makes porting games to the M1 an interesting challenge. These days all the big game engines will degrade their graphics to suit the hardware, but obviously develo
Re: (Score:2)
Some interesting information is coming out of it too. In their efforts to reverse engineer the M1 GPU they have discovered that it's actually quite cut down in terms of features, compared to GPUs from AMD, Nvidia and Intel.
It doesn't support a lot of features, so either software has to avoid using them or accept the hit of software emulation. That makes porting games to the M1 an interesting challenge. These days all the big game engines will degrade their graphics to suit the hardware, but obviously developers would prefer that the M1 version of their game doesn't look significantly worse than the Windows/console version.
It also explains how Apple got some of their efficiency gains. The silicon is simpler than competing GPUs.
Doesn't the Metal API hide those "missing hardware features" from software (by transparently emulating them), much like OpenGL (and I assume Vulkan) does? Obviously, there can be performance differences; but if it takes a forensic reverse-engineering deep-dive into low-level atomic GPU primitives to tell that some of those features are being realized in software rather than directly by GPU hardware, who really cares?
This is somewhat pointed out by the statement "[. . .] the developers say that the M1 is fas
Re: (Score:2)
I don't know much about Metal I'm afraid.
The M1 has massive memory bandwidth, but it needs it. For a start, the GPU and CPU share that memory. That's another way it's much more like a mobile GPU than a desktop or dedicated laptop one. To try to make up for it Apple has put a massive amount of cache on the CPU, and presumably has some local cache type memory on the GPU too (AMD has been doing that for a while).
Presumably their comparison with other ARM chips is with ones that don't have particularly good GPU
Re: WTF? (Score:2)
Re: (Score:2)
This is what it looks like when you have to update the whole system at once.
OSX has always been behind Linux in most categories, though.
Re: (Score:2)
I suppose it might be what it looks like, but it's not the reason why. MacOS is perfectly capable of updating itself in bits. I've got a hell of a lot less than 38 GB free on this laptop and it updates just fine.
From their blog it sounds like they're being abundantly cautious. You can override the requirement if you wish. They're reserving 15 GB for themselves too, although the actual OS is only 3.
Re: (Score:2)
Indeed it has, phoronix benchmarks already show asahi outperforming OSX in a number of categories. I suspect that's because OSX is not a very good OS and has a weak scheduler and a mediocre performance filesystem.
Re: (Score:2)
The boot chain on the Apple Silicon doesn't really support third-party operating systems, so what you do is install macOS on one of them, turn off its boot security, and boot linux from it instead.
The GPU is the rub (Score:2)
The big down side to spending time and effort on this project (which I don't actually begrudge anyone, it's theirs to spend) is that Apple is notoriously tight-fisted with internals details. The GPU is a big part of what makes the M1 desirable, and not being able to fully utilize it is a huge drawback to not running OSX. Given how hard it is to pry information out of Apple, support for the GPU is likely to be even slower to develop than Nouveau has been.
I see the utility of being able to use Linux on the pl
Re: (Score:2)
The big down side to spending time and effort on this project (which I don't actually begrudge anyone, it's theirs to spend) is that Apple is notoriously tight-fisted with internals details. The GPU is a big part of what makes the M1 desirable, and not being able to fully utilize it is a huge drawback to not running OSX. Given how hard it is to pry information out of Apple, support for the GPU is likely to be even slower to develop than Nouveau has been.
I see the utility of being able to use Linux on the platform, but I wouldn't hold out much hope that it would make sense to use it that way all the time for general purpose application use. Rather, it would be useful for rescue and repair, hardware testing, imaging, network testing, etc.
I hope I'm wrong, but I doubt it.
Apple certainly is not alone in being tight-fisted with Trade Secrets. Ask anyone who has actually worked on Driver Development for Linux.
Re: (Score:2)
If I had said that, your comment would make sense.
I didn't, so it doesn't.
MacOS is UI throttled (Score:2)
NeXTOS predecessor to MacOS was throttled at the CPU speed bump from 25Mhz to 33Mhz upgrade.
Apple have full control of UX on a iDevice by SoC level. They can compete at any clock if they so choose on responsiveness of the UI.
Re: (Score:2)
NeXTOS predecessor to MacOS was throttled at the CPU speed bump from 25Mhz to 33Mhz upgrade.
Apple have full control of UX on a iDevice by SoC level. They can compete at any clock if they so choose on responsiveness of the UI.
And that is relevant, how, exactly?
As a Patreon supporter (Score:2)
It's nice to see the progress. I might hold off a bit before I try it out, though - alpha releases sometimes live up to their names in unexpected ways, and doing a complete reimage of an M1 Mac seems to require a second M1 Mac.
Re: As a Patreon supporter (Score:2)
I believe you can revive an M1 Mac using any USB-C equipped Mac with the minimum macOS version. See https://support.apple.com/en-g... [apple.com]
But, yeah, not fun if you end needing to erase the drive.