Stop installing the obsolete SPI keyboard DKMS package - #9880
Open
hudsonwa wants to merge 1 commit into
Open
Conversation
applespi is mainlined, so macbook12-spi-driver-dkms cannot build on modern kernels (its include was removed in 6.12) and its build fails on every kernel update once linux-headers is present. The in-tree module is what the initramfs drop-in loads, so only that needs to stay.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #9831
What broke
install/hardware/apple/fix-spi-keyboard.shinstallsmacbook12-spi-driver-dkmson every MacBook it matches. That package is obsolete:applespiis mainlined (it ships in thelinuxpackage), and the out-of-tree copy includesasm/unaligned.h, which was removed in kernel 6.12. The DKMS build therefore fails on every kernel update oncelinux-headersis present (reproduced in the issue with the full build log). The failure is currently invisible on stock installs only because Arch's DKMS hook finds nousr/lib/modules/*/buildwithout headers; issue #8285 proposes installinglinux-headers, which would surface this failed build on every matched MacBook.The keyboard itself is unaffected: the script also writes
/etc/mkinitcpio.conf.d/macbook_spi_modules.conf, which loads the in-treeapplespimodule into the initramfs. That half is load-bearing (LUKS passphrase entry), and the issue verifies removing only the package leaves the keyboard and touchpad working.Fix
Drop the
omarchy-pkg-add macbook12-spi-driver-dkmsline and keep everything else, with a comment recording why the package no longer belongs. The initramfs drop-in is unchanged, so initramfs behavior is identical.Why install/hardware
This is an install-time hardware leaf run via
run_loggedfrominstall/hardware/all.sh. The package install belongs there (or nowhere), and the drop-in must stay there, so the fix is confined to the one file.Tests
New
test/shell.d/spi-keyboard-test.shruns a sandboxed copy of the leaf (DMI path and mkinitcpio dir rewritten, stubbedomarchy-pkg-add/sudo):All pass here; the test fails against the pre-fix leaf (RED to GREEN). Honest host note: this machine cannot run a real pre-T2 MacBook, so the model regex is covered by the sandbox rather than hardware; the match set itself is unchanged.
Not included
A migration that removes the package from already-installed machines was left out deliberately (machine-wide package removal is the maintainers' call; the script fix prevents new installs). Happy to add one if wanted. This also removes the regression #8285 would have surfaced.