Det er nu muligt at køre Gnome på Apple M1

For nogle måneder siden vi deler her på bloggen nyheden om initiativ til Linux -understøttelse af Apple M1 -chippen, fremmet af Asahi Linux- og Corellium -projekterne, der i hele denne tid har arbejdet og nu har du nået det punkt, hvor det er muligt at køre GNOME -skrivebordet i et Linux -miljø, der kører på et system med en Apple M1 -chip.

Visualisering er organiseret af en framebuffer og OpenGL support leveres af rasterizer -software LLVMPipe. Det næste trin er at aktivere display -coprocessoren for en op til 4K output, som allerede er blevet reverse engineering.

Asahi -projektet har opnået første støtte for SoC M1-komponenter, der ikke er GPU, i kernelinuxkernen. I det demonstrerede Linux -miljø bruges ud over funktionerne i standardkernen flere ekstra patches relateret til PCIe, pinctrl -driveren til den interne bus og skærmdriveren. Disse tilføjelser tillod skærmvisning og betjening af USB og Ethernet. Grafikacceleration bruges endnu ikke.

M1 repræsenterer en enorm reverse engineering -udfordring med meget brugerdefineret hardware og fuldstændig udokumenteret. En tilgang til reverse engineering hardware er blind sondering, som vi plejede at reverse engineer Apples interrupt driver, men dette fungerer ikke rigtig for mere kompliceret hardware.

For korrekt at forstå, hvordan hardware håndteres, skal vi se på det eneste stykke dokumentation derude: selve macOS. Det ville være teknisk muligt at adskille og ombygge macOS -driverne selv, men dette rejser juridiske udfordringer, der kan bringe ophavsretsstatus for vores projekt i fare, samt være ineffektive, da meget af koden er specifik for macOS -driverrammen. og det giver os ingen nyttige oplysninger om hardwaren.

Mærkeligt nok til reverse engineering af M1 SoC, Asahi -projektet, i stedet for at prøve at afmontere driverne fra macOS, implementeret en hypervisor, der kører mellem macOS og M1 -chippen og opfanger og registrerer alle operationer med chippen gennemsigtigt. Blandt SoC M1-funktioner, der gør det vanskeligt at implementere chipsupport i tredjeparts operativsystemer, er tilføjelsen af ​​en coprocessor til displaycontrolleren (DCP).

På den angivne coprocessorside fjernes halvdelen af ​​funktionaliteten i macOS-skærmdriveren, som kalder de forudbyggede coprocessorfunktioner via en særlig RPC-grænseflade.

I stedet er en meget mere sikker tilgang, der tidligere har været brugt af projekter som Nouveau, at registrere en log over hardwareadgangene fra officielle controllere på et reelt system uden at skulle kigge på koden. Nouveau opnåede dette ved at bruge en Linux -driver til at opsnappe adgang fra Nvidias officielle Linux -driver. Selvfølgelig er Apples M1 -drivere til macOS, ikke Linux. Selvom vi kunne implementere den samme tilgang med en brugerdefineret patch til open source -kernen i macOS -kernen, besluttede vi at gå et niveau dybere og bygge en hypervisor, der kan køre hele macOS, uændret, i en virtuel maskine, der indeholder den. gennemsigtigt. den rigtige M1 hardware.

Entusiaster har allerede opdaget nok opkald til denne RPC -grænseflade at bruge coprocessoren til visning, samt til at styre hardwaremarkøren og udføre komposition og skaleringsoperationer.

Problemet er, at RPC -grænsefladen afhænger af firmwaren og ændringer i hver version af macOS, så Asahi Linux planlægger kun at understøtte visse versioner af firmware.

Først support vil blive ydet til firmware, der leveres med macOS 12 "Monterey". Det er ikke muligt at downloade den nødvendige firmwareindstilling, da firmwaren er installeret af iBoot på scenen før overførsel af kontrol til operativsystemet og verificeret ved digital signatur.

kilde: https://asahilinux.org


Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.