Although the interface specification of nonvolatile memory host controller (nvme) has become the industry standard for many years, it still needs considerable efforts to make apple silicon devices running Linux kernel support it The good news is that Asahi Linux, which is responsible for the driver, has been disclosed in the email announcement list and is committed to its introduction in the upcoming Linux 5.19 merger window
If all goes well, Linux 5.19 is expected to be officially released in July.
Phoronix pointed out that the nvme support of Apple M1 is not provided by Apple Officially provided, but a project of the open source community of reverse engineering.
The problem is that the nvme controller of M1 MAC is not directly attached to the PCI Express bus, which means that Linux kernel driver developers need to make magic changes to various basic components in order to make Apple hardware run smoothly.
In addition, the nvme controller of M1 MAC also relies on a proprietary RTOS (rtkit) coprocessor. As part of the support, the Linux kernel needs to interact with it.
Screenshot (from Asahi Linux official website)
The nvme driver for M1 Mac platform and all other necessary changes require a total of about 3500 lines of new code. This part of SOC drivers will be incorporated into the main line before the Linux 5.19 merger window opens later this month.
To sum up, Linux support on Apple M1 Mac will gradually mature. The follow-up development team will be committed to solving the connection options such as audio / microphone, but the biggest obstacle in front of them is the lack of appropriate support for graphics acceleration.