Nagpakita ng paglulunsad ng Linux environment na may GNOME sa mga device na may Apple M1 chip

Ang inisyatiba upang ipatupad ang suporta sa Linux para sa Apple M1 chip, na itinaguyod ng mga proyekto ng Asahi Linux at Corellium, ay umabot sa punto kung saan posibleng patakbuhin ang GNOME desktop sa kapaligiran ng Linux na tumatakbo sa isang system na may Apple M1 chip. Ang output ng screen ay isinaayos gamit ang isang framebuffer, at ang suporta sa OpenGL ay ibinibigay gamit ang LLVMPipe software rasterizer. Ang susunod na hakbang ay ang paganahin ang display coprocessor na makapag-output ng hanggang 4K na resolution, ang mga driver na na-reverse engineered na.

Nakamit ng Project Asahi ang paunang suporta para sa mga non-GPU na bahagi ng M1 SoC sa pangunahing Linux kernel. Sa ipinakitang kapaligiran ng Linux, bilang karagdagan sa mga kakayahan ng karaniwang kernel, ilang karagdagang mga patch na nauugnay sa PCIe, ang pinctrl driver para sa panloob na bus, at ang display driver ay ginamit. Ang mga karagdagan na ito ay naging posible upang magbigay ng screen output at makamit ang USB at Ethernet functionality. Hindi pa ginagamit ang graphics acceleration.

Kapansin-pansin, upang i-reverse engineer ang M1 SoC, ang proyekto ng Asahi, sa halip na subukang i-disassemble ang mga driver ng macOS, ay nagpatupad ng hypervisor na tumatakbo sa antas sa pagitan ng macOS at M1 chip at malinaw na humarang at nag-log sa lahat ng mga operasyon sa chip. Ang isa sa mga tampok ng SoC M1 na nagpapahirap sa pagpapatupad ng suporta para sa chip sa mga third-party na operating system ay ang pagdaragdag ng isang coprocessor sa display controller (DCP). Ang kalahati ng pag-andar ng driver ng macOS display ay inilipat sa gilid ng tinukoy na coprocessor, na tumatawag sa mga yari na function ng coprocessor sa pamamagitan ng isang espesyal na interface ng RPC.

Ang mga mahilig ay nakapag-parse na ng sapat na mga tawag sa interface ng RPC na ito upang magamit ang coprocessor para sa output ng screen, pati na rin upang kontrolin ang cursor ng hardware at magsagawa ng mga pagpapatakbo ng compositing at scaling. Ang problema ay ang interface ng RPC ay umaasa sa firmware at nagbabago sa bawat bersyon ng macOS, kaya plano ng Asahi Linux na suportahan lamang ang ilang bersyon ng firmware. Una sa lahat, ibibigay ang suporta para sa firmware na ipinadala kasama ng macOS 12 "Monterey". Hindi posibleng i-download ang kinakailangang bersyon ng firmware, dahil ang firmware ay na-install ng iBoot sa yugto bago ilipat ang kontrol sa operating system at may pag-verify gamit ang isang digital na lagda.

Nagpakita ng paglulunsad ng Linux environment na may GNOME sa mga device na may Apple M1 chip
Nagpakita ng paglulunsad ng Linux environment na may GNOME sa mga device na may Apple M1 chip


Pinagmulan: opennet.ru

Magdagdag ng komento