Problemet med Asahi är att varje ny M-processor är inte enbart ny processor som för x86 utan ISA verkar ju ändras mellan varje generation plus att Apple inte direkt dokumenterar det hela offentligt.
Bla så tog det 12h av kernel hacking för huvudutvecklaren av Asahi att ens få M2 att boota (vilket han gjorde i följande live-stream) och då fungerade fortfarande inte en enda kringhårdvara (dvs tangentbord, inga PCIe-kort så inget nätverk osv) :
https://www.youtube.com/watch?v=SidIJkC5YN0
Allt är ju subjektivt, för min egen del så tål jag inte macOS öht, Apple gör bra hårdvara men varje gång jag måste in och mecka med en mac för att bygga mac-versioner av vår mjukvara så blir det mycket svärord (kanske inte fullt lika mycket som det blir för W10 så det är ju alltid något).
Har som sagt inte följt Asahi noga, men använder fortfarande Ubuntu väldigt mycket, specifikt på ARM64 SoC:ar. Det verkar som att Apples gigantiska resurser visar sig i videon du postade (jag kollade cirka en timme i början), i form av att de verkar tweaka i stort sett allt mellan generationer.
Som med all ingenjörskonst har även systemkretsar sina för- och nackdelar. Fördelen är att man kan lösa saker på det mest effektiva sättet, utan att standarder sätter begränsningar.
Nackdelen är att det krävs specifika drivrutiner för allt som är “custom”. I praktiken brukar ändå de flesta bara flytta med de grundläggande blocken mellan designer, vilket gör att en nyare krets kanske inte kan använda GPU och andra avancerade funktioner, men att boota in i ett fungerande headless-skal är ofta ett ganska litet jobb.
En liten detalj: systemkretsens innehåll är i praktiken helt odokumenterat i Apples fall, d.v.s. problemet är att skriva fungerande drivrutiner.
ISA är däremot mer väldefinierat på ARM-sidan än på x86 (där ISA-“specifikationen” är vad Intel eller AMD råkar känna för att lägga till i senaste generationen). M1 kör ARMv8.4 (spec. lanserad 2017), M2/M3 kör ARMv8.6 (2019) och M4 kör ARMv9.2 (2023).
Det är därför inte så konstigt att ARM64-versionen av Ubuntu fungerar utmärkt även på M3 (och lär fungera redan nu på M4) när man kör med Docker. För vanliga applikationer är saker väldefinierade (då ISA är väldefinierat). Det som ställer till det för en OS-kärna är drivrutiner (ett fungerande hardware abstraction layer). Här är systemkretsar betydligt mer spretiga än en PC-dator.
Givet din frustration med MacOS/Win11 gissar jag att ni jobbar med desktop-applikationer? Annars tycker jag att det faktum att MacOS är en UNIX tillsammans med “brew” gör det relativt smidigt att växla mellan MacOS och Linux, eftersom de fungerar på ungefär samma sätt. Till och med Windows går att använda på det sättet idag tack vare WSL2.
När det gäller desktop-miljöer tycker jag ändå att man kan säga att MacOS på flera sätt är objektivt bättre jämfört med dagens Windows och Linux på en viktig punkt: det är en betydligt mer koherent upplevelse där grundläggande funktioner faktiskt ser ut och fungerar på ett väldigt likartat sätt – och har gjort så under lång tid. Sen kan jag förstå att man blir frustrerad om man är van vid något annat, för MacOS skiljer sig på många punkter (framförallt från Windows).
Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer