Patches Posted For Enabling Apple Silicon Mac Speaker & Headset Jack Support On Linux

Patches Posted For Enabling Apple Silicon Mac Speaker & Headset Jack Support On Linux

While the downstream Asahi Linux kernel has offered working speaker support and headset jack capabilities on Apple Silicon Macs, the mainline Linux kernel hasn't supported this functionality. But a set of 28 patches sent out today on the Linux kernel mailing list are working toward mainlining this important functionality for using Apple Macs on the upstream Linux desktop. James Calligeros sent out the big set of patches for finalizing the support for the main audio subsystem on Apple Silicon Macs. This introduces a new "macaudio" machine driver that ultimately has been years in the making for getting the speaker and headset jack working on recent Macs. Calligeros explained in today's Linux kernel patch series: "The audio subsystem on Apple Silicon Macs is rather complicated. The speaker arrangement is highly variable; some machines have a single mono woofer while others pull together multiple woofers and tweeters into a single stereo pair. The driver also exposes the headset jack's capture PCM. The builtin microphones on equipped Apple Silicon Macs are not handled by this driver as they are connected to the Always-On Processor (not actually always on). Many functions which are handled by firmware on other platforms must be handled by the kernel or userspace. Most notably, speaker protection is handled by speakersafetyd, a userspace daemon. The macaudio machine driver facilitates this by exposing a capture PCM from which the voltage and current across each speaker's voice coil can be read. Given that there are absolutely no hardware or firmware level failsafes preventing permanent damage to the fragile speakers found on these machines, the driver also implements a failsafe that will mute and lock the kcontrol of every speaker unless speakersafetyd is running." Along with the macaudio driver is the Device Tree changes enabling the speaker and headset support on Apple M1 and M2 series Macs. The Apple M3 series Macs will be coming later due to missing most prerequisite hardware nodes. The Apple M3 series is the latest of the Apple Silicon SoCs currently supported by the mainline kernel thus far. The 28 patches amounting to 3k lines of new code are now out for review and hopefully getting this Linux audio support mainlined in the not too distant future.

Original Source

Read the full article at Phoronix →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.