Brought to you by the Asahi Linux team.
- MacBook Pro (14-inch, 2021)
- MacBook Pro (16-inch, 2021) (uses same EQ as J314, probably sounds bad!)
- PipeWire
- pipewire-pulse
- WirePlumber (pipewire-media-session is no longer supported)
- LSP Plugins (you must have the LV2 set of plugins installed)
- The latest linux-asahi kernel
- Audio enabled in your devicetree (read the dislaimer)
-
Ensure you have met the prerequisites.
-
Clone this repo and cd into its directory.
-
Run
mac-audio.sh
and follow the instructions.
There are a few reasons why this package is necessary.
ASoC exposes the speaker array as six independent drivers - two woofers and a tweeter each for Left and Right. We want userspace to see this as a standard stereo speaker pair. The configuration fragment shipped in this package sets up a virtual sink that takes a stereo input and routes it appropriately to each driver.
We then run into another issue - the speakers sound awful. Turns out Macs aren't magic, they sound good because Apple invest a lot of engineering effort into DSP. Apple actually handle this with odd bespoke Core Audio plugins. We use PipeWire's convolver plugin to apply impulse responses to each driver, which effectively EQs the output signals.
-
povik
-
marcan
-
whoever implemented the convolver in PipeWire
Audio support in Linux is still very much a work in progress. The kernel driver currently makes no effort to diminish your ability to destroy your machine through misconfigured settings in userspace. Much like early Chromebooks, it is entirely possible to overdrive these speakers and amps from userspace such that they are permanently damaged. If you follow the instructions here, no harm should come to your machine.