Prise en charge USB 4 et Thunderbolt sous Linux pour les processeurs Apple Silicon

  • Un ensemble de 19 correctifs vise à intégrer la prise en charge USB4 et Thunderbolt dans le noyau Linux pour les puces M1, M2 et M3.
  • Ces travaux, menés par Sven Peter, reposaient sur la rétro-ingénierie du bloc ACIO sans l'aide d'Apple.
  • Les connexions XDomain et les tunnels USB3 fonctionnent déjà, mais PCIe, DisplayPort et la suspension sécurisée sont absents.
  • Les nÅ“uds pour M1 et M2 sont déjà prêts, tandis que ceux pour M3 arriveront lorsque la pile sera stable.

Prise en charge USB4 et Thunderbolt sous Linux

Le noyau Linux est sur le point de franchir une étape importante concernant sa prise en charge des ordinateurs Apple. Le projet Asahi Linux, qui œuvre depuis des années pour garantir des performances Linux optimales sur les puces M1, M2 et M3, a publié une série de 19 correctifs visant à intégrer officiellement la connectivité USB4 et Thunderbolt. Cette proposition, rédigée par le développeur Sven Peter, figure déjà sur la liste de diffusion principale du noyau, ce qui représente un pas décisif vers la compatibilité tant attendue par de nombreux utilisateurs.

Cette nouvelle est particulièrement pertinente pour l'écosystème Linux en Europe, où un nombre croissant de professionnels utilisent ces Mac comme stations de travail . Jusqu'à présent, l'absence de pilote dédié limitait l'utilisation de périphériques haut débit, de stockage externe et d'écrans. Grâce à ces correctifs, la situation commence à évoluer, même s'il reste encore des obstacles à surmonter, comme l'absence de prise en charge du tunneling PCIe et DisplayPort , qui sera résolue ultérieurement.

Linux 6.18
Article connexe:
Linux 6.18 consolide sa position de noyau clé grâce à des améliorations profondes en matière de performances, de sécurité et de prise en charge matérielle.

Le bloc ACIO, la clé de la connectivité

Le principal défi technique réside dans le bloc ACIO (Apple Converged I/O) . Ce composant, qui intègre un coprocesseur Cortex-M3 , sert d'intermédiaire entre le système et les contrôleurs physiques. Les correctifs permettent une communication directe avec ce bloc, autorisant ainsi le noyau à gérer la négociation des liaisons USB4. Cependant, l'implémentation actuelle ne prend pas en charge les tunnels PCIe ou DisplayPort, pourtant essentiels pour connecter des cartes graphiques externes (eGPU) ou des moniteurs haute résolution. La communauté espère que les prochaines étapes permettront de remédier à ces limitations, mais pour l'instant, il s'agit d'un progrès significatif.

Prise en charge USB4 et Thunderbolt sous Linux

Le travail de rétro-ingénierie a été colossal, Apple ne collaborant pas au projet. Sven Peter a dû observer le comportement du matériel et reconstituer son fonctionnement étape par étape. La séquence d'initialisation doit prendre en compte les caractéristiques spécifiques de l'espace mémoire de l'ACIO avant l'enregistrement du matériel auprès de Linux. Le contrôleur principal alimente l'ACIO, démarre le coprocesseur et crée les périphériques secondaires DART et NHI lorsque leurs zones mémoire deviennent accessibles â€” une série d'étapes qui explique la longue attente avant la prise en charge.

Ce qui fonctionne et ce qui reste à venir

La série actuelle permet au contrôleur NHI de s'enregistrer auprès du gestionnaire de connexion logiciel Thunderbolt et USB4. Pour l'instant, le code prend en charge les connexions XDomain et le tunneling USB3 sur USB4, deux fonctionnalités essentielles à la connexion des périphériques compatibles. La mise en veille du système reste désactivée lorsqu'une connexion est active afin d'éviter une erreur SError lors de la reprise, un problème que les développeurs espèrent résoudre dans les prochaines versions.

Prise en charge USB4 et Thunderbolt sous Linux

Les trois derniers correctifs de cette série ajoutent les nœuds de l'arbre de périphériques correspondant aux puces M1 et M2. Les nœuds pour M3 seront ajoutés lorsque le reste de la pile sera intégré au noyau principal, bien que le code actuel pour Thunderbolt et USB4 ait déjà été testé avec succès sur des appareils utilisant cette puce. Cela signifie que, même si la fonctionnalité n'est pas encore totalement implémentée, les bases sont posées pour que les futures versions standard de Linux puissent l'offrir sans nécessiter de modifications externes.

La communauté des développeurs continue de démontrer qu'avec patience et collaboration, il est possible de rapprocher Linux d'une compatibilité totale avec le matériel Apple. Bien que certaines tâches restent à accomplir, comme le tunnelage PCIe, DisplayPort et la gestion sécurisée du sommeil, les progrès sont tangibles et jettent les bases des futures versions du noyau pour offrir une expérience bien plus complète aux utilisateurs de Mac équipés de puces M1, M2 et M3.


Ajouter comme source préférée dans Google