Ontwikkelaars krijgen Linux met Gnome-shell bare-metal draaiend op Apple M1-soc

Ontwikkelaars hebben het voor elkaar gekregen Linux met de Gnome-shell draaiend te krijgen op een Apple Mac-computer met M1-soc. Gebruikers kunnen daarmee Linux met een gui gebruiken op systemen met deze chip, al werkt gpu-acceleratie nog niet.

Een van de ontwikkelaars is Alyssa Rosenzweig van Asahi Linux, een project dat probeert Linux goed werkend te krijgen op Apples M1-chip. Zij schrijft op Twitter dat ze het 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.

De ontwikkelaar meldt daarbij dat het geheel draait op een 'bijna-mainline kernel'. Naast de mainline Linux-kernel, hebben de ontwikkelaars enkele eigen patches doorgevoerd om de Gnome-desktopomgeving te draaien op de M1-soc, waarmee het team de displayoutput, USB en ethernet werkend hebben gekregen.

De ontwikkelaars hebben onder andere patches doorgevoerd voor de pincontroller en PCIe. Alyssa Rosenzweig werkte zelf aan een eigen displaydriver, waaraan momenteel nog wordt gesleuteld. Het systeem kan met de huidige displaydriver gebruikmaken van door Linux gealloceerde framebuffers en bit-banging hidden registers, wat dubbele buffering mogelijk maakt en tearing voorkomt. Op termijn moet de driver werken met de display-coprocessor van de M1-soc, wat onder andere 4k-output mogelijk zou maken.

Het werkend krijgen van de Gnome-desktopomgeving is de meest recente ontwikkeling van het Asahi Linux-project, hoewel de ontwikkelaars al langer werken aan Linux voor de M1-soc. Het team van Asahi Linux kreeg het eerder al voor elkaar om Debian te draaien op een Mac Mini met deze chip, hoewel dat toen nog zonder grafische desktopomgeving als Gnome was. Ook virtualisatiebedrijf Corellium deelde in januari een 'zeer vroege bèta' van Linux voor deze soc.

Gnome-shell op Apple M1Gnome-shell op Apple M1Gnome-shell op Apple M1

Afbeeldingen door Alyssa Rosenzweig, via Twitter

Door Daan van Monsjou

Nieuwsredacteur

23-08-2021 • 18:10

54

Submitter: WhatsappHack

Reacties (54)

54
52
34
3
0
11
Wijzig sortering
Echt heel gaaf! Ben benieuwd wat voor end users een m1 macbook kopen en linux zullen draaien, alleen. Misschien een dual boot voor bepaalde developers/studenten die Linux nodig hebben als environment? Ik dacht dat dat ook wel in een vm makkelijk te doen zou zijn.
Nou, ik.
Al zou ik eerder een M1 Mac mini kopen, maar zelfde principe.

Ik vind zowel Linux distro's als macOS prettig werken, Windows minder.

Dus voor alledaagse zaken macOS, en voor gamen Linux. Ik zie het al helemaal voor me O+
Ik ben in de markt voor een mac mini, dual boot met linux zou ik wel zien zitten, maar aan de andere kant, het zal alleen zijn om te compilen en te testen.
Echt heel gaaf! Ben benieuwd wat voor end users een m1 macbook kopen en linux zullen draaien, alleen. Misschien een dual boot voor bepaalde developers/studenten die Linux nodig hebben als environment? Ik dacht dat dat ook wel in een vm makkelijk te doen zou zijn.
Ik ken een aantal Linux gebruikers die voor Apple hardware kiest omdat er relatief veel gebruikers (en developers) zijn en omdat Apple veel verkoopt en niet heel snel verandert maar een model een flink periode levert met min of meer dezelfde binnenkant. Daarnaast telt het wereldwijde support netwerk dat (al dan niet tegen forse betaling) er voor zorgt dat je in ieder geval door kan zonder dat ieder gesprek begint met "installeer eerst het oorspronkelijke besturingssysteem anders kunnen wij u niet helpen".
Nou ik zou graag een M1 Air hebben, maar windows of Mac OS hoef ik niet. Apple zal het nooit met linux verkopen maar als het out of the box werkt met openSUSE dan zou ik een Air zeker overwegen.
Gewoon simpel, op mijn x86 mbp gebruik ik zowel macos, linux distro’s (in een vm, zoveel merk je daar niet van voor dev werk) en win10 (ook in een vm) voor compatibiliteit met enkele win only office specifieke dingen.

