Sven is working on supporting different versions of the USB protocol. In his 37-minute lecture, he described his approach and the challenges he faced. The Mac firmware is intentionally designed to allow the use of alternative operating systems. However, there is no documentation of the hardware used and the form in which it communicates. That’s why the Asahi team relies on a self-developed reverse engineering set-up to read internal system communication. For this purpose, the macOS kernel (XNU) is virtualized.
USB 3 and DisplayPort
Using these tools, extensive research into Intel specifications, and hardware debugging of a Texas Instruments chip, it was possible to develop a USB-3 capable driver for Linux; this was just finished at the end of the year. DisplayPort will also soon be supported; However, this driver is still experimental (which didn’t stop the presenter from actively using DisplayPort in the talk).
New hurdles from M4
There is also good news when it comes to supporting newer Apple silicon: The Asahi developers have made great progress in supporting the M3 chip. However, from M4 onwards there are new challenges: New security functions prevent the virtualization of XNU on these chips and thus the use of the reverse engineering toolkit. This does not prevent further development, but it does make it more difficult. That’s why Sven finally asked for voluntary support from developers who wanted to take part in the project.

