Поддръжка на USB4 и Thunderbolt в Linux за Apple Silicon

  • Набор от 19 пача има за цел да интегрира поддръжката на USB4 и Thunderbolt в ядрото на Linux за чиповете M1, M2 и M3.
  • Работата, ръководена от Свен Петер, се основаваше на обратно инженерство на ACIO блока без помощта на Apple.
  • XDomain връзките и USB3 тунелите вече работят, но PCIe, DisplayPort и безопасното спиране липсват.
  • Възлите за M1 и M2 вече са готови, докато тези за M3 ще пристигнат, когато стекът е стабилен.

Поддръжка на USB4 и Thunderbolt в Linux

Ядрото на Linux е на път да направи значителен скок напред в поддръжката си за компютри Apple. Проектът Asahi Linux, който от години работи за осигуряване на оптимална производителност на Linux на чиповете M1, M2 и M3, пусна серия от 19 пача , целящи официално да интегрират USB4 и Thunderbolt свързаност. Това предложение, чийто автор е разработчикът Свен Петер, вече е в основния пощенски списък на ядрото, представлявайки твърда стъпка към съвместимостта, която много потребители чакат.

Тази новина е особено актуална за Linux екосистемата в Европа, където все по-голям брой професионалисти използват тези Mac-ове като работни станции . Досега липсата на специален драйвер ограничаваше използването на високоскоростни периферни устройства, външни устройства за съхранение и дисплеи. С тези корекции ситуацията започва да се променя, въпреки че все още има някои препятствия за преодоляване, като например липсата на поддръжка за тунелиране на PCIe и DisplayPort , което ще бъде решено с течение на времето.

Linux 6.18
Свързана статия:
Linux 6.18 затвърждава позицията си на ключово ядро ​​със значителни подобрения в производителността, сигурността и хардуерната поддръжка.

Блокът ACIO, ключът към свързаността

Основното техническо предизвикателство се крие в блока ACIO (Apple Converged I/O) . Този компонент, който интегрира копроцесор Cortex-M3 , действа като посредник между системата и физическите контролери. Пачовете реализират директна комуникация с този блок, позволявайки на ядрото да управлява договарянето на USB4 връзката. Настоящата имплементация обаче не включва PCIe или DisplayPort тунели, които са от съществено значение за свързване на външни графични карти (eGPU) или монитори с висока резолюция. Общността се надява, че следващите стъпки ще се справят с тези ограничения, но засега това е солидна крачка напред.

Поддръжка на USB4 и Thunderbolt в Linux

Работата по обратното инженерство е монументална, тъй като Apple не участва в проекта. Свен Петер е трябвало да наблюдава поведението на хардуера и да реконструира работата му стъпка по стъпка. Инициализационната последователност трябва да адресира специфичните характеристики на паметта на ACIO, преди да регистрира хардуера с Linux. Главният контролер включва ACIO, стартира копроцесора и създава вторичните устройства DART и NHI, когато техните области на паметта станат достъпни – верига от стъпки, която обяснява защо поддръжката е отнела толкова време, за да пристигне.

Какво работи и какво предстои

Настоящата серия позволява на NHI контролера да се регистрира с Thunderbolt и USB4 софтуерния мениджър за връзки. Засега кодът поддържа XDomain връзки и USB3 тунелиране през USB4, две възможности, които осигуряват функционална основа за свързване на съвместими устройства. Системното спиране остава деактивирано, когато съществува активна връзка, поради риска от грешка SError по време на възобновяване, проблем, който разработчиците се надяват да решат в бъдещи итерации.

Поддръжка на USB4 и Thunderbolt в Linux

Последните три пача от поредицата добавят възлите на дървото на устройствата , съответстващи на чиповете M1 и M2. Възлите за M3 ще бъдат добавени, когато останалата част от стека достигне основното ядро, въпреки че текущият код за Thunderbolt и USB4 вече е успешно тестван на устройства, базирани на този чип. Това означава, че макар и все още да не е напълно имплементирана, основата е налице за бъдещи стандартни издания на Linux, които да предлагат тази функционалност, без да се разчита на външни модификации.

Общността на разработчиците продължава да демонстрира, че с търпение и съвместна работа е възможно да се доближи Linux до ниво на пълна съвместимост с хардуера на Apple. Въпреки че някои задачи остават, като например PCIe тунелиране, DisplayPort и сигурно управление на спящия режим, напредъкът е осезаем и полага основите за бъдещи версии на ядрото, които да предлагат много по-пълноценно изживяване на потребителите на Mac с чипове M1, M2 и M3.


Добавяне като предпочитан източник в Google