Vaak allemaal tegelijk zodat je kan swipen tussen de verschillende OSsen. Als dat op een M1 min of meer native kan koop ik’m morgen
Wellicht een off-topic vraagje. Maar, weten er mensen hoe dit met Windows zit? Is dat al 'native' draaiend te krijgen op een M1 machine?
Theoretisch is windows gecompiled voor “ARM” en is de M1 gebaseerd op ARM.


Alleen Microsoft heeft samengewerkt met hoofdzakelijk Qualcomm die er soms een wat eigen draai aan geeft en ook Apple wil een eigen draai geven aan hardware.

Ik geloof wel dat tzt het gaat werken maar verre van optimaal en ik geloof ook niet dat Microsoft of Qualcomm er extra in zal steken om bepaalde drivers open te zetten.
Het verschil is wel dat ARM systemen geen BIOS hebben die de hardware beschrijft, maar dat deze beschrijving (in het geval van linux) door het OS vanaf disk wordt ingeladen.
M.a.w. het is niet zomaar cross-compilen, het OS moet ook verteld worden hoeveel cores er zijn, op welke adressen de memory mapped io zit enz. Voor linux doe je zulke zaken in de device tree. Voor Windows weet ik het niet hoe ze dit doen, het kan zijn dat MS dit gewoon in de source code doet gezien de beperkte aantal ARM borden die ondersteund zijn.
Sorry, dit is erg outdated informatie denk ik. Het ARM platform heeft behoorlijk grote sprongen gemaakt de afgelopen jaren. Hardware beschrijvingen worden bij ARM ingeladen door de bootloader. Hetzij een U-Boot, UEFI, of in geval van Apple, iBoot. Deze bootloader laad de kernel in samen met een device tree welke de mapping / enumeratie van de hardware beschrijft voor de kernel.

Voor de BSD en Linux ports op de M1 is dus iBoot vervangen een U-boot port, en de device tree blobs zijn overal te vinden nu.
Ik bedoelde eigenlijk hetzelfde toen ik het over de device tree had, maar je hebt me inderdaad correct gecorrigeerd in dat het de bootloader is die deze oppikt van disk (of ergens anders), het OS doet dit natuurlijk niet zelfstandig. Maar ter verduidelijking, de device tree hardware beschrijving is niet outdated.
Het BIOS, ja dat is outdated omdat het niet meer in gebruik is op nieuwere moederborden.
UEFI is dan weer niet hetzelfde als U-boot. U-boot kan denk ik eerder vergeleken worden met Grub. Het is de firmware (BIOS/UEFI) die grub in gang zet. Grub laad dan op zijn beurt weer Linux. Simplistisch uitgelegd :)

Het grote punt dat ik eigenlijk wou maken, voor x86 kan je makkelijk een generieke image genereren die zonder problemen boot voor zowel Intel en AMD processoren indien de architectuur identiek is. Dus niet voor zowel x86 als x6-AMD64. Dit omwille van het aanwezig zijn van het BIOS en tegenwoordig UEFI, die de ACPI tables beschrijft. Terwijl dit op een ARM systeem zelfs tegenwoordig gewoonweg niet voorhanden is en er een binair device tree gebruikt wordt. Het verschil is dat een BIOS/UEFI op je moederbord zit en dit automatisch voor je doet, eventueel na een update in geval van nieuwe processen waar de device tree zelfstandig moet gemaakt worden voor je type SOC.
Ja, tegenwoordig kan ACPI ook voor ARM platformen, maar dat is vooral voor een kleine hoeveelheid ARM servers. Overigens is dit geîntroduceerd voor ARM nadat er reeds de device tree was, en dit omdat de ACPI tables ervoor zorgt dat je met generieke OS images kan werken.
via parallels draait de windows 10 on ARM insider preview vzviw goed. Hoe blij je wordt van de rest van het software-ecosysteem in natuurlijk een andere vraag.
Tja, gezien die Windows 10 on ARM sowieso een preview build is, is het maar de vraag waar de issues dus zitten en wie 'verantwoordelijk' is om het te patchen, bijvoorbeeld.
Als Apple geen drivers maakt kan MS het platform ook niet ondersteunen. De verantwoordelijkheid zit bij Apple. Zij kennen de hardware.
Maar niet als de issue in Windows zelf zit. ;)
Ik denk eigenlijk dat die kans erg groot is. Misschien niet eerste prio, maar het zal een veel gevraagd iets zijn. En Apple maakt het natuurlijk geen drol uit welk OS je draait.
En Apple maakt het natuurlijk geen drol uit welk OS je draait.
Ik denk dat Apple er steeds meer belang bij heeft dat mensen daadwerkelijk een Apple OS gebruiken op Apple hardware, aangezien ze steeds meer diensten aanbieden (Apple One) en inkomsten genereren uit App Store aankopen ;)
Net als dat Windows tegenwoordig Linux embraced, terwijl het motto bij Microsoft lang geweest is Embrace, Extend, Exterminate
Daar ben ik nog niet zo zeker van. Apple heeft ook voordeel bij het feit dat alternatieve besturingssystemen kunnen draaien op hun hardware. Zie bootcamp bv.

