Initiativet för att implementera stöd för Apple M1-chippet i Linux, som frÀmjas av projekten Asahi Linux och Corellium, har nÄtt en nivÄ dÀr det nu Àr möjligt att köra GNOME-skrivbordet i en Linux-miljö som körs pÄ ett system med Apple M1-chippet. Utmatningen till skÀrmen organiseras med hjÀlp av framebuffer, och stödet för OpenGL möjliggörs genom den programvarubaserade rasteriseringen LLVMPipe. NÀsta steg blir att utnyttja display-koprocessorn för att möjliggöra utmatning med upp till 4K-upplösning, dÀr bakÄtkodning av drivrutiner redan har genomförts.
Asahi-projektet har lyckats inkludera grundlÀggande stöd för M1 SoC-komponenter som inte Àr relaterade till GPU i Linux-kÀrnan. I den demonstrerade Linux-miljön har flera ytterligare patchar anvÀnts förutom möjligheterna hos den standardkÀrnan, som rör PCIe, pinctrl-drivrutinen för den interna bussen och displaydrivrutinen. Dessa tillÀgg har gjort det möjligt att fÄ utmatning till skÀrmen och fÄtt USB och Ethernet att fungera. Grafikhastighet anvÀnds för nÀrvarande inte.
Intressant nog, för att utföra bakÄtkodning av M1 SoC, har Asahi-projektet istÀllet för att försöka disassemblera macOS-drivrutiner implementerat en hypervisor som körs pÄ en nivÄ mellan macOS och M1-chippet, och som i transparent lÀge fÄngar och loggar alla operationer med chippet. Bland de kÀnnetecken hos M1 SoC som försvÄrar stöd i tredjeparts-OS nÀmns tillÀgget av koprocessorn i displaykontrollern (DCP). PÄ denna koprocessors sida har hÀlften av funktionaliteten hos macOS-displaydrivrutinen flyttats, som anropar de fÀrdiga funktionerna hos koprocessorn via ett speciellt RPC-grÀnssnitt.
Entusiaster har redan avkodats tillrÀckligt med anrop frÄn detta RPC-grÀnssnitt för att utnyttja koprocessorn för att fÄ utmatning pÄ skÀrmen, samt för att hantera den hÄrdvarubaserade pekaren och för att utföra komposition och skalning. Problemet Àr att RPC-grÀnssnittet Àr beroende av firmware och Àndras i varje version av macOS, varför det i Asahi Linux planeras stödja endast vissa versioner av firmware. Först kommer stöd att ges för den firmware som levereras med macOS 12 "Monterey". Det gÄr inte att ladda ner den nödvÀndiga varianten av firmware, eftersom firmware installeras av iBoot i ett skede före överlÀmning av kontroll till operativsystemet och med verifiering via digital signatur.


KĂ€lla: opennet.ru
