Skip to content

Apple Driver T2

Abdelkader Boudih edited this page Aug 24, 2026 · 4 revisions

T2 Security Chip

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.

Why the T2 changes everything

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
Loading

Component status

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

Test machines

  • 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.

Firmware prerequisites

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.

Clone this wiki locally