Als de M1 nu al volledige linux ondersteuning had met graphics accel, dan had ik er persoonlijk al eentje gekocht, en wellicht op mijn werk ook meerdere devs. (Of wss zelfs onze werkgever)
Ze hebben het bij Intel Macs jarenlang ondersteund dmv van Bootcamp en dus ook dedicated driverpackages voor de hardware op Windows.

Helaas is Windows voor ARM ook (nog?) niet beschikbaar in de losse verkoop dus het heeft op dit moment weinig zin voor Apple om het actief te ondersteunen.

Dat gezegd hebbende heeft Apple haar Macs wel degelijk verder ‘dichtgetimmerd’ de laatste jaren met oa System Integrity Protection, T1/2 chips en ook het M1 platform is het überhaupt al lastiger om een andere opstartdrive te gebruiken.
Met Parallels kan alleen de ARM versie van Windows worden gedraaid. Windows ARM support zelf alleen ARM en x86 software, geen x64..
Vanaf build 21277 (Windows 11 is build 22000) is er ook ondersteuning voor x64 apps :)
Alleen via parallels, nog niet via Bootcamp
Is er eegens info hoe men dit heeft gedaan? Gaat het dan om de compiler aan te passen aan de M1 instructie set?
Als je wenst is er wel een hele YT afspeellijst te vinden van hoe dat is klaargespeeld. Ben je wel enkele dagen aan het kijken naar iemand die alles van 0 af aan ontwikkeld om het mogelijk te maken.
Klinkt interessant! Heb je een linkje naar het kanaal of video?
Die Alyssa Rosenzweig heeft wel een blog waarin ze het werk beschrijft dat ze gedaan heeft om de visuele weergave werkend te krijgen. Erg indrukwekkend, te meer omdat ze nog een student is en dus erg jong: https://rosenzweig.io/
Ik dacht ik ken haar naam ergens van. Maar ze heeft dus ook aan Panfrost gewerkt. (Mali GPU's )Ook haar CV is erg indrukwekkend.

Linux op M1 is denk ik makkelijker dan Windows omdat Linux en Unix op elkaar lijken. Daarnaast heeft Linux al een Debian Arm 64 bit variant en Windows zover ik weet nog niet!
Klik eens door naar Asahi Linux en lees het blog. https://asahilinux.org/ . Neen, het is niet "even" de compiler aanpassen.
Ik vraag me af of we deze Linux ooit op de iPad pro met de1 zullen zien draaien. Zou de iPad pro echt pro maken.
Oh dan komt er vast wel een "Cease and desist" de kant van de ontwikkelaar op waaien, want dan is de iPad ineens een concurrent voor de Macbook.
Dat zal Apple niet doen denk ik. Op welke grond? Je hebt er geen patent op dat een OS niet op je hardware mag draaien. Behalve als het illigale praktijken in de weer brengt en stimuleert/mogelijk maakt.

Mocht Apple dit doen hebben ze 2 problemen.
1 aangeklaagd worden voor koppelverkoop/monopolie.
2. Ze maken niet echt vrienden. Je klaagt niet een persoon aan maar een gemeenschap (waar ook IBM en ironisch genoeg nu ook MS deel van uitmaken) als die al geen rechtzaak starten zijn er nog wel wat hackers die in 1x vrije tijd over hebben.

Zal wel leuk zijn. Gewoon Linux op je iPad of MacBook en dan een soort van hybride versie van KVM en dan met Qemu }>
Waarschijnlijk voor het jailbreaken en apple heeft geen enkele probleem partijen daarvoor aan te klagen.
Op welke grond. Linux faciliteert geen appstore waarmee je payments ofzo kan omzeilen wat Cydia bijvoorbeeld evt. Wel kan. Daarnaast is er met de andere OS'en misschien een inbreuk op copyright of patent aangezien die eigenlijk het OS vroeger gewoon kopieerden.
Dat doet Linux niet.
Waarschijnlijk voor het jailbreaken en apple heeft geen enkele probleem partijen daarvoor aan te klagen.
Ohja? Volgens mij worden de 'jailbreakers' anders niet aangeklaagd in de praktijk.
Apple is rijk genoeg om geen vrienden te hebben?

