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-971GitHub issuePublicDecided· Out of scope

ptl-kernel.sh never removes the stock kernel: `pacman -Rdd linux linux-headers` aborts when linux-headers isn't installed, and `|| true` hides it

Reported by Faxulous · filed Sep 4, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 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

ptl-kernel.sh never removes the stock kernel: `pacman -Rdd linux linux-headers` aborts when linux-headers isn't installed, and `|| true` hides itrevision 1 · captured 2026-09-28 21:24 UTC via poll

System details

Dell XPS 16 DA16260, Intel Panther Lake (Core Ultra 300, Arc B390, no discrete GPU), Omarchy 4.0.0.alpha, linux-ptl 7.1.8.arch1-2 and stock linux 7.1.9.arch1-2 both installed

What's wrong?

install/hardware/intel/ptl-kernel.sh at quattro HEAD is byte-identical to what shipped here, and its stock-kernel removal has never removed anything.

Reproduction

No XPS or root needed — --print is a dry run:

$ pacman -Rdd --print linux nosuchpkg >/dev/null; echo $?
error: target not found: nosuchpkg
1

$ pacman -Rdd --print linux >/dev/null; echo $?
0

pacman -R aborts the entire transaction when any one target is not installed. So in:

pacman -Rdd --noconfirm linux linux-headers || true

if linux-headers is absent, neither package is removed, and || true swallows the exit 1.

Why `linux-headers` is absent

It is not part of the base install — omarchy-base.packages has no linux* entries, and omarchy-other.packages is a mirror-availability manifest for the ISO builder, not an install list. It arrives only as a hard dependency of intel-ipu7-camera, which all.sh deliberately runs after this script ("before anything pulls DKMS modules in"). On this machine pacman.log records it being installed exactly once, ever, one second too late:

1320: [2026-08-28T06:30:00+0100] [PACMAN] Running 'pacman -Rdd --noconfirm linux linux-headers'
1321: [2026-08-28T06:30:00+0100] [PACMAN] Running 'pacman -S --noconfirm --needed intel-ipu7-camera'
1325: [2026-08-28T06:30:01+0100] [ALPM] installed linux-headers (7.1.8.arch1-3)

grep -c 'removed linux' /var/log/pacman.log → 0. The one path that gets linux-headers in early is nvidia.sh, which runs before this script but only on NVIDIA hardware; this machine is Intel Arc only.

/var/log/omarchy-install.log:3153:

error: target not found: linux-headers
WARNING: stock linux kernel still installed alongside linux-ptl:
Required By     : None
[2026-08-28 06:30:00] Completed: /usr/share/omarchy/install/hardware/intel/ptl-kernel.sh

run_logged logs Completed: only on exit 0, so the install records this as a success.

Worth noting: a8977c44 dropped the old 2>/dev/null from this line and added the WARNING guard, which is why the real error is visible at all. The guard's diagnosis points elsewhere though — pacman -Qi linux reports Required By : None and pactree -r linux -d1 shows no reverse dependencies. Nothing dragged the stock kernel back; it was never removed.

Cost

Stock linux 7.1.9.arch1-2 is still installed, limine-mkinitcpio builds omarchy_linux.efi alongside omarchy_linux-ptl.efi, and dkms status shows ipu7-drivers, vision-drivers and v4l2loopback each built twice — the duplicate DKMS work the all.sh ordering comment was added to avoid. The second boot entry is masked here by the BOOT_ORDER="linux-ptl*, …" drop-in the same script writes.

Suggested fix (untested — I have not run this, only the `--print` dry runs above)

for pkg in linux linux-headers; do
  pacman -Qq "$pkg" &>/dev/null || continue
  pacman -Rdd --noconfirm "$pkg" || echo "WARNING: could not remove $pkg"
done

Two things worth knowing before touching this line:

  • Don't just delete `|| true`. run_logged sources these scripts under bash -eE, so a bare non-zero exit here would skip the BOOT_ORDER drop-in written further down and put the stock entry back in the menu. The failure needs to stay non-fatal.
  • `>&2` on the WARNING won't help. run_logged redirects the script's stdout and stderr into the same log file unless OMARCHY_LOG_TO_STDOUT=1, so stderr is no more visible than stdout during a normal install.

Also: linux-headers returns a second later on camera-equipped machines regardless, since intel-ipu7-camera depends on it. Removing it here is undone either way — the aborted transaction is the actual bug.

Trade-off this exposes

Since a8977c44 the removal has been a no-op on every affected install, so making it work is a real behaviour change: XPS Panther Lake machines would lose their fallback kernel. On this machine keeping stock linux has been useful as a recovery path and A/B kernel. That's a call for you rather than something I'd assume — but either way the current code shouldn't report success while doing nothing.

Possibly related

Open PR #8829 widens the condition to all Intel Panther Lake systems, keeps this removal line unchanged, and moves the BOOT_ORDER drop-in behind a new XPS-only guard. If it merges before this is fixed, non-XPS PTL machines would get the failed removal without the drop-in that currently hides the second boot entry.

I searched the tracker for ptl-kernel, linux-ptl, pacman -Rdd, target not found linux-headers, stock kernel, two kernels boot menu and similar and didn't find this reported, but it's a large tracker and search is keyword-based, so apologies if I missed an existing issue.

