Ontwikkelaars krijgen Asahi Linux 'bruikbaar' op M1-Mac zonder gpu-acceleratie

De ontwikkelaars van Asahi Linux noemen de software 'bruikbaar' voor basisgebruik op een Mac-systeem met M1-soc, ook al werkt gpu-acceleratie nog niet. De ontwikkelaars hebben in september onder andere de nodige drivers gereedgemaakt.

Asahi LinuxDe ontwikkelaars die zich hebben gestort op het werkend krijgen van Linux op Mac-computers met de M1-soc, melden dat er nog veel ruwe kantjes aan hun implementatie zitten en dat er nog veel drivers missen, maar dat Asahi Linux werkbaar is als basisdesktopsysteem. Volgens Hector Martin 'marcan' van het team is de softwarerendering van de desktopomgeving op een M1 dankzij de rekenkracht van die soc zelfs zonder gpu-acceleratie al vlotter dan op een ARM64-soc van Rockchip met hardware-acceleratie.

Het project om Linux werkend te krijgen op de M1 ging in maart van start. Dankzij de geslotenheid van Apples soc is de port niet eenvoudig. In de september-update over de voortgang melden de ontwikkelaars dat de PCIe-bindings, PCIe-driver en USB-C Power Delivery-driver gemerged zijn voor Linux 5.16. Ze hebben goede hoop dat de drivers ook in combinatie met toekomstige Apple-socs werken, omdat het bedrijf de hardware-interfaces compatibel zou houden.

Een officiële installer is er nog niet. Die wil het team pas vrijgeven als de kernel stabieler draait. Tot die tijd is er een alpha-installer die geïnteresseerde ontwikkelaars op verzoek kunnen uitproberen als OS-partitie. De ontwikkelaars willen zich snel op de gpu-kernelinterface richten. Hoe lang dat werk gaat duren is onbekend. Uiteindelijk hoopt Martin met zijn project tot een Asahi Linux-distro met installatiepackage van Arch Linux ARM voor eindgebruikers te komen.

Door Olaf van Miltenburg

Nieuwscoördinator

07-10-2021 • 12:33

66

Reacties (66)

66
66
23
2
0
37
Wijzig sortering
Tot er een M2 of M1+ sock uitkomt die het weer bewust kapot maakt.
Ik denk dat het wel mee valt, oke Apple kan van alles verzinnen om het moeilijker te maken. Maar als ik, het onderstaande lees. Is er goede hoop, dat het in de toekomst ook werkt.
However, Apple is unique in putting emphasis in keeping hardware interfaces compatible across SoC generations – the UART hardware in the M1 dates back to the original iPhone! This means we are in a unique position to be able to try writing drivers that will not only work for the M1, but may work –unchanged– on future chips as well. This is a very exciting opportunity in the ARM64 world. We won’t know until Apple releases the M1X/M2, but if we succeed in making enough drivers forwards-compatible to boot Linux on newer chips, that will make things like booting older distro installers possible on newer hardware.
Ik schat dat het op de M1 draaiende krijgen wel het moeilijkste is, omdat het op ARM gebaseerd is en niet meer op x86. Bij een opvolger van de M1 moet er waarschijnlijk wel weer wat worden aangepast, maar ik denk dat dan wel veel minder werk is.
Omdat het op ARM is gebaseerd, lijkt mij niet de reden. ;) Linux draait reeds op tal van ARM SoC's. Het probleem is zoals in het artikel staat drivers. Indien deze niet beschikbaar zijn of er geen of onvoldoende documentatie is, is er reverse-engineering nodig.
Even diep in het geheugen graven, mijn eerste ARM Linux systeem was een iPAQ H3600 in 2001/2002. Generieke ARM was toen al lang en breed supported door de kernel en toolchains. Het meeste wertk zat in een bootloader die een kernel kon laden, maar gelukkig waren er in die tijd engineers van Compaq/HP die dit faciliteerden. De specs van de SOC/display/touch screen/etc. waren redelijk open voor zover ik me herinner.
Zelfs de Psion kon Linux draaien! Heb toendertijd nog tutorials geschreven om Linux werkend tw krijgen via de CF card.
Ik denk dat dat “bewust kapotmaken” wel mee zal vallen. Ten eerste lijkt Apple hier niet heel veel problemen mee te hebben. Ze verkopen misschien enkele tienduizenden apparaten meer als er ook Linux op kan draaien. Een klein aantal op verkoopaantallen van miljoenen en dus niet de moeite waard om veel tijd en energie in te steken (of überhaupt je engineers rekening mee te laten houden) maar toch is het extra verkoop.