De Apple hardware is een (belangrijk) onderdeel van de Apple ervaring, maar zeker niet het enige. En ze hebben al lang en breed bewezen dat de voor hen de Apple ervaring als geheel meer dan heilig is.Met dat in het achterhoofd, verwacht ik niet dat ze Linux op hun producten tolereren.

Dat wil niet zeggen dat er geen Linux versie voor de M1 (en opvolgers) zullen verschijnen. Maar wel dat Apple er veel aan zal doen om dat zo lang mogelijk, zo ongemakkelijk mogelijk wil maken. Het zou er wel eens op uit kunnen draaien dat Apple een goedbetaalde functie aanbied voor de personen achter deze Linux versie. Natuurlijk hebben deze personen dan "geen tijd" meer om aan die versie van Linux te werken.

Zelf verwacht ik veranderingen in hoe Apple (en Google/Microsoft) hun store moeten gaan anbieden en dat deze daardoor financieel lang niet zo aantrekkelijk meer zijn. En dan krijg je te horen dat Linux op je hardware draait en je geen store inkomsten meer genereerd. Dat zal teveel tegen het zere been schoppen zijn.
Voor zover ik lees is de boot loader locked op de iOS en op macOS niet. Maw ik denk niet dat die niet op iOS komt te staan, toch niet zonder jailbreak
Jammer dat Apple geen open-source drivers uitgeeft..
Nice, hopelijk ook gauw FreeBSD erop. arm64 is al een first-tier platform sinds versie 13.0.

Ik vind het op zich best mooie systemen en M1 een goede architectuur, alleen macOS is me nu te gesloten geworden.
Hopelijk is het gevolg hiervan uiteindelijk dat iedere mainstream distro out of the box goed werkt op Apple Silicon. Een Mac was altijd het enige apparaat waarop ieder OS op draait: Linux, macOS en Windows. Super jammer dat dat nu niet meer zo is☹️
Dat is al een tijdje niet meer zo. Macbook's (en dan vooral de Pro's) met Touchbar is een ramp. Trouwens, alles met de T1 chip (wat nu in de M1 CPU zit) uitgerust is heeft moeite met Linux.
Dit is wel een heel liberale interpretatie van het begrip interoperabiliteit. Apple is degene wiens software het minst portabel is naar andere hardware. Om dan te zeggen dat de Mac het meest compatibel is, is de minst compatibele de hoogste score geven. De bewering zelf is trouwens onjuist: een Hackintosh pc kan ook zowel Windows, Linux als MacOS uitvoeren.
Het enige apparaat waar ieders os op draait ? Er zijn wel meer osen dan linux, macos en windows ... er is nog Chrome, Freebsd, unix om er slechts een paar op te noemen. Er is echt wel wat meer op de markt dan die 3
Dat was niet zozeer omwille van technische redenen, dan wel legale redenen.
MacOS mag je eigenlijk alleen op Apple hardware draaien.
OK, je kan een hackintosh zelf maken, maar als je hem massaal gaat verkopen, komt Apple wel achter je aan, zoals met PsyStar in 2009.
.. maar als je hem massaal gaat verkopen, komt Apple wel achter je aan, zoals met PsyStar in 2009.
Of PearC
Of de originele PearPC.
Ik hoop dat ze het voor elkaar krijgen gebruik te maken van alle HW acceleratie en de distributie kunnen optimaliseren voor Apple Silicon. Hier trouwens een stuk dat ik heb geschreven over waarom Apple Silicon zo snel is
Ben wel benieuwd hoe de bootloader dit oppakt. Kun je dan met de Option-toets kiezen welk OS je wilt starten?
Ik vraag me af hoe ze hardware accelerated display drivers kunnen gaan maken voor de M1... Dat zal heel moeilijk zijn, omdat de M1 zijn eigen, door Apple ontwikkelde geïntegreerde GPU heeft waarvoor (voor zover ik weet) Apple geen gedetailleerde documentatie publiceert. Moeten de Asahi Linux ontwikkelaars dat allemaal via reverse engineering uitvinden?

En natuurlijk hetzelfde voor de neural engine en eventuele andere speciale onderdelen van de M1.

[Reactie gewijzigd door jj71 op 23 juli 2024 06:53]

Op dit item kan niet meer gereageerd worden.