Podpora USB4 a Thunderbolt v Linuxu pro Apple Silicon

  • Sada 19 záplat se snaží integrovat podporu USB4 a Thunderbolt do linuxového jádra pro čipy M1, M2 a M3.
  • Práce vedená Svenem Peterem byla založena na reverzním inženýrství bloku ACIO bez pomoci společnosti Apple.
  • Připojení XDomain a tunely USB3 již fungují, ale chybí PCIe, DisplayPort a bezpečné pozastavení.
  • Uzly pro M1 a M2 jsou již připraveny, zatímco uzly pro M3 dorazí, až bude zásobník stabilní.

Podpora USB4 a Thunderbolt v Linuxu

Linuxové jádro se chystá výrazně posunout vpřed ve své podpoře počítačů Apple. Projekt Asahi Linux, který se již léta snaží zajistit optimální výkon Linuxu na čipech M1, M2 a M3, vydal sérii 19 záplat , jejichž cílem je oficiálně integrovat připojení USB4 a Thunderbolt. Tento návrh, jehož autorem je vývojář Sven Peter, je již na hlavním mailing listu jádra a představuje pevný krok ke kompatibilitě, na kterou mnoho uživatelů čekalo.

Tato zpráva je obzvláště relevantní pro linuxový ekosystém v Evropě, kde stále více profesionálů používá tyto Macy jako pracovní stanice . Doposud absence specializovaného ovladače omezovala používání vysokorychlostních periferií, externích úložišť a displejů. S těmito záplatami se situace začíná měnit, i když stále zbývá překonat určité překážky, jako je například chybějící podpora pro tunelování PCIe a DisplayPort , které budou časem vyřešeny.

Linux 6.18
Související článek:
Linux 6.18 upevňuje svou pozici klíčového jádra díky výrazným vylepšením výkonu, zabezpečení a hardwarové podpory.

Blok ACIO, klíč k propojení

Hlavní technická výzva spočívá v bloku ACIO (Apple Converged I/O) . Tato komponenta, která integruje koprocesor Cortex-M3 , funguje jako prostředník mezi systémem a fyzickými řadiči. Záplaty implementují přímou komunikaci s tímto blokem, což umožňuje jádru spravovat vyjednávání o propojení USB4. Současná implementace však nezahrnuje tunely PCIe nebo DisplayPort, které jsou nezbytné pro připojení externích grafických karet (eGPU) nebo monitorů s vysokým rozlišením. Komunita doufá, že další kroky tato omezení vyřeší, ale prozatím se jedná o solidní krok vpřed.

Podpora USB4 a Thunderbolt v Linuxu

Práce na reverzním inženýrství byla monumentální, protože Apple na projektu nespolupracuje. Sven Peter musel pozorovat chování hardwaru a rekonstruovat jeho fungování krok po kroku. Inicializační sekvence musí před registrací hardwaru v Linuxu zohlednit specifické vlastnosti paměťového prostoru ACIO. Hlavní řídicí jednotka zapne ACIO, spustí koprocesor a vytvoří sekundární zařízení DART a NHI, jakmile se jejich paměťové oblasti stanou přístupnými – tento řetězec kroků vysvětluje, proč podpora trvala tak dlouho.

Co funguje a co teprve přijde

Aktuální řada umožňuje řadiči NHI registrovat se ve správci připojení softwaru Thunderbolt a USB4. Kód prozatím podporuje připojení XDomain a tunelování USB3 přes USB4, což jsou dvě funkce, které poskytují funkční základ pro propojení kompatibilních zařízení. Pozastavení systému zůstává deaktivováno, pokud existuje aktivní připojení, kvůli riziku chyby SError během obnovení, což je problém, který vývojáři doufají, že v budoucích iteracích vyřeší.

Podpora USB4 a Thunderbolt v Linuxu

Poslední tři záplaty v sérii přidávají uzly stromu zařízení odpovídající čipům M1 a M2. Uzly pro M3 budou přidány, jakmile zbytek stacku dosáhne hlavního jádra, ačkoli současný kód pro Thunderbolt a USB4 již byl úspěšně testován na zařízeních založených na tomto čipu. To znamená, že i když ještě není plně implementován, je položen základ pro budoucí standardní verze Linuxu, které tuto funkcionalitu nabídnou bez závislosti na externích úpravách.

Vývojářská komunita i nadále dokazuje, že s trpělivostí a společnou prací je možné přiblížit Linux k úrovni plné kompatibility s hardwarem Apple. I když některé úkoly zbývají, jako je tunelování PCIe, DisplayPort a bezpečná správa spánku, pokrok je hmatatelný a pokládá základy pro budoucí verze jádra, které uživatelům Maců s čipy M1, M2 a M3 nabídnou mnohem komplexnější zážitek.


Přidat jako preferovaný zdroj v Googlu