This is an old revision of the document!
Apple Silicon support on FreeBSD
This project documents FreeBSD's support for Apple Silicon (M1, M1 Max, M1 Pro, M1 Ultra). Note that Apple Silicon is not even remotely functional on FreeBSD yet.
This page is a work in progress.
High Level Overview
At the moment, FreeBSD can at least get into the kernel via U-Boot. U-Boot >= 2022.01 is required; KyleEvans has patches that add both sysutils/m1n1 and sysutils/u-boot-apple-m1 to the ports tree, but these will not land until the more interesting features are functional (USB, Ethernet, NVMe).
Feature Status
Note that this table is not even close to complete, and it's mostly focusing on high-level features.
| Feature | Functional? | In Progress? | Commit |
|---|---|---|---|
| SimpleFB | ✔ | ||
| SMP | ✘ | ✔ | |
| Watchdog | ✘ | ✔ | |
| PCIe | ✘ | ✔ | |
| UART | ✘ | ||
| NVMe | ✘ | ||
| USB2 | ✘ | ||
| USB3 | ✘ | ||
| Ethernet | ✘ | ||
| WiFi | ✘ | ||
| Bluetooth | ✘ | ||
| Audio | ✘ |
Can I help?
We will, of course, not turn anyone interested in helping away. However, at the present time, we only have work available for developers interested in progressing driver support. Interested developers can get in touch with KyleEvans for helping getting a functional development setup and coordination.
Folks interested in testing should stay tuned to this page and keep an eye out on the mailing lists for a future call for testing. We likely won't broadcast any milestones until that point.