Ten tweede heeft Apple er belang bij om de hardware interfaces betrekkelijk stabiel te houden zodat het makkelijk is voor third party driver developers om producten voor uit te brengen. Die Asahi jongens zijn te niche om rekening mee te houden maar veel grotere bedrijven willen ook peripherals en aftermarket producten kunnen leveren. En dat die dat kunnen is in Apples belang.
Bovendien: macOS is er voornamelijk om Mac hardware te verkopen. Apple is een hardwareboer, geen software. Dus ik denk dat het ze worst zal wezen als je Linux op je M1 wil draaien :)
Apple designs zijn erg locked down op bijv de iPhone. Voor de M1 hebben ze juist hun best gedaan om wat opener te zijn, en hebben ze expliciet voor een ontwerp gekozen dat het mogelijk maken je eigen besturingssysteem te booten op je Mac. Het is misschien niet "officieel ondersteund", maar ze hadden het systeem een stuk eenvoudiger en waarschijnlijk ook luchtdichter kunnen maken door dit niet te implementeren.

Of dit voor altijd zo zal blijven is natuurlijk de vraag, maar het is iig een bewuste keus geweest om dit soort projecten mogelijk te maken, dus er is hoop dat ze niet direct van koers zullen wijzigen in dat opzicht.
Het hele Asahi Linux project bestaat er puur om Linux werkend te krijgen op Silicon-hardware, dus ik denk dat ze dat ook wel steeds sneller gaan kunnen doen bij nieuwe versies ervan.
Om bewust “kapot” te maken moet Apple dan ook zijn eigen drivers etc aanpassen.

Kost geld en tijd en Linux is echt geen gevaar voor Apple want ze hebben de hardware al verkocht aan iedereen die Linux wil draaien op hun M1.

Linux heeft nog 10 jaar alvorens de eerste M1s te oud worden om MacOS te draaien. Voor dat is er weinig nut omdat MacOS reeds een Unix systeem is en gemakkelijk alle tools die in Linux beschikbaar zijn kan draaien. Misschien een M1 Mac Mini en vooral een Mac Pro kan wel nuttig zijn in een datacenter met Linux, als het CPU/kost/verbruik goedkoper ligt dan een gelijkaardige Intel (huidige ARM servers zijn nog steeds peperduur)

[Reactie gewijzigd door Guru Evi op 23 juli 2024 02:01]

Mac OS is toch al linux? Waarom werkt dit dan niet op andere linux distros?
Mac OS is toch al linux? Waarom werkt dit dan niet op andere linux distros?
Waar heb je dat vandaan? OS X is oorspronkelijk gebaseerd op een BSD systeem. Hoeveel daar na decennia ontwikkeling nog van over is...
Hmm, zouden ontwikkelaars dan niet moeten proberen om BSD op een M1 te draaien? Dat is dan vast makkelijker.
Zo makkelijk zal dat ook niet gaan. Vooral het userland van macOS komt van BSD maar bijvoorbeeld de hele laag die zorgt voor interactie tussen OS en hardware is radicaal anders. Anders kon je ook wel macOS drivers gebruiken op FreeBSD, en dat kan helaas niet. ;(

[Reactie gewijzigd door Maurits van Baerle op 23 juli 2024 02:01]

Nogal wiedes want de Darwin mach kernel is totaal anders van architectuur dan die van FreeBSD :)
De developers van Asahi Linux doen dit niet omdat het makkelijk is. Ze doen dit omdat ze Apple Silicon Linux op Macs willen. En misschien wel juist vanwege de uitdaging.

En ja, er zijn vast ook mensen die FreeBSD of OpenBSD of NetBSD of DragonflyBSD op de Apple Silicon Mac zouden willen, maar dat zijn niet dezelfde mensen, en vermoedelijk een nog kleiner groepje.

