El soporte de USB4 y Thunderbolt en Linux para los Mac con chips Apple M1, M2 y M3 ha dado un paso importante hacia el kernel 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. El trabajo lleva al upstream código que hasta ahora dependía en buena medida del desarrollo específico realizado alrededor de Asahi Linux, aunque todavía faltan funciones como los túneles PCIe y DisplayPort.
Las claves del soporte Thunderbolt de Apple Silicon en 30 segundos
- Sven Peter ha enviado 19 parches para incorporar soporte inicial USB4/Thunderbolt de Apple M1, M2 y M3 al kernel Linux.
- El código incluye soporte para el complejo ACIO, la interfaz NHI y particularidades de los controladores de Apple.
- Por ahora funcionan conexiones XDomain y túneles USB3 sobre USB4.
- Los túneles PCIe y DisplayPort todavía no están implementados.
- Los parches están en revisión: haberlos enviado al kernel no significa que ya formen parte de una versión estable.
El matiz de la última frase es importante. La publicación original que está circulando en redes sociales afirma que el código “está entrando en mainline Linux”, pero por ahora la serie se encuentra 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, el cambio tendrá más importancia que disponer simplemente de otro periférico funcionando. Integrar el soporte en el kernel oficial reduce la dependencia de parches mantenidos específicamente fuera del árbol principal y permite que las distribuciones Linux puedan beneficiarse posteriormente del trabajo a través de sus versiones habituales del kernel.
Apple Silicon obliga a Linux a entender una arquitectura poco convencional
USB4 en un Mac con Apple Silicon no consiste simplemente en utilizar el controlador Thunderbolt existente en Linux.
La descripción técnica de los parches muestra parte del trabajo necesario.
Cada puerto USB-C compatible con USB4 incorpora un bloque denominado ACIO (Apple Converged I/O). Dentro se encuentran un coprocesador Cortex-M3 y el hardware encargado del router USB4.
También forman parte de ese bloque la NHI (Native Host Interface) y la unidad de gestión de memoria DART utilizada por Apple.
La dificultad está en que esos componentes no aparecen simplemente como dispositivos independientes permanentemente accesibles para Linux. El bus principal del SoC dispone de una ventana de 16 MiB hacia el espacio MMIO de ACIO mientras funciona su coprocesador.
El controlador tiene que encender el bloque, arrancar el coprocesador mediante RTKit y posteriormente hacer accesibles los dispositivos secundarios necesarios.
La serie añade precisamente un controlador de plataforma para el complejo ACIO y la NHI.
Peter explica además que la implementación de Apple presenta diferencias respecto al comportamiento genérico esperado por el subsistema Thunderbolt de Linux. La NHI utiliza, por ejemplo, una interrupción independiente por cada ring y necesita adaptar la disposición de registros, la configuración de esos rings y la gestión de interrupciones.
También ha sido necesario trabajar con el sistema de gestión energética de los SoC.
Antes de esta serie principal, Peter había enviado 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 dispone de una página de registros dedicada, mientras que otras familias como t600x y t602x utilizan registros compartidos dentro de la región MMIO del gestor de energía PMGR.
Son detalles que normalmente quedan ocultos bajo macOS porque Apple controla tanto el hardware como el sistema operativo. Para que Linux pueda utilizarlos necesita conocer cómo funcionan esas piezas y representarlas dentro de los subsistemas existentes del kernel.
Ese proceso forma parte del trabajo que Asahi Linux lleva años realizando alrededor de Apple Silicon.
USB4 funciona parcialmente, pero PCIe y DisplayPort tendrán que esperar
Los 19 parches tampoco significan que un Mac M1, M2 o M3 vaya a disponer inmediatamente de todas las capacidades Thunderbolt bajo Linux.
El propio controlador establece actualmente una frontera clara.
La primera versión soporta conexiones XDomain y túneles USB3 a través de USB4.
Todavía falta implementar otras piezas importantes.
Una de ellas es DisplayPort tunneling, necesario para determinados escenarios de vídeo a través de Thunderbolt. Peter había explicado previamente que aún no había implementado este soporte mientras trabajaba en la NHI de Apple Silicon.
También queda pendiente el túnel PCIe, una función especialmente relevante para dispositivos Thunderbolt que exponen hardware PCI Express.
Por tanto, hablar ya de soporte Thunderbolt completo sería prematuro.
La serie también ha descubierto comportamientos específicos de Apple que requieren adaptar el código genérico. Uno de los parches introduce, por ejemplo, QUIRK_NO_USB3_BW_ALLOC, porque los routers host de Apple Silicon no implementan los registros de asignación de ancho de banda USB3 de la forma que espera el código estándar. Sin esa excepción, la creación de los túneles USB3 termina fallando por timeout.
Hay además problemas pendientes relacionados con la suspensión cuando existen determinadas conexiones activas.
Todo esto explica por qué el trabajo se presenta expresamente como soporte inicial.
La buena noticia para Linux no está en que todas las casillas estén ya marcadas, sino en que la arquitectura necesaria para continuar completándolas está siendo discutida directamente con los responsables de los subsistemas correspondientes del kernel.
Del trabajo de Asahi Linux al kernel oficial
El aspecto de mayor alcance está precisamente en el proceso upstream.
Asahi Linux ha permitido durante años ejecutar Linux sobre Apple Silicon mediante una combinación de ingeniería inversa, desarrollo de controladores y colaboración con distintos proyectos de software libre.
El trabajo no se limita a USB.
El proyecto ha tenido que enfrentarse a componentes gráficos, gestión energética, audio, almacenamiento y numerosos controladores específicos de los SoC de Apple.
USB4 y Thunderbolt constituyen otra pieza especialmente compleja de ese esfuerzo.
La diferencia entre disponer del código en un árbol específico y conseguir que llegue al kernel principal es considerable.
Un parche mantenido externamente tiene que adaptarse cada vez que cambia el código sobre el que está construido. Además, las distribuciones Linux no lo reciben necesariamente por utilizar una versión reciente del kernel.
El upstream cambia ese escenario.
Cuando un controlador es aceptado en Linux, pasa a convivir con el resto del código del kernel y sus cambios tienen que mantenerse compatibles con él. Otros desarrolladores pueden revisar la implementación, detectar problemas y adaptar los subsistemas comunes cuando resulte necesario.
La serie de Peter ya muestra ese proceso.
Mika Westerberg, uno de los mantenedores del subsistema Thunderbolt de Linux, ha revisado el controlador y planteado cambios para acercar algunas operaciones al código genérico. Peter respondió el 01/09/2026 que incorporaría varios de esos comentarios en una futura versión v2.
Por eso todavía no puede afirmarse que los 19 parches vayan a incorporarse exactamente como están.
Pueden cambiar durante la revisión, dividirse, recibir nuevas versiones o necesitar trabajo adicional antes de ser aceptados.
Pero su publicación supone que una parte importante del soporte USB4/Thunderbolt desarrollado para los Mac con Apple Silicon ha alcanzado una fase diferente: ya está siendo discutida como código destinado al Linux oficial.
Y eso puede resultar más importante a largo plazo que conseguir que un determinado accesorio Thunderbolt funcione unas semanas antes.
Preguntas frecuentes
¿Linux ya soporta Thunderbolt en los Mac M1, M2 y M3?
Existe una serie inicial de 19 parches para llevar ese soporte al kernel principal, pero actualmente está en revisión. No debe confundirse el envío de los parches con su inclusión definitiva en una versión estable.
¿Qué funciona actualmente con estos parches?
La implementación inicial contempla conexiones XDomain y túneles USB3 sobre USB4. El propio código enviado por Sven Peter especifica estas capacidades.
¿Funcionan las eGPU Thunderbolt en Apple Silicon con estos parches?
Los túneles PCIe todavía no forman parte del soporte inicial presentado, por lo que los parches no equivalen a disponer de soporte general para dispositivos Thunderbolt basados en PCIe.
¿Funciona DisplayPort a través de Thunderbolt?
El soporte de túneles DisplayPort tampoco está implementado todavía. Sven Peter lo ha señalado expresamente durante el desarrollo del controlador Apple Silicon NHI.