Skip to content

Apple Driver Audio

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

Audio

Upstream status: partial. Pre-T2 machines are plain HDA and work. T2 machines route audio through the T2 and are an open bring-up target.

Pre-T2: snd_hda plus Cirrus codecs

Every Intel Mac before 2018 uses Intel HDA with a Cirrus Logic codec (CS4206, CS4208 family) or occasionally Realtek. snd_hda(4) drives them.

What Status
Internal speakers works, may need pin patching on some models
Headphone jack + sense works
Internal microphone works on most, verify per model
HDMI / DisplayPort audio via GPU HDA function, needs drm-kmod loaded
Optical out (older minis/iMacs) works where present

Per-model hint.hdaa pin reconfigurations are classic FreeBSD wiki content; collect them during model testing with sysctl dev.hdaa dumps.

T2 machines

The speakers and mic hang off the T2, reached over the apple_bce transport (see Apple-Driver-T2). Linux drives them with a dedicated codec driver on top of its BCE audio queues. With apple_bce now upstream, the audio queue protocol is the missing piece on FreeBSD. Headphone output state on T2 also involves the SMC jack sense. Currently: no sound, honest status.

Testing checklist (per model)

  • cat /dev/sndstat
  • speaker-test each output pin, note the hdaa nid mapping
  • record from the internal mic
  • HDMI audio with drm-kmod loaded

Back to Apple Hardware.

Clone this wiki locally