I wouldn't say Apple is any less a moving target rather they've only released 2 generations of the M series so far. As an example it's looking like the 3rd generation will swap the GPU architecture you mentioned for something completely new.
Sure, there are plenty of things that don't change much, and that I2C driver is a good example, but that doesn't really mean the target as a whole is particularly stable it just means they don't feel the need to rewrite I2C every chip revision. Meanwhile many of the things churning on the x86 side, like memory encryption, don't really matter for projects like this.
I wasn't trying to say that Apple's platform is remarkably stable, only that there's no evidence it is particularly unstable. Even if their next GPU architecture requires a more or less complete re-write of the drivers, that on its own still wouldn't justify considering Apple's platform to be more of a moving target than the PC/Wintel platform—though it would bolster complaints about the necessity of reverse engineering rather than having documentation available (complaints that apply just as much against NVIDIA's GPUs). It'll probably take at least one or two more generations of Apple hardware before one can reasonably accuse them of being a constantly moving target. For now, the best evidence we have to go on is the fact that it took Asahi about a week to bring M2 support up to parity with the M1 support they had at that time.
That the first updated version didn't just boot automatically is 100% evidence it's more unstable than your typical system family. It partially comes down to Apple putting absolutely nothing into Linux, even Nvidia does better than that these days, but even then you can at least expect to boot year old Linux on a new PC even if it doesn't support the latest CPU scheduling optimizations for it or whatever.
I'm also not sure I'd even agree M2 is even at parity with M1 in Asahi yet, let alone the first week. They did get a lot of things working quickly but I think that's far overselling what happened.
> but even then you can at least expect to boot year old Linux on a new PC even if it doesn't support the latest CPU scheduling optimizations for it or whatever.
It's still extremely common that booting a year-old distro on brand new hardware leaves you with a blank screen due to missing GPU drivers, or leaves you with unaccelerated graphics on par with what Asahi currently offers by default. And it's hardly unheard of to have issues with power management and even audio with new x86 platforms in recent years. Going a bit further back, Intel has been known to break NVMe and not require OEMs to offer a BIOS option to put the chipset in the standards-compliant mode.
And yet if all that happened it would still be a better state than the M2 support in Asahi at launch. When the GPU acceleration doesn't work at least the display output can. When a certain chipset has an issue with NVMe at least you can still boot other ways than the internal NVMe drive.
When the M2 launched you couldn't boot the kernel. When you could boot the kernel you couldn't handle displays. When you could handle displays you couldn't connect to Wi-Fi. All this in the first minor update to the SoC, one where nothing major even changed yet. This is why, despite my love and regular use of Asahi, I'll never believe a claim new Apple systems are a remotely stable target. Certainly not more than x86, where I can boot a decade old distributor and still at least get video output.
You're not being particularly fair. You seem be be wanting to hold Asahi Linux to a standard of having day-1 support for all the critical subsystems of new Apple hardware, while excusing or ignoring all the historical instances of Linux not having usable support for corresponding components in the Wintel ecosystem by the time new hardware is in the hands of end users.
> When a certain chipset has an issue with NVMe at least you can still boot other ways than the internal NVMe drive.
A laptop that cannot boot off its internal storage is pretty much useless as a laptop. The theoretical capability to work around this with external USB storage is a pathetic workaround that does not strengthen your argument.
> When the GPU acceleration doesn't work at least the display output can.
Except when it doesn't. Sure, a sufficiently skilled user can usually figure out a working configuration, but let's not pretend like a black screen early in the boot process is unheard-of, and a showstopper for many users.
> Certainly not more than x86, where I can boot a decade old distributor and still at least get video output.
As long as your decade-old distro had UEFI support (which most did, by then). But otherwise, it is possible to run into issues with a BIOS CSM no longer being an option (eg. on the last three years of Intel integrated graphics).
And again, I'm not trying to say Apple's hardware platform is unusually stable and backwards-compatible. I'm trying to refute an unwarranted claim that after only two generations it's already proven significantly unstable—a claim you seem to agree with based on a selective memory of the history of Linux on x86. The conventional wisdom still is that running an x86 Linux distro older than your hardware is asking for trouble, especially for laptops. Hardware vendors in the x86 ecosystem ship breaking changes fairly often; only a few of them even try to get Linux driver support in place before the hardware launches, and those drivers still frequently miss the deadlines for making it into major distro releases prior to the hardware shipping.
I'm not trying to hold Asahi Linux to any standard - I'm trying to find a single standard in which Apple's platform could be viewed as generationally stable.
If we look at M1->M2:
- It doesn't have backwards compatibility even with the manufacturer's own OS. The gap here is 2 years yet I can get farther in support than that just booting a 10 year old stock installer on my 13900k system.
- You can't natively boot launch-day Linux at all, by any means or know-how.
- Getting the kernel to boot, display output is flat impossible. The keyboard and external input doesn't work. Hardly anything just works really.
- Once you get past those kinds of base things the Wi-Fi doesn't work, any type of backlight is not adjustable, the GPU doesn't work, the speakers don't work. Some of these do just need minor tweaks to make as functional as they were on the M1, others still aren't as functionally equal to this day. Anything that might sometimes be broken on x86 is broken but it's not "some new chipsets have broken that before" or "some basic users may get a black screen and get stuck not knowing what to do" they just plain do not work at all. To get it to do so again someone needs to do 100% of the programming work needed with zero no participation from the manufacturer.
Meanwhile the basis a traditional x86 system is supposed to be no different:
- When the many year old Linux release boots, non-advanced users can sometimes end up with a black screen and not know what to do
- Certain examples of chipsets have had broken day 0 support for one of their storage protocols
- Not every operating system from 10 years ago had native support for UEFI boot
- Despite booting, lease day versions of your Linux distro may not have e.g. working graphics hardware acceleration
Next to me I have my M2 running Asahi. It's been a little over a year since the release and it's still not up to support parity of my M1 at the time of launch. Next to me I've also got a few Intel and AMD boxes, they all boot many years old Linux with more working hardware than the M2 has in Asahi to this day.
I haven't been selective on the history of x86 support but even if I was to do so and intentionally only pick every bad thing that happened in a single generation x86 upgrade, over a 5x longer period than we're looking at Apple, and put it in context of a single release to compare to the M1->M2 transition... it would arguably still have been in better shape and, at worst, have been the same. From that I cannot conclude the new Apple hardware has shown itself to be any more stable a target, if anything it's looking even worse these days.
Sure, there are plenty of things that don't change much, and that I2C driver is a good example, but that doesn't really mean the target as a whole is particularly stable it just means they don't feel the need to rewrite I2C every chip revision. Meanwhile many of the things churning on the x86 side, like memory encryption, don't really matter for projects like this.