
The Linux kernel is about to take a significant leap forward in its support for Apple computers. The Asahi Linux project, which has been working for years to ensure optimal Linux performance on the M1, M2, and M3 chips, has released a series of 19 patches that aim to officially integrate USB4 and Thunderbolt connectivity. This proposal, authored by developer Sven Peter, is already on the main kernel mailing list, representing a firm step toward the compatibility many users have been waiting for.
This news is especially relevant for the Linux ecosystem in Europe, where a growing number of professionals are using these Macs as workstations . Until now, the lack of a dedicated driver limited the use of high-speed peripherals, external storage, and displays. With these patches, the situation is beginning to change, although there are still some hurdles to overcome, such as the lack of support for PCIe and DisplayPort tunneling , which will be resolved over time.
The ACIO block, the key to connectivity
The main technical challenge lies in the ACIO (Apple Converged I/O) block . This component, which integrates a Cortex-M3 coprocessor , acts as an intermediary between the system and the physical controllers. The patches implement direct communication with this block, allowing the kernel to manage USB4 link negotiation. However, the current implementation does not include PCIe or DisplayPort tunnels, which are essential for connecting external graphics cards (eGPUs) or high-resolution monitors. The community hopes that the next steps will address these limitations, but for now, it's a solid step forward.
The reverse engineering work has been monumental, as Apple is not collaborating on the project. Sven Peter has had to observe the hardware's behavior and reconstruct its operation piece by piece. The initialization sequence must address the specific characteristics of the ACIO's memory space before registering the hardware with Linux. The main controller powers up the ACIO, starts the coprocessor, and creates the secondary devices DART and NHI when their memory regions become accessible—a chain of steps that explains why support has taken so long to arrive.
What works and what's still to come
The current series allows the NHI controller to register with the Thunderbolt and USB4 software connection manager. For now, the code supports XDomain connections and USB3 tunneling over USB4, two capabilities that provide a functional foundation for linking compatible devices. System suspend remains disabled when an active connection exists due to the risk of a SError error during resumption, an issue the developers hope to address in future iterations.
The last three patches in the series add the device tree nodes corresponding to the M1 and M2 chips. Nodes for M3 will be added when the rest of the stack reaches the main kernel, although the current Thunderbolt and USB4 code has already been successfully tested on devices based on that chip. This means that, while not yet fully implemented, the foundation is in place for future standard Linux releases to offer this functionality without relying on external modifications.
The developer community continues to demonstrate that, with patience and collaborative work, it's possible to bring Linux closer to a level of full compatibility with Apple hardware. While some tasks remain, such as PCIe tunneling, DisplayPort, and secure sleep management, the progress is tangible and lays the groundwork for future kernel versions to offer a much more complete experience to Mac users with M1, M2, and M3 chips.


