
Ядрото на Linux е на път да направи значителен скок напред в поддръжката си за компютри Apple. Проектът Asahi Linux, който от години работи за осигуряване на оптимална производителност на Linux на чиповете M1, M2 и M3, пусна серия от 19 пача , целящи официално да интегрират USB4 и Thunderbolt свързаност. Това предложение, чийто автор е разработчикът Свен Петер, вече е в основния пощенски списък на ядрото, представлявайки твърда стъпка към съвместимостта, която много потребители чакат.
Тази новина е особено актуална за Linux екосистемата в Европа, където все по-голям брой професионалисти използват тези Mac-ове като работни станции . Досега липсата на специален драйвер ограничаваше използването на високоскоростни периферни устройства, външни устройства за съхранение и дисплеи. С тези корекции ситуацията започва да се променя, въпреки че все още има някои препятствия за преодоляване, като например липсата на поддръжка за тунелиране на PCIe и DisplayPort , което ще бъде решено с течение на времето.
Блокът ACIO, ключът към свързаността
Основното техническо предизвикателство се крие в блока ACIO (Apple Converged I/O) . Този компонент, който интегрира копроцесор Cortex-M3 , действа като посредник между системата и физическите контролери. Пачовете реализират директна комуникация с този блок, позволявайки на ядрото да управлява договарянето на USB4 връзката. Настоящата имплементация обаче не включва PCIe или DisplayPort тунели, които са от съществено значение за свързване на външни графични карти (eGPU) или монитори с висока резолюция. Общността се надява, че следващите стъпки ще се справят с тези ограничения, но засега това е солидна крачка напред.
Работата по обратното инженерство е монументална, тъй като Apple не участва в проекта. Свен Петер е трябвало да наблюдава поведението на хардуера и да реконструира работата му стъпка по стъпка. Инициализационната последователност трябва да адресира специфичните характеристики на паметта на ACIO, преди да регистрира хардуера с Linux. Главният контролер включва ACIO, стартира копроцесора и създава вторичните устройства DART и NHI, когато техните области на паметта станат достъпни – верига от стъпки, която обяснява защо поддръжката е отнела толкова време, за да пристигне.
Какво работи и какво предстои
Настоящата серия позволява на NHI контролера да се регистрира с Thunderbolt и USB4 софтуерния мениджър за връзки. Засега кодът поддържа XDomain връзки и USB3 тунелиране през USB4, две възможности, които осигуряват функционална основа за свързване на съвместими устройства. Системното спиране остава деактивирано, когато съществува активна връзка, поради риска от грешка SError по време на възобновяване, проблем, който разработчиците се надяват да решат в бъдещи итерации.
Последните три пача от поредицата добавят възлите на дървото на устройствата , съответстващи на чиповете M1 и M2. Възлите за M3 ще бъдат добавени, когато останалата част от стека достигне основното ядро, въпреки че текущият код за Thunderbolt и USB4 вече е успешно тестван на устройства, базирани на този чип. Това означава, че макар и все още да не е напълно имплементирана, основата е налице за бъдещи стандартни издания на Linux, които да предлагат тази функционалност, без да се разчита на външни модификации.
Общността на разработчиците продължава да демонстрира, че с търпение и съвместна работа е възможно да се доближи Linux до ниво на пълна съвместимост с хардуера на Apple. Въпреки че някои задачи остават, като например PCIe тунелиране, DisplayPort и сигурно управление на спящия режим, напредъкът е осезаем и полага основите за бъдещи версии на ядрото, които да предлагат много по-пълноценно изживяване на потребителите на Mac с чипове M1, M2 и M3.


