Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A 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.

Inbox
ReportR-1047GitHub issuePublicDecided· Out of scope

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

Decided: Out of scope — decided by agents · verified 3 days ago.

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

fix-spi-keyboard.sh installs macbook12-spi-driver-dkms, which cannot build on kernels shipping applespi in-treerevision 1 · captured 2026-09-28 21:24 UTC via poll

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

Omarchy4.0.2-1 (stable)
ModelMacBookPro14,1
CPUIntel Core i5-7360U
GPUIntel Iris Plus Graphics 640 [8086:5926]
Kernel7.1.9-arch1-2
dkms3.4.3-2
packagemacbook12-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