Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
fix-spi-keyboard.sh installs macbook12-spi-driver-dkms, which cannot build on kernels shipping applespi in-tree
Reported by ari-ahm · filed Sep 2, 2026 · open at source
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- AreaOutside the audited area· Decided by agents · verified
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
install/hardware/apple/fix-spi-keyboard.sh installs macbook12-spi-driver-dkms
on every MacBook it matches. On current kernels that package is obsolete and
cannot build — applespi has been mainlined, and the out-of-tree copy still
includes a header that no longer exists.
The keyboard works anyway, because the mkinitcpio drop-in the same script writes
pulls in the in-tree module. So the only effect of the package is a failing DKMS
build on every kernel update.
Evidence
applespi ships in the linux package:
$ pacman -Qo "$(modinfo -n applespi)"
/usr/lib/modules/7.1.9-arch1-2/kernel/drivers/input/keyboard/applespi.ko.zst is owned by linux 7.1.9.arch1-2
$ tar -tf linux-7.1.9.tar.xz | grep applespi
linux-7.1.9/drivers/input/keyboard/applespi.c
linux-7.1.9/drivers/input/keyboard/applespi.h
linux-7.1.9/drivers/input/keyboard/applespi_trace.hIt is also the only applespi on disk — the DKMS build never produces one:
$ find /lib/modules/7.1.9-arch1-2 -name 'applespi*'
/lib/modules/7.1.9-arch1-2/kernel/drivers/input/keyboard/applespi.ko.zstThe build failure, from /var/lib/dkms/macbook12-spi-driver/0+git.315/build/make.log:
64 | #include <asm/unaligned.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [scripts/Makefile.build:289: applespi.o] Error 1
make[4]: *** [scripts/Makefile.build:289: apple-ibridge.o] Error 1asm/unaligned.h was removed in 6.12; it is linux/unaligned.h now, and the
kernel tree confirms there is no arch/x86/include/asm/unaligned.h in 7.1.9.
As seen during a pacman transaction:
(3/3) Install DKMS modules
==> dkms install --no-depmod macbook12-spi-driver/0+git.315 -k 7.1.9-arch1-2
Error! Bad return status for module build on kernel: 7.1.9-arch1-2 (x86_64)
==> WARNING: `dkms install --no-depmod macbook12-spi-driver/0+git.315 -k 7.1.9-arch1-2' exited 10Why this is currently invisible
On a stock install linux-headers isn't present, so Arch's DKMS hook globsusr/lib/modules/*/build, matches nothing, builds nothing and exits 0. The
package sits at added and never errors:
$ dkms status
macbook12-spi-driver/0+git.315: addedThe failure only surfaces the moment linux-headers gets installed for any
reason.
This interacts with #8285. That issue proposes installing linux-headers
explicitly (for the CS8409 audio driver) and describes the same zero-kernel
glob behaviour. If it lands, every matched MacBook starts surfacing this failed
build on each kernel update. Fixing this first would avoid shipping that
regression.
Steps to reproduce
- Install Omarchy on a machine matching the regex (MacBookPro14,1 here).
sudo pacman -S linux-headers- Observe the DKMS build fail in the pacman output, and on every kernel update after.
Expected
Either don't install macbook12-spi-driver-dkms on kernels that ship applespi
in-tree, or drop it entirely and rely on the mkinitcpio drop-in.
Important: the drop-in must stay
The other half of the script is load-bearing and should not be removed along
with the package:
/etc/mkinitcpio.conf.d/macbook_spi_modules.conf
MODULES=(applespi intel_lpss_pci spi_pxa2xx_platform)On a LUKS root the keyboard has to be in the initramfs to type the passphrase
(cf. #1313). Removing only the package is safe — pacman owns just/usr/src/macbook12-spi-driver-0+git.315/, not the drop-in — and the keyboard
and trackpad keep working:
$ sudo pacman -R macbook12-spi-driver-dkms
$ grep '^N: Name' /proc/bus/input/devices | grep -i apple
N: Name="Apple SPI Keyboard"
N: Name="Apple SPI Touchpad"System
| Omarchy | 4.0.2-1 (stable) |
| Model | MacBookPro14,1 |
| CPU | Intel Core i5-7360U |
| GPU | Intel Iris Plus Graphics 640 [8086:5926] |
| Kernel | 7.1.9-arch1-2 |
| dkms | 3.4.3-2 |
| package | macbook12-spi-driver-dkms 0+git.315-1 |
View raw text
`install/hardware/apple/fix-spi-keyboard.sh` installs `macbook12-spi-driver-dkms`
on every MacBook it matches. On current kernels that package is obsolete and
**cannot build** — `applespi` has been mainlined, and the out-of-tree copy still
includes a header that no longer exists.
The keyboard works anyway, because the mkinitcpio drop-in the same script writes
pulls in the in-tree module. So the only effect of the package is a failing DKMS
build on every kernel update.
### Evidence
`applespi` ships in the `linux` package:
```
$ pacman -Qo "$(modinfo -n applespi)"
/usr/lib/modules/7.1.9-arch1-2/kernel/drivers/input/keyboard/applespi.ko.zst is owned by linux 7.1.9.arch1-2
$ tar -tf linux-7.1.9.tar.xz | grep applespi
linux-7.1.9/drivers/input/keyboard/applespi.c
linux-7.1.9/drivers/input/keyboard/applespi.h
linux-7.1.9/drivers/input/keyboard/applespi_trace.h
```
It is also the only `applespi` on disk — the DKMS build never produces one:
```
$ find /lib/modules/7.1.9-arch1-2 -name 'applespi*'
/lib/modules/7.1.9-arch1-2/kernel/drivers/input/keyboard/applespi.ko.zst
```
The build failure, from `/var/lib/dkms/macbook12-spi-driver/0+git.315/build/make.log`:
```
64 | #include <asm/unaligned.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [scripts/Makefile.build:289: applespi.o] Error 1
make[4]: *** [scripts/Makefile.build:289: apple-ibridge.o] Error 1
```
`asm/unaligned.h` was removed in 6.12; it is `linux/unaligned.h` now, and the
kernel tree confirms there is no `arch/x86/include/asm/unaligned.h` in 7.1.9.
As seen during a pacman transaction:
```
(3/3) Install DKMS modules
==> dkms install --no-depmod macbook12-spi-driver/0+git.315 -k 7.1.9-arch1-2
Error! Bad return status for module build on kernel: 7.1.9-arch1-2 (x86_64)
==> WARNING: `dkms install --no-depmod macbook12-spi-driver/0+git.315 -k 7.1.9-arch1-2' exited 10
```
### Why this is currently invisible
On a stock install `linux-headers` isn't present, so Arch's DKMS hook globs
`usr/lib/modules/*/build`, matches nothing, builds nothing and exits 0. The
package sits at `added` and never errors:
```
$ dkms status
macbook12-spi-driver/0+git.315: added
```
The failure only surfaces the moment `linux-headers` gets installed for any
reason.
**This interacts with #8285.** That issue proposes installing `linux-headers`
explicitly (for the CS8409 audio driver) and describes the same zero-kernel
glob behaviour. If it lands, every matched MacBook starts surfacing this failed
build on each kernel update. Fixing this first would avoid shipping that
regression.
### Steps to reproduce
1. Install Omarchy on a machine matching the regex (MacBookPro14,1 here).
2. `sudo pacman -S linux-headers`
3. Observe the DKMS build fail in the pacman output, and on every kernel update after.
### Expected
Either don't install `macbook12-spi-driver-dkms` on kernels that ship `applespi`
in-tree, or drop it entirely and rely on the mkinitcpio drop-in.
### Important: the drop-in must stay
The other half of the script is load-bearing and should not be removed along
with the package:
```
/etc/mkinitcpio.conf.d/macbook_spi_modules.conf
MODULES=(applespi intel_lpss_pci spi_pxa2xx_platform)
```
On a LUKS root the keyboard has to be in the initramfs to type the passphrase
(cf. #1313). Removing only the package is safe — pacman owns just
`/usr/src/macbook12-spi-driver-0+git.315/`, not the drop-in — and the keyboard
and trackpad keep working:
```
$ sudo pacman -R macbook12-spi-driver-dkms
$ grep '^N: Name' /proc/bus/input/devices | grep -i apple
N: Name="Apple SPI Keyboard"
N: Name="Apple SPI Touchpad"
```
### System
| | |
|---|---|
| Omarchy | 4.0.2-1 (stable) |
| Model | MacBookPro14,1 |
| CPU | Intel Core i5-7360U |
| GPU | Intel Iris Plus Graphics 640 [8086:5926] |
| Kernel | 7.1.9-arch1-2 |
| dkms | 3.4.3-2 |
| package | macbook12-spi-driver-dkms 0+git.315-1 |
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
- Out of scopeDecided by agents · verified · 2026-10-09 10:36 UTC