Feature Support
Pages 68
Project related:
Platform documentation:
For users:
For developers:
Clone this wiki locally
This page details currently supported features on all extant Apple Silicon Macs, as well as their upstream status. The tables can be interpreted as follows:
- Kernel release, e.g. 6.0: the feature was incorporated upstream as of this release
-
linux-asahi (kernel release): the feature is stable, available for use in
linux-asahi
, and should be upstream by the release indicated -
linux-asahi: the feature is (mostly) stable and available for use in
linux-asahi
-
asahi-edge: the feature is available for wider testing in the
linux-asahi-edge
package in the linux-asahi Linux distribution - WIP: Development work on the feature is actively progressing, however is not yet ready for wider testing, use or distribution
- TBA: Active work on this feature is not being undertaken at this time
Table of Contents
- Common SoC Features
- M1 Series (M1, M1 Pro, M1 Max, M1 Ultra)
- M2 Series (M2, M2 Pro, M2 Max)
Common SoC Features
These are features/hardware blocks that are present on all devices with the given SoC.
M1 (T8103) |
M1 Pro/Max/Ultra (T600x) |
M2 (T8112) |
M2 Pro/Max (T602x) |
|
---|---|---|---|---|
DCP | asahi-edge | asahi-edge | asahi-edge | WIP |
USB2 (TB ports) | linux-asahi | linux-asahi | linux-asahi | WIP |
USB3 (TB ports) | linux-asahi | linux-asahi | linux-asahi | WIP |
Thunderbolt | WIP | WIP | TBA | TBA |
DP Alt Mode | WIP | WIP | WIP | WIP |
GPU | asahi-edge | asahi-edge | asahi-edge | WIP |
Video Decoder | TBA | TBA | TBA | TBA |
NVMe | 5.19 | 5.19 | 5.19 | 5.19 |
PCIe | 5.16 | 5.16 | linux-asahi | linux-asahi |
cpufreq | 6.2 | 6.2 | linux-asahi | linux-asahi |
cpuidle | WIP (notes) | WIP (notes) | WIP (notes) | WIP (notes) |
Suspend/sleep | asahi-edge | asahi-edge | asahi-edge | WIP |
Video Encoder | TBA | TBA | TBA | TBA |
ProRes Codec | - | TBA | TBA | TBA |
AICv2 | - | 5.18 | 5.18 | 5.18 |
DART | 5.15 | 6.1 | linux-asahi | WIP |
PMU | 5.18 | 5.18 | TBA | TBA |
UART | 5.13 | 5.13 | 5.13 | 5.13 |
Watchdog | 5.17 | 5.17 | 5.17 | 5.17 |
I2C | 5.16 | 5.16 | 5.16 | 5.16 |
GPIO | 5.16 | 5.16 | 5.16 | 5.16 |
USB-PD | 5.16 | 5.16 | 5.16 | 5.16 |
MCA | 6.1 | 6.1 | linux-asahi | linux-asahi |
SPI | linux-asahi | linux-asahi | linux-asahi | linux-asahi |
SPI NOR | linux-asahi | linux-asahi | linux-asahi | linux-asahi |
SMC | linux-asahi | linux-asahi | linux-asahi | linux-asahi |
SPMI | linux-asahi | linux-asahi | linux-asahi | linux-asahi |
RTC | linux-asahi | linux-asahi | linux-asahi | linux-asahi |
SEP | WIP | WIP | WIP | WIP |
Neural Engine | WIP | WIP | WIP | WIP |
M1 series (M1, M1 Pro, M1 Max, M1 Ultra)
M1 device-specific support
Mac Mini (2020) |
MacBook Pro (13-inch, 2020) |
MacBook Air (2020) |
iMac (2021) |
|
---|---|---|---|---|
Installer | yes | yes | yes | yes |
Devicetree | 5.13 | 5.17 | 5.17 | 5.17 |
Main display | 5.17 | 5.17 | 5.17 | 5.17 |
Brightness | - | asahi-edge | asahi-edge | asahi-edge |
HDMI Out | 5.13 | - | - | - |
Keyboard | - | linux-asahi | linux-asahi | - |
KB backlight | - | asahi-edge (6.4) | asahi-edge (6.4) | - |
Touchpad | - | linux-asahi | linux-asahi | - |
Battery info | - | linux-asahi | linux-asahi | - |
USB-A ports | 5.16 | - | - | - |
WiFi | 6.1 | 6.1 | 6.1 | 6.1 |
Bluetooth | 6.2 | 6.2 | 6.2 | 6.2 |
3.5mm jack | linux-asahi | linux-asahi | linux-asahi | linux-asahi |
Speakers | linux-asahi | WIP | WIP | WIP |
SD card slot | - | - | - | - |
1Gbps Ethernet | 5.16 | - | - | - |
10Gbps Ethernet | 5.17 | - | - | - |
Microphones | - | WIP | WIP | WIP |
Webcam | - | TBA | TBA | TBA |
Touch Bar | - | WIP | - | - |
TouchID | TBA | TBA | TBA | TBA |
M1 Pro/Max/Ultra device-specific support
MacBook Pro (14/16-inch, 2021) |
Mac Studio (2022) |
|
---|---|---|
Installer | yes | yes |
Devicetree | 6.2 | 6.2 |
Main display | 5.17 | 5.17 |
Brightness | asahi-edge | - |
HDMI Out | WIP | 6.2 |
Keyboard | linux-asahi | - |
KB backlight | asahi-edge (6.4) | - |
Touchpad | linux-asahi | - |
Battery info | linux-asahi | - |
USB-A ports | - | linux-asahi |
WiFi | 6.1 | 6.1 |
Bluetooth | 6.2 | 6.2 |
3.5mm jack | linux-asahi | linux-asahi |
Speakers | WIP | WIP |
SD card slot | 5.17 | 5.17 |
1Gbps Ethernet | - | - |
10Gbps Ethernet | - | linux-asahi |
Microphones | WIP | - |
Webcam | TBA | - |
Touch Bar | - | - |
TouchID | TBA | TBA |
M2 Series (M2, M2 Pro, M2 Max)
M2 device-specific support
MacBook Air (2022) |
MacBook Pro (13-inch, 2022) |
Mac Mini (2023) |
|
---|---|---|---|
Installer | yes | yes | WIP |
Devicetree | linux-asahi (6.4) | linux-asahi (6.4) | linux-asahi (6.4) |
Main display | linux-asahi | linux-asahi | WIP |
Keyboard | linux-asahi | linux-asahi | - |
KB backlight | asahi-edge (6.4) | asahi-edge (6.4) | - |
Touchpad | linux-asahi | linux-asahi | - |
Brightness | asahi-edge | asahi-edge | - |
Battery info | linux-asahi | linux-asahi | - |
WiFi | 6.1 | 6.1 | TBA |
Bluetooth | 6.2 | 6.2 | TBA |
HDMI Out | - | - | WIP |
3.5mm jack | linux-asahi | linux-asahi | WIP |
Speakers | WIP | WIP | WIP |
Microphones | WIP | WIP | TBA |
Webcam | TBA | TBA | - |
SD card slot | - | - | - |
1Gbps Ethernet | - | - | WIP |
10Gbps Ethernet | - | - | WIP |
Touch Bar | - | WIP | - |
TouchID | TBA | TBA | TBA |
M2 Pro/Max device-specific support
Mac Mini (2023) |
MacBook Pro (14/16-inch, 2023) |
|
---|---|---|
Installer | WIP | WIP |
Devicetree | WIP | WIP |
Main display | WIP | WIP |
Keyboard | - | linux-asahi |
KB backlight | - | WIP |
Touchpad | - | linux-asahi |
Brightness | - | WIP |
Battery info | - | linux-asahi |
WiFi | TBA | TBA |
Bluetooth | TBA | TBA |
HDMI Out | WIP | TBA |
3.5mm jack | WIP | WIP |
Speakers | WIP | TBA |
Microphones | TBA | TBA |
Webcam | - | TBA |
SD card slot | - | 5.17 |
1Gbps Ethernet | WIP | - |
10Gbps Ethernet | WIP | - |
Touch Bar | - | - |
TouchID | TBA | TBA |
Note: Many peripherals depend on T600x DART, T8112 DART, and PCIe support.
Notes
cpuidle situation
Some power management functionality on ARM machines is controlled via the PSCI interface. The kernel has a specific way of talking to PSCI that is not compatible with Apple Silicon, and a discussion is required with upstream maintainers in order to figure out the best way forward. Given that this discussion has failed to materialise for two years, the decision has been made to hack together a driver that directly calls WFI/WFE instructions in order to bring this functionality to Asahi Linux. This greatly improves the UX on laptops when coupled with energy-aware scheduling, as it resolves the issue of the machines running warm to the touch and significantly improves battery life. This can never be upstreamed, however the hope is that this hacked together driver becomes unnecessary at some point in the near future.
Wiki for the Asahi Linux project: https://asahilinux.org/