Skip to content

Feature Support

Janne Grunau edited this page Apr 28, 2023 · 68 revisions
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

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.