Linuxové jádro bude mít brzy počáteční podporu pro čipovou sadu Apple M1

Linux Kernel verze 5.13 přidá počáteční podporu pro čip Apple M1, první SoC třídy desktopů pod designem Apple Silicon.

Apple loni odhalil svůj první design System-on-a-Chip třídy pro stolní počítače, Apple M1, založený na stejné architektuře ARM jako většina smartphonů a tabletů. Zatímco Linux na zařízeních ARM (jako Raspberry Pi) roky dobře fungoval, hardware společnosti Apple je silně přizpůsoben a vyžaduje specifickou softwarovou podporu. Naštěstí jsme nyní o krok blíže spuštění Linuxu na Apple Silicon.

Asahi Linux pracuje na tom, aby přinesl "vybroušený Linuxový zážitek" na Apple Silicon Mac a předkládá svůj kód projektu Linux k začlenění do oficiálního linuxového jádra. Počáteční práce skupiny byly začleněny do kódové základny Linux SoC a pravděpodobně dorazí jako součást nadcházející aktualizace Linuxu 5.13.

Je vzrušující vidět, že počáteční podpora pro nový hardware od Applu dorazila do linuxového jádra jen několik měsíců poté, co se začal dodávat první hardware, ale klíčové slovo je 'initial'. Zatímco Linux

technicky bootuje na M1, jsme ještě daleko od připojení Live USB disku a kliknutí na instalační tlačítko. Současný kód obsahuje podporu základní nízkoúrovňové funkčnosti, jako je např symetrické multiprocesování přes otočné stoly, Zpracování IRQ, sériová připojení a framebuffer. Linux umí bootovat z příkazového řádku, ale nic moc jiného – ještě není ani plná podpora grafiky.

Linux na Apple M1 Mac Mini (kredit: Asahi Linux)

Zatímco oficiální podpora jádra pro hardware M1 postupuje stabilním tempem, některým lidem se pomocí různých hacků podařilo přiblížit skutečnému desktopovému zážitku. Corellium, vývojová firma, která se specializuje na virtualizaci ARM, dokázala vytvořit a použitelná plocha Ubuntu na M1 Mac Mini. Většina práce Corellia však není upstreamována do linuxového jádra.

Corellium psalo o tom, jak se architektura M1 liší od jiných návrhů ARM v příspěvku na blogu. „Bootloader, tradičně nazývaný iBoot, načte spustitelný objektový soubor ve formátu zvaném Mach-O, volitelně komprimovaný a zabalený do podepsaného formátu obalu založeného na ASN.1 s názvem IMG4. Pro srovnání, normální Linux na 64bitovém ARM začíná jako plochý binární obraz." Skupina dále řekla: "Pokud by to nestačilo, Apple navrhl svůj vlastní řadič přerušení, Apple Interrupt Controller (AIC), který není kompatibilní s žádným z hlavních ARM GIC standardy. A nejen to: přerušení časovače – normálně připojená k běžnému přerušení na CPU na ARM – jsou místo toho směrováno na FIQ, nejasný architektonický prvek, který se častěji vyskytuje ve starém 32bitovém ARM dny."

od Applu čipset M1 se aktuálně dodává na MacBook Air, MacBook Pro a Mac Mini. Je to 5nm čip s celkem osmi jádry: čtyřmi vysoce výkonnými jádry a čtyřmi energeticky úspornými jádry. K dispozici je také Neural Engine pro úlohy strojového učení a také osmijádrový GPU. Apple slíbil, že M1 bude poskytovat lepší výkon než dříve používané procesory Intel, přičemž spotřebovává pouze přibližně jednu čtvrtinu energie a později testování v reálném světě podpořili tato tvrzení. Naštěstí M1 plně podporuje zavádění nepodepsaných/vlastních jader, takže běh Linuxu nevyžaduje žádné bezpečnostní exploity, které by bylo možné později opravit.

Vlastní macOS společnosti Apple je již skvělý operační systém, ale mít stolní Linux jako možnost by mohlo být silným prodejním argumentem pro některé potenciální kupce MacBooku a Macu Mini. Apple v průběhu let čelil kritice za zablokování některých aspektů macOS nebo opuštění multiplatformních standardů ve prospěch proprietárních alternativ. Například macOS stále nepodporuje multiplatformní rozhraní Vulkan API pro grafiku, pouze vlastní Metal API společnosti.