Demonstreret lancering af Linux-miljø med GNOME på enheder med Apple M1-chip

Initiativet til at implementere Linux-understøttelse af Apple M1-chippen, fremmet af Asahi Linux- og Corellium-projekterne, har nået det punkt, hvor det er muligt at køre GNOME-skrivebordet i et Linux-miljø, der kører på et system med Apple M1-chippen. Skærmoutput organiseres ved hjælp af en framebuffer, og OpenGL-understøttelse leveres ved hjælp af LLVMPipe-softwarerasterizeren. Det næste trin vil være at gøre det muligt for skærmcoprocessoren at udsende op til 4K-opløsning, hvis drivere allerede er blevet reverse engineering.

Project Asahi har opnået indledende understøttelse af ikke-GPU-komponenter i M1 SoC'en i Linux-kernen. I det demonstrerede Linux-miljø blev der ud over standardkernens muligheder brugt flere yderligere patches relateret til PCIe, pinctrl-driveren til den interne bus og skærmdriveren. Disse tilføjelser gjorde det muligt at levere skærmoutput og opnå USB- og Ethernet-funktionalitet. Grafikacceleration er endnu ikke brugt.

Interessant nok implementerede Asahi-projektet, i stedet for at adskille macOS-driverne, en hypervisor, der kører på niveauet mellem macOS og M1-chippen og gennemsigtigt opsnapper og logger alle operationer på chippen for at omdanne M1 SoC'en. En af funktionerne i SoC M1, der gør det vanskeligt at implementere understøttelse af chippen i tredjeparts operativsystemer, er tilføjelsen af ​​en coprocessor til displaycontrolleren (DCP). Halvdelen af ​​funktionaliteten af ​​macOS-skærmdriveren overføres til siden af ​​den specificerede coprocessor, som kalder coprocessorens færdige funktioner gennem en speciel RPC-grænseflade.

Entusiaster har allerede analyseret nok opkald til denne RPC-grænseflade til at bruge coprocessoren til skærmoutput, samt til at styre hardwaremarkøren og udføre sammensætnings- og skaleringsoperationer. Problemet er, at RPC-grænsefladen er firmwareafhængig og ændres med hver version af macOS, så Asahi Linux planlægger kun at understøtte visse firmwareversioner. Først og fremmest vil der blive ydet support til firmwaren, der leveres med macOS 12 "Monterey". Det er ikke muligt at downloade den krævede firmwareversion, da firmwaren installeres af iBoot på stadiet før overførsel af kontrol til operativsystemet og med verifikation ved hjælp af en digital signatur.

Demonstreret lancering af Linux-miljø med GNOME på enheder med Apple M1-chip
Demonstreret lancering af Linux-miljø med GNOME på enheder med Apple M1-chip


Kilde: opennet.ru

Tilføj en kommentar