En of dat makkelijker is? Nee, dat MacOS gebaseerd is op BSD zou alleen helpen als je Apple's drivercode zou mogen hergebruiken. En die is heel erg closed source. Dus uiteindelijk zul je net zo goed alles van scratch moeten schrijven. Sterker nog, je hebt meer aan Asahi Linux dan aan MacOS zelf in dat geval.

[Reactie gewijzigd door Peetz0r op 23 juli 2024 02:01]

Nee, dat maakt weinig uit. Zowel BSD als Linux kernels zijn erg volwassen. De M1 gaat daar niets ingrijpends aan veranderen.

Het is vooral de aansturing van M1 specifieke hardware waar men nu mee bezig is. Dat kost op BSD evenveel/weinig moeite als op Linux.

De reden dat het allemaal zolang duurt is omdat ze zonder documentatie moeten werken. Zodra ze weten hoe iets werkt is het daadwerkelijk aanpassen van de kernel niet zoveel werk.
In theorie zou je best gelijk kunnen hebben. OSX maakt nog steeds gebruik van de "opensource" Darwin, welke een BSD variant is.
Maar daar drivers bij vaak een soort van extentions zijn, denk ikniet dat deze opensource zijn.

Maar het is voor mij al weer 20 jaar geleden, dat ik mij bezig hield met Darwin en OSX.
BSD is ook niet echt Linux zie volgende website :

https://www.educba.com/linux-vs-bsd/
(Free)BSD stamt nog af van AT&T Unix (oudste code in de repo’s stamt uit de jaren ‘70!) en is een volledig OS, terwijl Linux veel recenter is en louter een kernel is.
Dat beweer ik ook nergens
Ik had laatst een klein probleem op Linux (openSUSE tumbleweed)

Toen ik ging googlen kwam ik een mac os 9 ? gebruiker tegen met het zelfde probleem.
Ook de op lossing werkte voor mij.

(ik typte exit op de command line, en kreeg toen de melding dat er nog jobs draaide.)

Geen idee verder hoeveel mac os en Linux echt gemeen hebben, maar dat ze de zelfde oorsprong hebben is wel duidelijk. (UNIX)
Waarschijnlijk niet Mac OS 9, want die had helemaal geen terminal. MacOS en Linux zijn allebei Unix-varianten met bash als command line dus natuurlijk hebben die wel het een en ander gemeen
Linux is geen Unix variant. Linux is in het idee gebaseerd op Unix, maar staat er los van. Er zit in principe geen Unix code in de Linux kernel. Een nieuwe Mercedes is ook geen Ford Model T variant, maar er uiteindelijk wel op gebaseerd.
Er zijn wel Linux distro's die POSIX “Portable Operating System Interface [for Unix]” gecertificeerd zijn.

Bijv.: https://www.opengroup.org/openbrand/register/brand3622.htm
Dat maakt het nog steeds geen Unix variant. Er zit geen Unix code in, het is een heel ander systeem.
Het kan goed dat ik de mac os versie fout heb, ik was eerst vooral verbaast dat ik een mac gebruiker vond met een probleem op de cli. Daarom begon ik het te lezen.

Toen bleek het echter precies mijn probleem te zijn, en ook de commando's om het op te lossen, kon ik copy pasten naar Linux.

Ooit leer ik het wel, ik ga gewoon niets zeggen over die min1.
Oh wacht ;)
je kreeg een melding van Steve Jobs :)
Mac OS 9 lijkt me stug, dat OS heeft niet eens een CLI en werkt heel anders dan *nix.

Vanaf OS X is het OS een unix achtig systeem en vanaf OS x 10.5 zelfs unix compliant. Dat betekent dat veel zaken die op andere unix systemen draaien met weinig effort op macOS kunnen draaien. Er worden dan ook door Apple bekende opensource paketten gebruikt zoals vroeger gcc en de bash shell. Ook hebben ze dingen teruggegeven (CUPS voor printers) die op zowel OS X als Linux gemeengoed zijn. Dus ja, het kan heel goed dat een oplossing voor OS X ook op Linux werkt en wat userland betreft delen ze soms gewoon dezelfde software.

De kernel (darwin) verscheelt echter totaal van de Linux kernel en ze delen ook geen oorsprong. En dat is dus waar het harde werk verricht moet worden om Linux op M1 draaiend te krijgen.
Interessant :)

