Teraz je možné Gnome spustiť na Apple M1

Pred niekoľkými mesiacmi zdieľame tu na blogu správy o iniciatíva za podporu Linuxu pre čip Apple M1, podporované projektmi Asahi Linux a Corellium, ktoré počas celej tejto doby fungovali a teraz ste sa dostali do bodu, kedy je možné spustiť pracovnú plochu GNOME v prostredí Linuxu spustenom na systéme s čipom Apple M1.

vizualizácia je organizovaný framebufferom a podporou OpenGL poskytuje softvér rasterizer LLVMPipe. Ďalším krokom je povolenie koprocesora displeja pre a výstup až 4K, ktorý už bol vyvinutý s reverzným inžinierstvom.

Projekt Asahi dosiahol počiatočnú podporu pre komponenty SoC M1, ktoré nie sú GPU, v jadre jadra Linuxu. V demonštrovanom prostredí Linuxu sa okrem schopností štandardného jadra používa aj niekoľko ďalších opráv týkajúcich sa PCIe, ovládača pinctrl pre internú zbernicu a ovládača displeja. Tieto doplnky umožňovali zobrazenie na obrazovke a prevádzku USB a ethernetu. Grafická akcelerácia sa zatiaľ nepoužíva.

M1 predstavuje obrovskú výzvu v oblasti reverzného inžinierstva s množstvom vlastného hardvéru a úplne bez dokumentov. Jedným z prístupov k hardvéru reverzného inžinierstva je slepé skúmanie, ako sme použili na spätné inžinierstvo ovládača prerušenia spoločnosti Apple, ale v prípade komplikovanejšieho hardvéru to skutočne nefunguje.

Aby sme správne pochopili, ako sa zaobchádza s hardvérom, musíme sa pozrieť na jedinú dokumentáciu, ktorá existuje: samotný macOS. Technicky by bolo možné rozobrať a spätne analyzovať samotné ovládače macOS, čo však vyvoláva právne problémy, ktoré by mohli ohroziť stav autorských práv nášho projektu a tiež byť neúčinné, pretože veľká časť kódu je špecifická pre rámec ovládačov macOS. a neposkytuje nám žiadne užitočné informácie o hardvéri.

Kuriózne je, reverzného inžinierstva M1 SoC, projekt Asahi, namiesto pokusu o odpojenie ovládačov z makra, implementoval hypervisor, ktorý beží medzi macOS a čipom M1 a zachytáva a transparentne zaznamenáva všetky operácie s čipom. Medzi funkcie SoC M1, ktoré sťažujú implementáciu podpory čipov v operačných systémoch tretích strán, patrí pridanie koprocesora do ovládača displeja (DCP).

Na zadanej strane koprocesora je odstránená polovica funkcií ovládača displeja macOS, ktorý volá vopred pripravené funkcie koprocesora prostredníctvom špeciálneho rozhrania RPC.

Oveľa bezpečnejší prístup, ktorý v minulosti používali projekty ako Nouveau, je namiesto toho zaznamenať denník prístupov k hardvéru vykonaný oficiálnymi kontrolórmi do skutočného systému bez toho, aby ste sa museli pozerať na kód. Nouveau to dosiahol pomocou ovládača Linuxu na zachytenie prístupov z oficiálneho ovládača Linuxu spoločnosti Nvidia. Ovládače Apple M1 sú samozrejme určené pre macOS, nie pre Linux. Aj keď by sme mohli rovnaký prístup implementovať pomocou vlastnej opravy pre jadro open source jadra macOS, rozhodli sme sa ísť o úroveň hlbšie a vybudovať hypervisor, ktorý dokáže vo virtuálnom stroji, ktorý ho obsahuje, spustiť celé množstvo macOS, nemodifikovaných. transparentne. skutočný hardvér M1.

Nadšenci už objavili dostatok hovorov do tohto rozhrania RPC používať koprocesor na zobrazenie, ako aj na ovládanie hardvérového kurzora a vykonávanie kompozičných a mierkových operácií.

Problém je v tom, že rozhranie RPC závisí od firmvéru a zmien v každej verzii systému macOS, a preto Asahi Linux plánuje podporovať iba určité verzie firmvéru.

Po prvé, podpora bude poskytovaná pre firmvér dodávaný s macOS 12 "Monterey". Nie je možné stiahnuť požadovanú možnosť firmvéru, pretože firmvér je nainštalovaný spoločnosťou iBoot vo fáze pred prenosom ovládania do operačného systému a overený digitálnym podpisom.

Fuente: https://asahilinux.org


Buďte prvý komentár

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.