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.
intel-ipu7-camera's WirePlumber drop-in silences all audio (event dispatcher deadlock)
Reported by llchen223 · filed Sep 21, 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
What happened
On a fresh Omarchy 4.0.4 install on a Lenovo ThinkPad X1 Carbon Gen 12 (Meteor Lake)
there is no audio at all:
wpctl statusshows only "Dummy Output"pactl list cardsreports the SOF sound card'sActive Profile: off- every application stream fails to link —
paplayends withStream error: Timeout
The ALSA/kernel layer is fine (SOF driver bound, sof-firmware loaded, ALC287 quirk
matched, UCM profiles present), and the identical machine has working audio on Fedora
with the same driver, firmware and UCM configuration. The fault is entirely in
WirePlumber's policy running.
Root cause
Two layers: an upstream WirePlumber defect, triggered by a WirePlumber drop-in that theintel-ipu7-camera package ships.
1. Trigger — shipped by intel-ipu7-camera (repo: omarchy)
intel-ipu7-camera 1.0.6-2 owns/usr/share/wireplumber/wireplumber.conf.d/hide-ipu7-v4l2.conf:
monitor.v4l2.rules = [
{
matches = [ { device.bus-path = "pci-0000:00:05.0" } ]
actions = { update-props = { device.disabled = true } }
}
]That package is installed automatically: install/hardware/intel/ipu7-camera.sh runsomarchy-pkg-add intel-ipu7-camera when the OVTI08F4 ACPI device is present (it is on
this machine). The package is also listed in install/omarchy-other.packages.
I bisected the two WirePlumber drop-ins that package installs: disable-libcamera.conf
is harmless, hide-ipu7-v4l2.conf is what breaks audio.
2. Defect — upstream WirePlumber 0.5.17
src/scripts/monitors/v4l2/create-device.lua:
if cutils.parseBool (properties ["device.disabled"]) then
log:notice ("V4L2 device " .. properties["device.name"] .. " disabled")
return -- <-- missing transition:advance ()
endThat step is declared next = "none", so returning without advancing leaves theWpTransition pending forever. The chain is:
transition never completes → on_event_hook_done() never fires →EventData->current_hook_in_async is never cleared → wp_event_source_check() keeps
returning FALSE → **the dispatcher's GSource never dispatches another event for the
rest of the session.**
Everything queued behind it starves, including all audio policy: device profile
selection (so the card stays on ACP's off default and creates no nodes), default-node
selection and stream linking. Hence "Dummy Output" and silence.
That this is an omission is confirmed by the sibling scripts, which handle the same
condition correctly:
monitors/libcamera/create-device.lua:42—transition:advance ()thenreturnmonitors/bluez/create-device.lua:33—transition:advance ()thenreturn
Steps to reproduce
- Omarchy 4.0.4 on hardware with the Intel IPU7 camera (
OVTI08F4ACPI device), so
intel-ipu7-camera gets installed.
2. Log in; run wpctl status → only "Dummy Output"; pactl list cards → Active Profile: off.
3. Neutralise hide-ipu7-v4l2.conf (or apply the one-line fix below) and restart
WirePlumber → audio works immediately.
Evidence
Local debug build of WirePlumber 0.5.17 with a watchdog added tolib/wp/event-dispatcher.c that dumps the pending event queue:
WATCHDOG: 64 event(s) pending, source_check=0
WATCHDOG: [0] event 'create-v4l2-device@WpSpaDevice' prio=500 seq=12 \
hook_in_async='monitor/v4l2/create-device' cancelled=0
WATCHDOG: [1] event 'create-v4l2-device@WpSpaDevice' prio=500 seq=13 \
hook_in_async='(none)' cancelled=0
... 62 more events queued behind it, none ever dispatchedsource_check=0 is wp_event_source_check() refusing to dispatch because the head
event still waits on the stalled hook.
A/B run, identical except for that one drop-in:
| session items created | activated | playback | |
|---|---|---|---|
| drop-in absent | 56 | 55 | paplay exit 0 |
| drop-in present | 1 | 0 | paplay times out |
After the one-line fix, with the drop-in still active (camera behaviour preserved):
profile HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), default.audio.sink set to
the Speaker sink, wpctl get-volume @DEFAULT_AUDIO_SINK@ working, paplay exit 0, and
the ALSA PCM reaching state: RUNNING.
Suggested fixes
- Omarchy (immediate): ship the one-line fix — add
transition:advance ()before the
return — or stop disabling the device until WirePlumber is fixed upstream. Audio is
completely dead on this hardware class otherwise, out of the box.
- Upstream: the same defect should be reported to WirePlumber.
- User-side workaround: a fixed copy at
~/.local/share/wireplumber/scripts/monitors/v4l2/create-device.lua takes precedence
over /usr/share and restores audio while keeping the IPU7 nodes hidden.
System details
- Omarchy 4.0.4-1, kernel 7.2.5-3-omarchy (Hyprland 0.56.2)
- Lenovo ThinkPad X1 Carbon Gen 12 (21KDS15P00), Intel Meteor Lake, Intel IPU7 camera
- wireplumber 0.5.17-1, pipewire 1:1.6.8-1
- intel-ipu7-camera 1.0.6-2 (repo: omarchy)
- Audio:
sof-audio-pci-intel-mtl,sof-firmware, ALC287, UCM profilesof-hda-dsp - Full diagnostics: https://logs.omarchy.org/qWddZh (expires in 24h)
View raw text
## What happened
On a fresh Omarchy 4.0.4 install on a Lenovo ThinkPad X1 Carbon Gen 12 (Meteor Lake)
there is **no audio at all**:
- `wpctl status` shows only "Dummy Output"
- `pactl list cards` reports the SOF sound card's `Active Profile: off`
- every application stream fails to link — `paplay` ends with `Stream error: Timeout`
The ALSA/kernel layer is fine (SOF driver bound, `sof-firmware` loaded, ALC287 quirk
matched, UCM profiles present), and the identical machine has working audio on Fedora
with the same driver, firmware and UCM configuration. The fault is entirely in
WirePlumber's policy running.
## Root cause
Two layers: an upstream WirePlumber defect, triggered by a WirePlumber drop-in that the
`intel-ipu7-camera` package ships.
### 1. Trigger — shipped by `intel-ipu7-camera` (repo: `omarchy`)
`intel-ipu7-camera` 1.0.6-2 owns
`/usr/share/wireplumber/wireplumber.conf.d/hide-ipu7-v4l2.conf`:
```ini
monitor.v4l2.rules = [
{
matches = [ { device.bus-path = "pci-0000:00:05.0" } ]
actions = { update-props = { device.disabled = true } }
}
]
```
That package is installed automatically: `install/hardware/intel/ipu7-camera.sh` runs
`omarchy-pkg-add intel-ipu7-camera` when the `OVTI08F4` ACPI device is present (it is on
this machine). The package is also listed in `install/omarchy-other.packages`.
I bisected the two WirePlumber drop-ins that package installs: `disable-libcamera.conf`
is harmless, `hide-ipu7-v4l2.conf` is what breaks audio.
### 2. Defect — upstream WirePlumber 0.5.17
`src/scripts/monitors/v4l2/create-device.lua`:
```lua
if cutils.parseBool (properties ["device.disabled"]) then
log:notice ("V4L2 device " .. properties["device.name"] .. " disabled")
return -- <-- missing transition:advance ()
end
```
That step is declared `next = "none"`, so returning without advancing leaves the
`WpTransition` pending forever. The chain is:
transition never completes → `on_event_hook_done()` never fires →
`EventData->current_hook_in_async` is never cleared → `wp_event_source_check()` keeps
returning `FALSE` → **the dispatcher's GSource never dispatches another event for the
rest of the session.**
Everything queued behind it starves, including all audio policy: device profile
selection (so the card stays on ACP's `off` default and creates no nodes), default-node
selection and stream linking. Hence "Dummy Output" and silence.
That this is an omission is confirmed by the sibling scripts, which handle the same
condition correctly:
- `monitors/libcamera/create-device.lua:42` — `transition:advance ()` then `return`
- `monitors/bluez/create-device.lua:33` — `transition:advance ()` then `return`
## Steps to reproduce
1. Omarchy 4.0.4 on hardware with the Intel IPU7 camera (`OVTI08F4` ACPI device), so
`intel-ipu7-camera` gets installed.
2. Log in; run `wpctl status` → only "Dummy Output"; `pactl list cards` → `Active Profile: off`.
3. Neutralise `hide-ipu7-v4l2.conf` (or apply the one-line fix below) and restart
WirePlumber → audio works immediately.
## Evidence
Local debug build of WirePlumber 0.5.17 with a watchdog added to
`lib/wp/event-dispatcher.c` that dumps the pending event queue:
```
WATCHDOG: 64 event(s) pending, source_check=0
WATCHDOG: [0] event 'create-v4l2-device@WpSpaDevice' prio=500 seq=12 \
hook_in_async='monitor/v4l2/create-device' cancelled=0
WATCHDOG: [1] event 'create-v4l2-device@WpSpaDevice' prio=500 seq=13 \
hook_in_async='(none)' cancelled=0
... 62 more events queued behind it, none ever dispatched
```
`source_check=0` is `wp_event_source_check()` refusing to dispatch because the head
event still waits on the stalled hook.
A/B run, identical except for that one drop-in:
| | session items created | activated | playback |
|---|---|---|---|
| drop-in absent | 56 | 55 | `paplay` exit 0 |
| drop-in present | 1 | 0 | `paplay` times out |
After the one-line fix, with the drop-in still active (camera behaviour preserved):
profile `HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker)`, `default.audio.sink` set to
the Speaker sink, `wpctl get-volume @DEFAULT_AUDIO_SINK@` working, `paplay` exit 0, and
the ALSA PCM reaching `state: RUNNING`.
## Suggested fixes
- **Omarchy (immediate):** ship the one-line fix — add `transition:advance ()` before the
`return` — or stop disabling the device until WirePlumber is fixed upstream. Audio is
completely dead on this hardware class otherwise, out of the box.
- **Upstream:** the same defect should be reported to WirePlumber.
- **User-side workaround:** a fixed copy at
`~/.local/share/wireplumber/scripts/monitors/v4l2/create-device.lua` takes precedence
over `/usr/share` and restores audio while keeping the IPU7 nodes hidden.
## System details
- Omarchy 4.0.4-1, kernel 7.2.5-3-omarchy (Hyprland 0.56.2)
- Lenovo ThinkPad X1 Carbon Gen 12 (21KDS15P00), Intel Meteor Lake, Intel IPU7 camera
- wireplumber 0.5.17-1, pipewire 1:1.6.8-1
- intel-ipu7-camera 1.0.6-2 (repo: omarchy)
- Audio: `sof-audio-pci-intel-mtl`, `sof-firmware`, ALC287, UCM profile `sof-hda-dsp`
- Full diagnostics: https://logs.omarchy.org/qWddZh (expires in 24h)
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 16:53 UTC