Demonstrert lansering av Linux-miljø med GNOME på enheter med Apple M1-brikke

Initiativet til å implementere Linux-støtte for Apple M1-brikken, fremmet av Asahi Linux- og Corellium-prosjektene, har nådd et punkt hvor det er mulig å kjøre GNOME-skrivebordet i et Linux-miljø som kjører på et system med Apple M1-brikken. Skjermutdata er organisert ved hjelp av en rammebuffer, og OpenGL-støtte gis ved å bruke LLVMPipe-programvaren rasterizer. Det neste trinnet vil være å gjøre det mulig for skjerm-koprosessoren å sende ut opptil 4K-oppløsning, som driverne allerede er omvendt.

Project Asahi har oppnådd innledende støtte for ikke-GPU-komponenter av M1 SoC i hoved Linux-kjernen. I det demonstrerte Linux-miljøet, i tillegg til egenskapene til standardkjernen, ble flere ekstra patcher relatert til PCIe, pinctrl-driveren for den interne bussen og skjermdriveren brukt. Disse tilleggene gjorde det mulig å gi skjermutgang og oppnå USB- og Ethernet-funksjonalitet. Grafikkakselerasjon er ennå ikke brukt.

Interessant nok, for å reversere M1 SoC, implementerte Asahi-prosjektet, i stedet for å prøve å demontere macOS-driverne, en hypervisor som kjører på nivået mellom macOS og M1-brikken og transparent avskjærer og logger alle operasjoner på brikken. En av funksjonene til SoC M1 som gjør det vanskelig å implementere støtte for brikken i tredjeparts operativsystemer, er tillegget av en koprosessor til skjermkontrolleren (DCP). Halvparten av funksjonaliteten til macOS-skjermdriveren overføres til siden av den spesifiserte koprosessoren, som kaller opp de ferdige funksjonene til koprosessoren gjennom et spesielt RPC-grensesnitt.

Entusiaster har allerede analysert nok samtaler til dette RPC-grensesnittet til å bruke koprosessoren for skjermutgang, samt til å kontrollere maskinvaremarkøren og utføre komposisjons- og skaleringsoperasjoner. Problemet er at RPC-grensesnittet er fastvareavhengig og endres med hver versjon av macOS, så Asahi Linux planlegger kun å støtte visse fastvareversjoner. Først av alt vil det bli gitt støtte for fastvaren som leveres med macOS 12 "Monterey". Det er ikke mulig å laste ned den nødvendige fastvareversjonen, siden fastvaren installeres av iBoot på stadiet før overføring av kontroll til operativsystemet og med verifisering ved hjelp av en digital signatur.

Demonstrert lansering av Linux-miljø med GNOME på enheter med Apple M1-brikke
Demonstrert lansering av Linux-miljø med GNOME på enheter med Apple M1-brikke


Kilde: opennet.ru

Legg til en kommentar