Het was een vrij oud topic, en die OS versie zal ik wel fout hebben. Van macs weet ik weinig, behalve dat het besturingssysteem, de zelfde oorsprong heeft als Linux. (UNIX)

Hoe een aantal UNIX gebruikers (hackers), die het niet lekker zat dat ze dingen niet konden delen, op een dag Linus Torvald tegen kwamen.

https://www.youtube.com/watch?v=-1h4RNetLbg
quote: stackexchange
Mac OS is based on a BSD code base, while Linux is an independent development of a unix-like system. This means that these systems are similar, but not binary compatible.

Furthermore, Mac OS has lots of applications that are not open source and are build on libraries that are not open source. Because of this reason, it is not possible to port those applications to run on Linux without being the copyright owner of those applications and libraries.
Ja en macOS is ook niet *BSD (Daarmee bedoel ik FreeBSD, OpenBSD, NetBSD) compatible. Vooral de kernel is heel anders. macOS heeft een microkernel terwijl de BSD's monolitisch zijn.

Darwin, de open-source versie van macOS (zonder GUI!) er op draaien zou op zich wel weer moeten kunnen.

[Reactie gewijzigd door GekkePrutser op 23 juli 2024 02:01]

Sinds OS X is het een Unix-variant, net als Linux. Maar het is nooit Linux geweest, en ook niet gebaseerd op Linux.
Linux is geen variant van Unix. Het lijkt er op, maar staat er los van. Het is een Unix-like kernel, geen Unix-derived kernel. Het leek er vanaf een afstand een beetje op, in 1991.
Linux zit in de Unix familie van besturingssystemen, dat bedoel ik met "een Unix-variant". Het gebruikt dezelfde concepten, met de introductie/ontwikeling van Linux startte op geen enkele manier een eigen type besturingssysteem.
Linux heeft met de introductie een eigen type besturingssysteem gestart. Dat was het hele punt. Het lijkt op Unix, maar het is geen Unix, dus ook geen Unix-variant.
Als je een besturingssysteem dat alle concepten van Unix overneemt (maar geen code) geen Unix-variant mag noemen, tja, dat is een keuze. Ik doe dat dus wel. Linux is, wat code betreft, geen AT&T variant, en geen BSD variant, maar m.i. behoort Linux wel tot de Unix familie. Wikipedia lost dat op door Minix en Linux in een aparte "Unix-alike" categorie te stoppen in hun grafische weergave in het "History of Unix" lemma: https://en.wikipedia.org/...e:Unix_history-simple.svg

https://opensource.com/ar...es-between-linux-and-unix
Alleen, zoals je kan zien, staat de hele oorsprong los van Unix. Geen code, geen developers, alles is los.

De Tesla Model S is ook geen variant van de Volkswagen Golf.
Maar een Tesla Model S is wel een auto, omdat het zowat alle concepten van de originele auto's overneemt. Ook al is hij door een nieuw bedrijf vanaf de grond ontworpen, en ondanks enkele essentiële verschillen zoals de elektrische aandrijving.
Een Boeing 777 is daarentegen geen auto, omdat die uitgaat van helemaal andere keuzes.

De oorsprong van Linux staat los qua code, maar niet qua keuzes. Linux heeft /dev/null niet zelf uitgevonden, toch? Zo zijn er honderden voorbeelden te geven. MS-DOS, Windows, BeOS staan niet op het "Unix history" plaatje omdat ze op andere keuzes en concepten gebaseerd zijn.

