
Asahi Linux progress report: M3 release nears, NVMe working on M4 and M5
Asahi Linux's Linux 7.2 report covers a UEFI-based PSCI conduit, full webcam, microphone, USB and Thunderbolt support on M3, and the path toward direct scanout.
Asahi Linux has published a progress report tied to the release of Linux 7.2. In it, author James Calligeros walks through the state of Apple Silicon support across power management, the M3 series, M4 and M5 bringup, and video acceleration.
The power management barrier
Apple's CPU cores do not implement EL3, which means the standard Arm power interface, PSCI, cannot be reached through the usual SMC or HVC conduits. Sven has been building a UEFI Runtime Services based PSCI conduit instead: m1n1 reserves its memory region and leaves a PSCI implementation behind, so the kernel can call into it even while running at the same Exception Level. The kernel patches enabling this are already on the mailing list as an RFC.
Work here became urgent on M4, where a WFI instruction makes a core lose state and crash whatever was running on it; Apple has locked the registers that control this behaviour since the M4 generation. Yureka added a kernel command line parameter that makes idle loop behaviour configurable, protecting M4 machines during early initialisation, and those patches are in linux-next.
M3: webcams, microphones, USB and Thunderbolt
Webcam support now covers every M3 device with a built-in camera, after chaos_princess handled a single skipped initialisation message specific to the M3 Max. Microphones also work across equipped M3 machines, following work on a new "High Frequency" decimator that needed fresh coefficients and a larger initialisation message. ATCPHY required a new sequence of tunables because of the move to TSMC's N3 node.
Apple also swapped the USB port controller on M3 Pro and Max from the I2C-based CD3217 (ACE2) to ACE3 on the SPMI bus. mildsunrise and chaos_princess established that ACE3 exposes much the same register set, and with both the SPMI interface and ACE3 working, USB 3.0 and Thunderbolt now function on all M3 devices. M3 machines target the firmware ABI from macOS 14.8.3, and DCP support is close to parity with the macOS 13.5 ABI used for M1 and M2 — the team says an official release is almost ready.
M4, M5 and video decode
Yureka and Sven implemented the NVMe controller firmware changes introduced in the macOS 15.x bundle, so NVMe works on M4 and M5, PCIe devices can be enumerated, and a crash triggered by enabling more than one CPU core has been fixed. The machines are still not ready to be enabled in the Asahi Installer.
The Apple Video Decoder now handles AVC, HEVC and VP9 mostly reliably on all supported machines, with AV1 on M3 and above. Because AVD is stateless it maps to the V4L2 Stateless API, which desktop software largely skipped in favour of VA-API; sofus forked megi's VA-API translation layer and got it working for AVD. It does not ship by default in Fedora Asahi Remix yet and is incompatible with Firefox's video decoding sandbox.
Toward direct scanout
Eliminating framebuffer copies between AGX, DCP and AVD is the next gain, and Interchange format support has now been wired up in the DCP kernel driver plus the Asahi and Honeykrisp Mesa drivers. Kwin still treats AGX and DCP as a multi-GPU setup and disables DMA-BUF direct scanout, but KDE developers are working on it and support could land as soon as Plasma 6.8.
SiTech — AI-powered web development
We build fast, modern websites and bring AI into real business workflows. Have a project or a question? We'd love to help.