Demonstrerad lansering av Linux-miljö med GNOME på enheter med Apple M1-chip

Initiativet att implementera Linux-stöd för Apple M1-chippet, främjat av Asahi Linux- och Corellium-projekten, har nått den punkt där det är möjligt att köra GNOME-skrivbordet i en Linux-miljö som körs på ett system med Apple M1-chippet. Skärmutdata organiseras med hjälp av en rambuffert, och OpenGL-stöd tillhandahålls med hjälp av LLVMPipe-programvarans rasterizer. Nästa steg blir att göra det möjligt för bildskärmssamprocessorn att mata ut upp till 4K-upplösning, för vilka drivrutinerna redan är omvända.

Project Asahi har uppnått initialt stöd för icke-GPU-komponenter i M1 SoC i Linux-huvudkärnan. I den demonstrerade Linux-miljön användes, förutom funktionerna hos standardkärnan, flera ytterligare patchar relaterade till PCIe, pinctrl-drivrutinen för den interna bussen och bildskärmsdrivrutinen. Dessa tillägg gjorde det möjligt att tillhandahålla skärmutgång och uppnå USB- och Ethernet-funktionalitet. Grafikacceleration används ännu inte.

Intressant nog, för att omvända konstruktionen av M1 SoC, implementerade Asahi-projektet, istället för att försöka plocka isär macOS-drivrutinerna, en hypervisor som körs på nivån mellan macOS och M1-chippet och transparent fångar upp och loggar alla operationer på chipet. En av egenskaperna hos SoC M1 som gör det svårt att implementera stöd för chippet i tredjepartsoperativsystem är tillägget av en samprocessor till bildskärmskontrollern (DCP). Hälften av funktionaliteten hos macOS-displaydrivrutinen överförs till sidan av den specificerade samprocessorn, som anropar de färdiga funktionerna hos samprocessorn via ett speciellt RPC-gränssnitt.

Entusiaster har redan analyserat tillräckligt många anrop till detta RPC-gränssnitt för att använda samprocessorn för skärmutmatning, såväl som för att styra hårdvarumarkören och utföra sammansättnings- och skalningsoperationer. Problemet är att RPC-gränssnittet är firmware-beroende och ändras med varje version av macOS, så Asahi Linux planerar att endast stödja vissa firmware-versioner. Först och främst kommer support att tillhandahållas för den fasta programvaran som levereras med macOS 12 "Monterey". Det är inte möjligt att ladda ner den erforderliga firmwareversionen, eftersom den fasta programvaran installeras av iBoot i skedet innan kontrollen överförs till operativsystemet och med verifiering med en digital signatur.

Demonstrerad lansering av Linux-miljö med GNOME på enheter med Apple M1-chip
Demonstrerad lansering av Linux-miljö med GNOME på enheter med Apple M1-chip


Källa: opennet.ru

Lägg en kommentar