Zo duidelijk is de scheiding Linux/Unix trouwens blijkbaar niet, als je ziet hoe veel resources IBM ingezet heeft om de SCO rechtszaak af te werken. https://www.zdnet.com/art...it-may-finally-be-ending/
Heel mooi, maar waarom zou je Linux native op Mac Hardware willen draaien? Mensen kopen een Mac voor MacOS volgens mij.
Heel mooi, maar waarom zou je Linux native op Mac Hardware willen draaien? Mensen kopen een Mac voor MacOS volgens mij.
En volgens mij klopt dat niet helemaal. ;)
idd niet helemaal. Ik ken mensen die dat zouden willen, zoals ik. Scherm van de macbook's is gewoon erg goed en ook de laptop bouw kwaliteit is best ok. Ja niet de nieuwste hardware, maar wel redelijk degelijk. Nu de oude toetsenborden er weer zijn is het een best interresante. Macbook met linux (aangezien ik daar dagelijks op werk)
Niet de nieuwste HW? Hoe bedoel je? Het gaat om M-serie hw. Is er wat nieuwers?
Nee nu kunnen ze niet nieuwer, want ze maken het nu zelf. Bij de intel lijn liepen ze altijd wel achter, voor de hoofdprijs die ze vragen...
Ik schrijf dit op een inmiddels 11 jaar oude macbook met een i7, nog steeds snel (genoeg) en stil. Probeer dat eens met een goedkope Laptop. Deze MacBook brengt nog steeds 500-600 euro op als ik hem op Ebay zou zetten. Dat hele verhaal van te duur is en achterhaald is vooral elkaar napraten. Heb die discussies wel eens gehad op het werk, toen ik een iMac had gekocht. Laat mij maar eens een goedkopere, snellere en stille PC zien met een 5K scherm erbij zei ik dan, en dan kwam men met "argumenten" aan dat een wat lawaaiige doos met veel kabels en een duidelijk minder 4K scherm voor hun goed genoeg was.
Tja, dat kan, maar dat is geen vergelijking.
En zelfs als dat zo zou zijn, Apple had erg veel last van intel die hun herhaalde beloftes en timelines niet nakwam, daarom zijn er nu de M1-serie Mini's iMacs en Laptops, en waarschijnlijk later deze maand de M2-Serie of M1x serie, die nog veel sneller gaan zijn zoals het er uit ziet.
Kortom, hou op met ouwe koeien of fabeltjes uit de sloot te halen.
Sorry maar hier ben ik het dan weer echt niet mee eens. Draai zelf nu op ThinkPad van ook wat aardig wat jaartjes. Afgezien van het scherm is dat echt een betere laptop qua specs dan een vriend die op de macbook pro's draait. Ook de "upgrades" van hem zijn zwaar over priced. Ja dat zegt ie zelf. Ja het scherm is veel beter en een laptop met 5k is een macbook pro. Daar gaan we geen discussie over voeren. Als andere veel kleinere producenten wel de nieuwe processors hebben, dan kan intel wel leveren....

Kortom vergelijk geen consumenten laptops van 700€ met een macbook pro, maar een in de zelfde categorie. Dan zie je dat alle specs tegenvallen, behalve het scherm...
Voor ontwikkelaars was de Mac altijd een paradijs omdat je er zowel MacOS, Windows als Linux op kon draaien. Native en virtueel. Support voor x86 Windows lijkt met de komst van ARM-platformen bij Apple verleden tijd, ook virtueel. Je moet nu een dikke Intel Mac kopen waar je flink voor betaalt, of je moet voor de M1 kiezen en er een Windows notebook bij nemen.
Okay, fair enough, maar als je multiplatform ontwikkeld heb je dan niet meerdere VM's draaien, elk met een OS erop, windows 7, windows 10, windows 11, meerdere Linux distributies?
Klopt in principe, maar typisch werkt Windows en Linux draaien native of via virtualisatie. Dat werkt beide niet meer met x86 operating systems op een ARM-based platform. Dan moet je naar emulatie overstappen, en dat is veel trager en minder praktisch. Apple mikt vooral veel op de gemiddelde consument, en de professionele gebruikers hebben ze al vaker in de kou laten staan met dubieuze beslissingen. Misschien dat Windows op ARM nog mainstream gaat worden, maar ik zie dat niet heel snel gebeuren. Als je bijvoorbeeld WPF en UWP development op Windows doet, ben je afhankelijk van een x86 platform.
Zeg nooit nooit. Er zijn een hoop bedrijven die er baat bij hebben om van het duopolie van AMD en Intel af te zijn. Samsung bijvoorbeeld, maar ook Nvidia.

[Reactie gewijzigd door Wolfos op 23 juli 2024 02:01]

