Repository navigation
Kernel updates
Read this before running zypper up on the iMac19,1.
A kernel update can complete cleanly and still leave you with a single 2560x2880 tile and no speakers. That is not a broken update — it is an update that has not been given the two modules it needs.
| Subsystem | How it gets into a kernel | Automatic? |
|---|---|---|
| CS8409 audio codec | out-of-tree DKMS module |
No — dkms.service ships disabled |
Patched amdgpu (the 5K display) |
only inside the initramfs on the ESP | No |
Both have to be rebuilt for every new kernel. Full detail, including the exact build procedure and two failure modes that produce misleading output, is in the repo: docs/kernel-updates.md.
sudo systemctl enable dkms.service
sudo dkms autoinstall
dkms status # must list one line per installed kernelWith that enabled, audio takes care of itself from then on.
-
dkms statuslists the new kernel - A patched
amdgpu.koexists for the new kernel, with matching vermagic and atiled_stitchparameter - An initramfs containing that module is on the ESP
- A new boot entry exists alongside the working one, and the default is unchanged
Step 4 is the one people skip. A kernel that boots to a black screen is recoverable from the loader menu — but only if there is a second entry to pick.
uname -r # what you are running
systemctl is-enabled dkms.service # want: enabled
dkms status # one line per kernel
df -h /boot/efi # ~107M free; ~85M per kernel
grep -hE '^default' /boot/efi/loader/loader.conf~/bin/imac-reapply --checkMesa and the Resolve/rusticl OpenCL setup are user-space and survive kernel updates, but a silent OpenCL regression is easy to miss until an export fails.