View raw text
### System details

Dell XPS 16 DA16260, Intel Panther Lake (Core Ultra 300, Arc B390, no discrete GPU), Omarchy 4.0.0.alpha, linux-ptl 7.1.8.arch1-2 and stock `linux` 7.1.9.arch1-2 both installed

### What's wrong?

`install/hardware/intel/ptl-kernel.sh` at `quattro` HEAD is byte-identical to what shipped here, and its stock-kernel removal has never removed anything.

**Reproduction**

No XPS or root needed — `--print` is a dry run:

```console
$ pacman -Rdd --print linux nosuchpkg >/dev/null; echo $?
error: target not found: nosuchpkg
1

$ pacman -Rdd --print linux >/dev/null; echo $?
0
```

`pacman -R` aborts the **entire** transaction when any one target is not installed. So in:

```sh
pacman -Rdd --noconfirm linux linux-headers || true
```

if `linux-headers` is absent, *neither* package is removed, and `|| true` swallows the exit 1.

**Why `linux-headers` is absent**

It is not part of the base install — `omarchy-base.packages` has no `linux*` entries, and `omarchy-other.packages` is a mirror-availability manifest for the ISO builder, not an install list. It arrives only as a hard dependency of `intel-ipu7-camera`, which `all.sh` deliberately runs *after* this script ("before anything pulls DKMS modules in"). On this machine `pacman.log` records it being installed exactly once, ever, one second too late:

```
1320: [2026-08-28T06:30:00+0100] [PACMAN] Running 'pacman -Rdd --noconfirm linux linux-headers'
1321: [2026-08-28T06:30:00+0100] [PACMAN] Running 'pacman -S --noconfirm --needed intel-ipu7-camera'
1325: [2026-08-28T06:30:01+0100] [ALPM] installed linux-headers (7.1.8.arch1-3)
```

`grep -c 'removed linux' /var/log/pacman.log` → `0`. The one path that gets `linux-headers` in early is `nvidia.sh`, which runs before this script but only on NVIDIA hardware; this machine is Intel Arc only.

`/var/log/omarchy-install.log:3153`:

```
error: target not found: linux-headers
WARNING: stock linux kernel still installed alongside linux-ptl:
Required By     : None
[2026-08-28 06:30:00] Completed: /usr/share/omarchy/install/hardware/intel/ptl-kernel.sh
```

`run_logged` logs `Completed:` only on exit 0, so the install records this as a success.

Worth noting: a8977c44 dropped the old `2>/dev/null` from this line and added the WARNING guard, which is why the real error is visible at all. The guard's diagnosis points elsewhere though — `pacman -Qi linux` reports `Required By : None` and `pactree -r linux -d1` shows no reverse dependencies. Nothing dragged the stock kernel back; it was never removed.

**Cost**

Stock `linux` 7.1.9.arch1-2 is still installed, `limine-mkinitcpio` builds `omarchy_linux.efi` alongside `omarchy_linux-ptl.efi`, and `dkms status` shows `ipu7-drivers`, `vision-drivers` and `v4l2loopback` each built twice — the duplicate DKMS work the `all.sh` ordering comment was added to avoid. The second boot entry is masked here by the `BOOT_ORDER="linux-ptl*, …"` drop-in the same script writes.

**Suggested fix (untested — I have not run this, only the `--print` dry runs above)**

```sh
for pkg in linux linux-headers; do
  pacman -Qq "$pkg" &>/dev/null || continue
  pacman -Rdd --noconfirm "$pkg" || echo "WARNING: could not remove $pkg"
done
```

Two things worth knowing before touching this line:

- **Don't just delete `|| true`.** `run_logged` sources these scripts under `bash -eE`, so a bare non-zero exit here would skip the `BOOT_ORDER` drop-in written further down and put the stock entry back in the menu. The failure needs to stay non-fatal.
- **`>&2` on the WARNING won't help.** `run_logged` redirects the script's stdout and stderr into the same log file unless `OMARCHY_LOG_TO_STDOUT=1`, so stderr is no more visible than stdout during a normal install.

Also: `linux-headers` returns a second later on camera-equipped machines regardless, since `intel-ipu7-camera` depends on it. Removing it here is undone either way — the aborted transaction is the actual bug.

**Trade-off this exposes**

Since a8977c44 the removal has been a no-op on every affected install, so making it work is a real behaviour change: XPS Panther Lake machines would lose their fallback kernel. On this machine keeping stock `linux` has been useful as a recovery path and A/B kernel. That's a call for you rather than something I'd assume — but either way the current code shouldn't report success while doing nothing.

**Possibly related**

Open PR #8829 widens the condition to all Intel Panther Lake systems, keeps this removal line unchanged, and moves the `BOOT_ORDER` drop-in behind a new XPS-only guard. If it merges before this is fixed, non-XPS PTL machines would get the failed removal *without* the drop-in that currently hides the second boot entry.

I searched the tracker for `ptl-kernel`, `linux-ptl`, `pacman -Rdd`, `target not found linux-headers`, `stock kernel`, `two kernels boot menu` and similar and didn't find this reported, but it's a large tracker and search is keyword-based, so apologies if I missed an existing issue.

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:46 UTC