Ik denk dat klanten eerder een Mac kopen omdat ze dan aan al hun vrienden kunnen laten zien dat ze een duurdere Mac hebben dan de rest en daarmee in sociale rangorde stijgen. Wie het echt koopt om op te werken of gamen is gewoon van het padje.
Dit zegt meer over jou dan over MacOS
Bruikbaar is nogal subjectief. Maar mooi dat het werkt.
Voor de geinterseerde, Alyssa is laatst geinterviewd in de Late Night Linux podcast:
https://latenightlinux.co...t-linux-extra-episode-31/
Wat is er nieuw aan dit bericht ten opzichte van het nieuwsitem van 3 weken geleden? Asahi was toch al werkend op een M1 sock?

https://tweakers.net/nieu...iend-op-apple-m1-soc.html
Wat is er nieuw aan dit bericht ten opzichte van het nieuwsitem van 3 weken geleden? Asahi was toch al werkend op een M1 sock?

https://tweakers.net/nieu...iend-op-apple-m1-soc.html
Misschien als je het nog een keer goed leest?
"... voor elkaar heeft gekregen om Debian 11 met de Gnome-shell op een Apple-computer met een M1-processor te zetten. Ze noemt het 'niet geweldig, maar wel bruikbaar'. "Als het zo snel is terwijl de meeste drivers missen, zal Asahi Linux als een droom draaien op deze machines wanneer alles klaar is", aldus Rosenzweig."
Ze posten maandelijks een progress update, dat nieuws item was gebaseerd op de vorige. Eigenlijk kan je beter direct naar de bron gaan, veel meer details.

Wat gebruikers betreft is het grootste nieuws dat nu alle cores aangezet worden en op maximale snelheid kunnen draaien, zowel als je OSX gevirtualiseerd draait onder de ontwikkel-hypervisor als onder Linux.

Vanuit ontwikkelaars oogpunt is het goed om te zien dat er steeds meer features geaccepteerd worden in de upstream Linux kernel en dat er meer ontwikkelaars mee doen, wat er op wijst dat ze op de juiste weg zijn.

[Reactie gewijzigd door enzozus op 23 juli 2024 02:01]

Hopelijk krijgen ze het met de GPU ook een keer aan de praat, want dit doet een beetje denken aan de situatie met de PS3 destijds: er was officiele Linux support, maar aangezien alles via een hypervisor liep was GPU support niet mogelijk. Al met al had je dus betrekkelijk weinig aan Linux op je PS3, tenzij je specifiek met Cell-development bezig was.
Ik ben benieuwd of dit zou kunnen betekenen dat er iemand een versie van linux werkend zou kunnen krijgen op een iPhone, al is het maar wegens het omdat het kan principe!
Jazeker, dat kan al: https://youtu.be/DO8vt34kTh0

Ook was er jaren terug al eerder een experimentele (en langzame) Android op iPhone.
Interessant! Dank daarvoor. Zou het onderzoek dat tot dit artikel geleid heeft daar nog enige extra voortgang in kunnen betekenen wellicht?
Op zich zou dit een heel eind op weg zijn om Linux ook goed werkend op de iPhones en iPads te krijgen, maar helaas zitten die op slot. Apple staat niet toe dat er alternatieve operating systems worden geboot. In het filmpje wordt een iPhone 7 gebruikt omdat daar een unpatchbare vulnerability in de hardware zit. Het is net als Android toestellen waarbij de fabrikant moet toestaan dat je de bootloader unlocked om alternative ROMs te draaien. iPhones en iPads (ook M1) hebben een gelockte bootloader die Apple nooit zal laten unlocken. Apple M1 Macs hebben geen gelockte bootloader.
Blijkbaar is de GPU altijd een lastig dingetje. Ook bij vroegere custom firmware voor andoidboxjes etc. had je altijd wel zaken die wel werkten maar altijd zonder GPU ondersteuning. Ook zo bij versies van android voor op de RPI (vraag me niet waarom je het zou willen). Het is in ieder geval iets wat me vaak opvalt.
tja, de CPU gebruikt naast de proprietary Apple instructies de ARM instructieset, de GPU is volledig custom Apple Metal, das lastiger, om daar op OS level wat mee te doen, omdat dit volledig proprietary is.
Ik begrijp trouwens niet zo goed waarom Apple dit niet gewoon vrij geeft, ze verdienen aan de hardware.

Op dit item kan niet meer gereageerd worden.