Прадэманстраваны запуск Linux-акружэнні з GNOME на прыладах з чыпам Apple M1

Ініцыятыва па рэалізацыі падтрымкі ў Linux чыпа Apple M1, якая прасоўваецца праектамі Asahi Linux і Corellium, дасягнула ўзроўню, пры якім стаў магчымы запуск працоўнага стала GNOME у Linux-акружэнні, запушчаным на сістэме з чыпам Apple M1. Выснова на экран арганізаваны пры дапамозе framebuffer, а падтрымка OpenGL забяспечана пры дапамозе праграмнага растэрызатара LLVMPipe. Наступным крокам стане задзейнічанне дысплейнага супрацэсара для вываду з дазволам да 4K, зваротны інжынірыг драйвераў для якога ўжо праведзены.

Праект Asahi дамогся ўключэнні ў асноўны склад ядра Linux пачатковай падтрымкі кампанентаў SoC M1, не злучаных з GPU. У прадэманстраваным Linux-асяроддзі апроч магчымасцяў штатнага ядра выкарыстана некалькі дадатковых патчаў, злучаных з PCIe, драйверам pinctrl для ўнутранай шыны і дысплейным драйверам. Паказаныя дадаткі дазволілі забяспечыць выснову на экран і дамагчыся працы USB і Ethernet. Паскарэнне графікі пакуль не выкарыстоўваецца.

Цікава, што для зваротнага інжынігінгу SoC M1 праект Asahi замест спроб дызасэмблявання драйвераў macOS рэалізаваў гіпервізор, які выконваецца на ўзроўні паміж macOS і чыпам M1 і ў празрыстым рэжыме перахапляльны і часопісны ўсе аперацыі з чыпам. З асаблівасцяў SoC M1, якія абцяжарваюць рэалізацыю падтрымкі чыпа ў іншых АС, згадваецца даданне супрацэсара ў дысплейны кантролер (DCP). На бок названага супрацэсара вынесена палова функцыянальнасці дысплейнага драйвера macOS, які выклікае гатовыя функцыі супрацэсара праз спецыяльны RPC-інтэрфейс.

Энтузіясты ўжо разабралі дастаткова выклікаў дадзенага RPC-інтэрфейсу, для таго каб задзейнічаць супрацэсар для вываду на экран, а таксама для кіравання апаратным курсорам і выкананнем аперацый кампазітынгу і маштабавання. Праблема складаецца ў тым, што RPC-інтэрфейс залежыць ад прашыўкі і мяняецца ў кожнай версіі macOS, таму ў Asahi Linux плануецца рэалізаваць падтрымку толькі пэўных версій прашывак. У першую чаргу будзе забяспечана падтрымка прашыўкі, якая пастаўляецца ў macOS 12 "Monterey". Загрузіць патрэбны варыянт прашыўкі не ўяўляецца магчымым, бо прашыўку усталёўвае iBoot на стадыі да перадачы кіравання аперацыйнай сістэме і з верыфікацыяй па лічбавым подпісы.

Прадэманстраваны запуск Linux-акружэнні з GNOME на прыладах з чыпам Apple M1
Прадэманстраваны запуск Linux-акружэнні з GNOME на прыладах з чыпам Apple M1


Крыніца: opennet.ru

Дадаць каментар