Soporte USB4 y Thunderbolt en Linux para Apple Silicon

  • Un conjunto de 19 parches busca integrar el soporte USB4 y Thunderbolt en el kernel de Linux para los chips M1, M2 y M3.
  • El trabajo, liderado por Sven Peter, se ha basado en ingeniería inversa del bloque ACIO sin ayuda de Apple.
  • Ya funcionan conexiones XDomain y túneles USB3, pero faltan PCIe, DisplayPort y la suspensión segura.
  • Los nodos para M1 y M2 ya están listos, mientras que los de M3 llegarán cuando la pila esté estable.

Soporte USB4 y Thunderbolt en Linux

El kernel de Linux está a punto de dar un salto cualitativo en su soporte para los ordenadores de Apple. El proyecto Asahi Linux, que lleva años trabajando para que Linux funcione de manera óptima en los chips M1, M2 y M3, ha presentado una serie de 19 parches que buscan integrar de forma oficial la conectividad USB4 y Thunderbolt. Esta propuesta, firmada por el desarrollador Sven Peter, ya está en la lista de correo del kernel principal, lo que supone un paso firme hacia una compatibilidad que muchos usuarios llevaban tiempo esperando.

La noticia es especialmente relevante para el ecosistema Linux en Europa, donde cada vez más profesionales utilizan estos Mac como estaciones de trabajo. Hasta ahora, la falta de un controlador dedicado limitaba el uso de periféricos de alta velocidad, almacenamiento externo o pantallas. Con estos parches, la situación empieza a cambiar, aunque el camino aún tiene algunas curvas, como la ausencia de soporte para túneles PCIe y DisplayPort, que se irán resolviendo con el tiempo.

Linux 6.18
Artículo relacionado:
Linux 6.18 se consolida como kernel clave con mejoras profundas en rendimiento, seguridad y soporte de hardware

El bloque ACIO, la clave de la conectividad

El principal desafío técnico reside en el bloque ACIO (Apple Converged I/O). Este componente, que integra un coprocesador Cortex-M3, actúa como intermediario entre el sistema y los controladores físicos. Los parches implementan la comunicación directa con este bloque, permitiendo que el kernel gestione la negociación de enlaces USB4. Sin embargo, la implementación actual no incluye los túneles PCIe ni DisplayPort, esenciales para conectar tarjetas gráficas externas (eGPU) o monitores de alta resolución. La comunidad espera que los siguientes pasos aborden estas limitaciones, pero por ahora es un avance sólido.

Soporte USB4 y Thunderbolt en Linux

El trabajo de ingeniería inversa ha sido monumental, ya que Apple no colabora con el proyecto. Sven Peter ha tenido que observar el comportamiento del hardware y reconstruir su funcionamiento pieza por pieza. La secuencia de inicialización debe responder a la particularidad del espacio de memoria de ACIO antes de registrar el hardware ante Linux. El controlador principal enciende ACIO, arranca el coprocesador y crea los dispositivos secundarios DART y NHI cuando sus regiones de memoria quedan accesibles, una cadena de pasos que explica por qué el soporte ha tardado tanto en llegar.

Qué funciona y qué falta por llegar

La serie actual permite que el controlador NHI se registre con el administrador de conexiones por software de Thunderbolt y USB4. Por ahora, el código admite conexiones XDomain y túneles USB3 mediante USB4, dos capacidades que ofrecen una base funcional para enlazar dispositivos compatibles. La suspensión del sistema sigue deshabilitada cuando existe una conexión activa, debido a los riesgos de que se produzca un error SError durante la reanudación, un problema que los desarrolladores esperan solucionar en futuras iteraciones.

Soporte USB4 y Thunderbolt en Linux

Los últimos tres parches de la serie agregan los nodos del árbol de dispositivos correspondientes a los chips M1 y M2. Los nodos para M3 llegarán cuando el resto de la pila alcance el kernel principal, aunque el código actual de Thunderbolt y USB4 ya fue probado con éxito en equipos basados en ese chip. Esto significa que, aunque no esté todo listo, la base ya está puesta para que las futuras versiones estándar de Linux ofrezcan la funcionalidad sin depender de modificaciones externas.

La comunidad de desarrolladores sigue demostrando que, con paciencia y trabajo colaborativo, es posible acercar Linux a un nivel de compatibilidad más completa con el hardware de Apple. Aunque quedan tareas pendientes como los túneles PCIe, DisplayPort o la gestión segura de la suspensión, el avance es tangible y sienta las bases para que las futuras versiones del kernel ofrezcan una experiencia mucho más completa a los usuarios de Mac con chips M1, M2 y M3.


Añadir como fuente preferida en Google