Apple M1 NVMe Support Slated For Linux 5.19
While NVMe is an industry standard, unfortunately, a special driver and wrangling is required to get NVMe storage working under the Linux kernel with Apple Silicon. Asahi Linux has already been carrying this NVMe code and the driver has been out for review on the kernel mailing list and is now positioned to land in mainline Linux 5.19.
The NVMe controller with the Apple M1 Macs is not attached to the PCI Express bus and various fundamental changes/quirks were needed to get Linux playing nicely with the Apple hardware. The NVMe controller also depends upon a proprietary RTOS (RTKit) co-processor that the Linux kernel needs to interface with as part of the support.
NVMe support for the Apple M1 isn't contributed by Apple but rather the reverse-engineering, open-source community.
The Apple NVMe platform driver and all the necessary other involved changes amount to around 3.5k lines of new code. That code is now part of the SoC drivers area ahead of the Linux 5.19 merge window opening later this month. Linux 5.19 in turn will be out as stable in July.
Overall the Linux support on Apple M1 Macs continues maturing especially for the likes of the Mac Mini not needing to deal with audio/microphone and other laptop connectivity. One of the big blockers that is still working to be addressed though is for proper accelerated graphics support. In any event, the Apple M1 CPU Linux performance is running quite well if not needing accelerated graphics.