|
| 1 | +This page details currently supported features on all M4 series (M4, M4 Pro, M4 Max) Apple Silicon Macs, as well as |
| 2 | +their progress towards being upstreamed. The tables herein can be interpreted as follows: |
| 3 | + |
| 4 | +* **Kernel release, *e.g.* 6.0:** the feature was incorporated upstream as of this release |
| 5 | +* **linux-asahi (kernel release):** the feature is stable, available for use in `linux-asahi`, and should be upstream by the release indicated |
| 6 | +* **linux-asahi**: the feature is (mostly) stable and available for use in Fedora Asahi Remix and in `linux-asahi` |
| 7 | +* **asahi-edge**: the feature is (mostly) stable and available for use in Fedora Asahi Remix. For historical reason it is available in the `linux-asahi-edge` package in the linux-asahi Linux distribution |
| 8 | +* **WIP**: Development work on the feature is actively progressing, however is not yet ready for wider testing, use or distribution |
| 9 | +* **TBA**: Active work on this feature is not being undertaken at this time |
| 10 | + |
| 11 | +If a feature is not ready, then there is no estimation on when it will be ready. [Please do not ask for estimations in support channels (e.g. IRC)](When-will-Asahi-Linux-be-done.md). |
| 12 | + |
| 13 | +## Table of Contents |
| 14 | +- [SoC blocks](#soc-blocks) |
| 15 | +- [M4 devices](#m4-devices) |
| 16 | +- [M4 Pro/Max devices](#m4-promax-devices) |
| 17 | +- [Notes](#notes) |
| 18 | + |
| 19 | +Note that as these machines have not been released for general availability yet, supported and missing features are predictions based on what Apple has changed |
| 20 | +on a per-SoC and per-machine basis in the past. This page will change rapidly once work begins on support for these machines. |
| 21 | + |
| 22 | +## SoC blocks |
| 23 | +These are features/hardware blocks that are present on all devices with the given SoC. |
| 24 | + |
| 25 | +| | M4<br>(T8132) | M4 Pro/Max<br>(T604x) | |
| 26 | +|------------------|:--------------------:|:---------------------------:| |
| 27 | +| DCP | TBA | TBA | |
| 28 | +| USB2 (TB ports) | linux-asahi | linux-asahi | |
| 29 | +| USB3 (TB ports) | linux-asahi | linux-asahi | |
| 30 | +| Thunderbolt | TBA | TBA | |
| 31 | +| DP Alt Mode | WIP | WIP | |
| 32 | +| GPU | TBA | TBA | |
| 33 | +| Video Decoder | TBA | TBA | |
| 34 | +| NVMe | 5.19 | 5.19 | |
| 35 | +| PCIe | TBA | TBA | |
| 36 | +| PCIe (GE) | - | - | |
| 37 | +| cpufreq | 6.2 | 6.2 | |
| 38 | +| cpuidle | linux-asahi ([notes](#cpuidle-situation)) | linux-asahi ([notes](#cpuidle-situation)) | |
| 39 | +| Suspend/sleep | asahi-edge | asahi-edge | |
| 40 | +| Video Encoder | TBA | TBA | |
| 41 | +| ProRes Codec | TBA | TBA | |
| 42 | +| AICv3 | TBA | TBA | |
| 43 | +| DART | TBA | TBA | |
| 44 | +| PMU | TBA | TBA | |
| 45 | +| UART | 5.13 | 5.13 | |
| 46 | +| Watchdog | 5.17 | 5.17 | |
| 47 | +| I<sup>2</sup>C | 5.16 | 5.16 | |
| 48 | +| GPIO | 5.16 | 5.16 | |
| 49 | +| USB-PD | 5.16 | 5.16 | |
| 50 | +| MCA | 6.1 / 6.4 (dts) | linux-asahi | |
| 51 | +| SPI | linux-asahi | linux-asahi | |
| 52 | +| SPI NOR | linux-asahi | linux-asahi | |
| 53 | +| SMC | linux-asahi | linux-asahi | |
| 54 | +| SPMI | linux-asahi | linux-asahi | |
| 55 | +| RTC | linux-asahi | linux-asahi | |
| 56 | +| SEP | WIP | WIP | |
| 57 | +| Neural Engine | out of tree ([notes](#ane-driver)) | out of tree ([notes](#ane-driver)) | |
| 58 | + |
| 59 | + |
| 60 | +## M4 devices |
| 61 | +| | MacBook Pro<br>(14-inch, Nov 2024) | MacBook Pro<br>(16-inch, Nov 2024) | |
| 62 | +|--------------------|:-----------------------------------:|:----------------------------------:| |
| 63 | +| Installer | no | no | |
| 64 | +| Devicetree | TBA | TBA | |
| 65 | +| Main display | TBA | TBA | |
| 66 | +| Keyboard | TBA | TBA | |
| 67 | +| KB backlight | TBA | TBA | |
| 68 | +| Touchpad | TBA | TBA | |
| 69 | +| Brightness | TBA | TBA | |
| 70 | +| Battery info | TBA | TBA | |
| 71 | +| WiFi | TBA | TBA | |
| 72 | +| Bluetooth | TBA | TBA | |
| 73 | +| HDMI Out | TBA | TBA | |
| 74 | +| 3.5mm jack | TBA | TBA | |
| 75 | +| Speakers | TBA | TBA | |
| 76 | +| Microphones | TBA | TBA | |
| 77 | +| Webcam | TBA | TBA | |
| 78 | +| SD card slot | TBA | TBA | |
| 79 | +| TouchID | TBA | TBA | |
| 80 | + |
| 81 | +## M4 Pro/Max devices |
| 82 | +| | Mac mini<br>(2024) | MacBook Pro<br>(14-inch, Nov 2024) | MacBook Pro<br>(16-inch, Nov 2024) | |
| 83 | +|--------------------|:------------------:|:-----------------------------------:|:----------------------------------:| |
| 84 | +| Installer | no | no | no | |
| 85 | +| Devicetree | TBA | TBA | TBA | |
| 86 | +| Main display | TBA | TBA | TBA | |
| 87 | +| Keyboard | - | TBA | TBA | |
| 88 | +| KB backlight | - | TBA | TBA | |
| 89 | +| Touchpad | - | TBA | TBA | |
| 90 | +| Brightness | TBA | TBA | TBA | |
| 91 | +| Battery info | - | TBA | TBA | |
| 92 | +| WiFi | TBA | TBA | TBA | |
| 93 | +| Bluetooth | TBA | TBA | TBA | |
| 94 | +| HDMI Out | - | TBA | - | |
| 95 | +| 3.5mm jack | TBA | TBA | TBA | |
| 96 | +| Speakers | TBA | TBA | TBA | |
| 97 | +| Microphones | TBA | TBA | TBA | |
| 98 | +| Webcam | TBA | TBA | TBA | |
| 99 | +| SD card slot | - | TBA | - | |
| 100 | +| 1Gbps Ethernet | TBA | - | - | |
| 101 | +| 10Gbps Ethernet | - | - | - | |
| 102 | +| TouchID | - | TBA | TBA | |
| 103 | + |
| 104 | +Note: Many peripherals depend on DART and PCIe support. |
| 105 | + |
| 106 | + |
| 107 | +## Notes |
| 108 | + |
| 109 | +### cpuidle situation |
| 110 | +Some power management functionality on ARM machines is controlled via the PSCI interface. The |
| 111 | +kernel has a specific way of talking to PSCI that is not compatible with Apple Silicon, and a |
| 112 | +discussion is required with upstream maintainers in order to figure out the best way forward. Given |
| 113 | +that this discussion has failed to materialise for two years, the decision has been |
| 114 | +made to hack together a driver that directly calls WFI/WFE instructions in order to bring |
| 115 | +this functionality to Asahi Linux. This greatly improves the UX on laptops when coupled with |
| 116 | +energy-aware scheduling, as it resolves the issue of the machines running warm to the touch |
| 117 | +and significantly improves battery life. This can never be upstreamed, however the hope is |
| 118 | +that this hacked together driver becomes unnecessary at some point in the near future. |
| 119 | + |
| 120 | +### ANE driver |
| 121 | +An out of tree [kernel module](https://github.com/eiln/ane/tree/main) is available. It will be merged into linux-asahi. |
0 commit comments