Soporte de USB4 y Thunderbolt en Linux para los Mac con chips Apple M1, M2 y M3 ha avanzado significativamente hacia la incorporación en el núcleo oficial. El desarrollador Sven Peter, vinculado al proyecto Asahi Linux, envió el 30/08/2026 una serie inicial de 19 parches para revisión en las listas del kernel. Este trabajo lleva al upstream código que hasta ahora dependía en gran medida de los desarrollos específicos realizados en torno a Asahi Linux, aunque aún faltan funciones como los túneles PCIe y DisplayPort.
Resumen en 30 segundos: las claves del soporte Thunderbolt en Apple Silicon
- Sven Peter ha enviado 19 parches para integrar soporte inicial de USB4/Thunderbolt en los kernels Linux para Apple M1, M2 y M3.
- El código incluye soporte para el complejo ACIO, la interfaz NHI y particularidades de los controladores de Apple.
- Por ahora, se soportan conexiones XDomain y túneles USB3 mediante USB4.
- Los túneles PCIe y DisplayPort aún no están implementados.
- Los parches están en revisión: enviarlos al kernel no implica que formen parte de una versión estable definitiva.
Es importante entender que la afirmación de que el código “está ingresando en mainline Linux” es prematura. Actualmente, la serie está en proceso de revisión. De hecho, ya ha recibido comentarios técnicos, y Peter ha indicado que preparará una segunda versión para responder a ellos.
Si finalmente es aceptado, esto tendrá mayor peso que disponer simplemente de otro periférico funcionando. Integrar el soporte en el kernel oficial reduce la dependencia de parches externos al árbol principal y permite que las distribuciones Linux puedan beneficiarse del trabajo realizado en sus versiones habituales del kernel en el futuro.
Apple Silicon exige a Linux comprender una arquitectura poco convencional
USB4 en un Mac con Apple Silicon no consiste solo en utilizar el controlador Thunderbolt ya existente en Linux.
La descripción técnica de los parches revela parte del trabajo necesario para su compatibilidad.
Cada puerto USB-C compatible con USB4 incluye un bloque denominado ACIO (Apple Converged I/O). Dentro de él, hay un coprocesador Cortex-M3 y el hardware responsable del enrutador USB4.
Además, integran la NHI (Native Host Interface) y la unidad de gestión de memoria DART utilizada por Apple.
El reto principal radica en que estos componentes no aparecen simplemente como dispositivos independientes accesibles para Linux. El bus principal del SoC tiene una ventana de 16 MiB hacia el espacio MMIO del ACIO mientras su coprocesador está activo.
El controlador debe activar el bloque, arrancar el coprocesador mediante RTKit y, posteriormente, hacer accesibles los dispositivos secundarios necesarios.
La serie añade un controlador de plataforma para los componentes ACIO y NHI.
Peter también explica que la implementación de Apple presenta diferencias respecto al comportamiento genérico que espera el subsistema Thunderbolt de Linux. Por ejemplo, la NHI utiliza una interrupción independiente para cada ring y requiere adaptar la disposición de los registros, la configuración de estos rings y la gestión de interrupciones.
Asimismo, ha sido necesario trabajar con el sistema de gestión energética de los SoC.
Antes de esta serie, Peter envió parches específicos para el controlador de reset de los bloques CIO utilizados por USB4 y Thunderbolt. En los chips t8103 y t8112, cada puerto tiene una página de registros dedicada, mientras que en otras familias como t600x y t602x, estos registros son compartidos dentro de la región MMIO del gestor de energía PMGR.
Estos detalles, habitualmente ocultos en macOS debido al control completo de Apple sobre hardware y sistema, deben ser conocidos por Linux para que pueda utilizarlos correctamente y representarlos dentro de los subsistemas del kernel.
Este trabajo es parte del esfuerzo que Asahi Linux ha llevado a cabo durante años en torno a Apple Silicon.
USB4 tiene soporte parcial, mientras que PCIe y DisplayPort aún deben esperar
La presencia de estos 19 parches no garantiza que un Mac M1, M2 o M3 tenga soporte completo de Thunderbolt en Linux desde el inicio.
Actualmente, el driver establece límites claros.
La primera versión soporta conexiones XDomain y túneles USB3 vía USB4.
Otras funcionalidades todavía están en desarrollo.
Una de ellas es el túnel DisplayPort, esencial para ciertos escenarios de vídeo a través de Thunderbolt. Peter ha mencionado que aún no ha implementado este soporte mientras trabaja en la NHI de Apple Silicon.
También falta por completar el túnel PCIe, muy relevante para dispositivos Thunderbolt que exponen hardware PCI Express.
En conclusión, sería prematuro afirmar que se cuenta con soporte Thunderbolt total en esta etapa.
La serie también ha expuesto comportamientos específicos de Apple que requieren adaptar el código genérico. Por ejemplo, uno de los parches introduce QUIRK_NO_USB3_BW_ALLOC, porque los routers host de Apple Silicon no implementan los registros de asignación de ancho de banda USB3 como el código estándar espera. Sin esta excepción, la creación de túneles USB3 fallaría por timeout.
También existen problemas pendientes relacionados con la suspensión en presencia de conexiones activas.
Todo esto refuerza que el trabajo se presenta como soporte inicial.
La buena noticia no es que todas las funciones estén implementadas, sino que la arquitectura necesaria para seguir avanzando se está discutiendo activamente con los responsables de los subsistemas del kernel.
Del trabajo de Asahi Linux al kernel oficial
El aspecto de mayor alcance está en el proceso de upstream.
Durante años, Asahi Linux ha permitido ejecutar Linux en Apple Silicon mediante ingeniería inversa, desarrollo de controladores y colaboración con otros proyectos de software libre.
El trabajo no se limita a USB.
El proyecto también ha tenido que abordar componentes gráficos, gestión energética, audio, almacenamiento y numerosos controladores específicos de los SoC de Apple.
USB4 y Thunderbolt representan otra parte especialmente compleja de ese esfuerzo.
La diferencia entre mantener el código en un árbol externo y lograr que llegue al kernel principal es enorme.
Un parche mantenido fuera del árbol principal requiere adaptaciones con cada cambio en el código base. Además, las distribuciones Linux no siempre integran estos parches si no utilizan la versión más reciente del kernel.
El proceso upstream cambia este escenario.
Cuando un controlador se acepta en Linux, pasa a convivir con el resto del código del kernel, y sus cambios deben ser compatibles con este. Otros desarrolladores pueden revisar, detectar problemas y adaptar subsistemas compartidos cuando sea necesario.
La serie de Peter refleja ya ese proceso.
Mika Westerberg, mantenedor del subsistema Thunderbolt, ha revisado el controlador y propuesto cambios para acercar algunas operaciones al código genérico. Peter respondió el 01/09/2026 que incorporaría estos comentarios en una futura versión v2.
Por lo tanto, todavía no se puede afirmar con certeza que los 19 parches serán aceptados tal cual.
Pueden cambiar en revisión, divididos, recibir nuevas versiones o requerir trabajo adicional antes de su aceptación.
Pero, en conjunto, su publicación indica que gran parte del soporte USB4/Thunderbolt para Mac con Apple Silicon ha alcanzado una fase donde ya se discute como código para el Linux oficial.
Y esto puede ser más relevante a largo plazo que disponer de compatibilidad con un accesorio Thunderbolt en unas semanas.
Preguntas frecuentes
¿Linux ya soporta Thunderbolt en los Mac M1, M2 y M3?
Se ha enviado una serie inicial de 19 parches para incorporar ese soporte al kernel principal, pero actualmente está en revisión. Enviar los parches no equivale a su inclusión definitiva en una versión estable.
¿Qué funciones están disponibles actualmente con estos parches?
La implementación inicial soporta conexiones XDomain y túneles USB3 sobre USB4. Estos detalles están especificados en el propio código enviado por Sven Peter.
¿Funcionan las eGPU Thunderbolt en Apple Silicon con estos parches?
Los túneles PCIe no forman parte del soporte inicial, por lo que aún no se puede hablar de soporte general para dispositivos Thunderbolt que usan PCIe.
¿Se soporta DisplayPort a través de Thunderbolt?
El soporte para túneles DisplayPort todavía no está implementado. Sven Peter ha señalado que aún trabaja en la función NHI de Apple Silicon.
