Repository navigation
Apple Driver T2
Upstream status: yes, as of 2026-06-14. FreeBSD main now carries:
-
apple_bce(6fd2ad9aa39d): the T2 Buffer Copy Engine, the mailbox and DMA queue transport to the T2. -
apple_bce_vhci(9f90536c74b8): the virtual USB host controller that exposes keyboard, trackpad, and other T2-gated devices as USB. - Apple ANS2 NVMe quirks in nvme(4) (5e0ba47aa00e): shared CID space, broken IDENTIFY CNS, no async events, single MSI vector.
Older forum posts and the t2linux wiki say FreeBSD does not support T2 machines. That was true until mid 2026; the landscape changed.
On a T2 Mac (2018 to 2020), the T2 is not a peripheral, it is a gatekeeper. The keyboard, trackpad, Touch Bar, camera, ambient light sensor, and audio do not appear on any bus the host controls directly. They live behind the T2 and are reached through the BCE PCI device (106b:1801).
flowchart TD
HOST["FreeBSD host"] --> BCE["apple_bce<br/>PCI 106b:1801<br/>mailbox + DMA queues"]
BCE --> VHCI["apple_bce_vhci<br/>virtual USB host controller"]
VHCI --> KBD["Keyboard"]
VHCI --> TP["Trackpad"]
VHCI --> CAM["FaceTime HD camera"]
VHCI --> AUD["Audio"]
HOST --> NVME["nvme(4) + ANS2 quirks<br/>PCI 106b:2005"]
HOST --> SMC["asmc(4) MMIO backend"]
style BCE fill:#1a4a7a,color:#fff
style VHCI fill:#1a4a7a,color:#fff
style NVME fill:#1a7a3a,color:#fff
style SMC fill:#1a7a3a,color:#fff
| Component | Driver | Status |
|---|---|---|
| BCE transport | apple_bce | upstream, handshake and queues work |
| Keyboard / trackpad | apple_bce_vhci + usbhid | upstream, needs per-model validation |
| NVMe (ANS2) | nvme(4) quirks | upstream, validate I/O under load |
| SMC | asmc(4) MMIO | upstream |
| Camera | VHCI + UVC path | untested, see Apple-Driver-Camera |
| Audio | BCE path | untested, see Apple-Driver-Audio |
| Touch Bar | VHCI | untested, display side unknown |
| WiFi BCM4364 | kwx/bcfm | in development, see Apple-Driver-WiFi |
- bastion (Mac mini 8,1): T2 without the laptop input stack, good for BCE/NVMe/SMC validation without bricking a keyboard you need.
- cipher (MacBook Pro 16,2): full laptop T2 experience, NVMe ZFS root.
Validated results land on the model pages as each machine gets tested.
T2 boot security must be set to reduced/no security via macOS Recovery (Startup Security Utility) before any third-party OS boots. Document this prominently in the upstream wiki version, it is the number one support question.
Back to Apple Hardware.