The Cirrus Logic CS8409 codec (Apple subsystem 0x106b3900) is only half-supported
by the stock kernel driver: headphones work, but autoconfig reports
speaker_outs=0 — the amplifiers behind the speakers are never initialised.
davidjo/snd_hda_macbookpro
patches snd-hda-codec-cs8409 with the Apple-specific amp initialisation
(I²C). Installed via DKMS (snd_hda_macbookpro/0.1) so it rebuilds on every
kernel update. Script: scripts/04-audio-cs8409.sh.
The build script demands /usr/src/linux-source-<ver>.tar.bz2. Ubuntu ships no
source package for HWE kernels. The script in this repo solves it by:
- sparse-cloning only
sound/hdafrom the official Ubuntu kernel git at the exact tag of the running kernel (a few MB instead of ~250); - packing it as a mini-tarball with the directory layout the build expects;
- dropping it into
/usr/srcand running the DKMS build.
If speakers go silent after a kernel upgrade, re-run
sudo scripts/04-audio-cs8409.sh (it derives tag and paths from uname -r).
pw-play /usr/share/sounds/alsa/Front_Center.wav # a voice says "front center"The patched module in use is confirmed by modinfo -F filename snd-hda-codec-cs8409
pointing into updates/dkms/, and by the extra snd_hda_scodec_component module
in lsmod — the stock driver never loads it.