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.
webcam picker: Device Caps filter still passes IPU7 raw Bayer node (follow-up to #5722)
Reported by danteRub · filed Aug 17, 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
Summary
The Device Caps filter added for #5722 does not exclude the raw sensor node on IPU7 with the mainline `intel-ipu7` / `isys` driver. Unlike the IPU6 + v4l2-relayd setup in that report, this node does advertise Video Capture, so it passes capture_capable() and is still offered as a webcam — while exposing only Bayer formats that mpv av://v4l2: cannot consume.
Evidence
/dev/video0 on this machine (Core Ultra 7 258V, Lunar Lake, sensor OV02C10, mainline intel_ipu7 + ov02c10, no Intel HAL / v4l2-relayd involved):
$ v4l2-ctl -d /dev/video0 --info
Driver name : isys
Card type : ipu7
Device Caps : 0x24200001
Video Capture <-- passes the filter added for #5722
I/O MC
Streaming
Extended Pix FormatBut every advertised format is raw Bayer:
$ v4l2-ctl -d /dev/video0 --list-formats
[0]: 'BG12' (12-bit Bayer BGBG/GRGR)
[1]: 'GB12' (12-bit Bayer GBGB/RGRG)
[2]: 'BA12' (12-bit Bayer GRGR/BGBG)
[3]: 'RG12' (12-bit Bayer RGRG/GBGB)
[4]: 'BG10' (10-bit Bayer BGBG/GRGR)
...
[11]: 'RGGB' (8-bit Bayer RGRG/GBGB)
[12]: 'pBCC' (12-bit Bayer BGBG/GRGR Packed)
[13]: 'pGCC' (12-bit Bayer GBGB/RGRG Packed)There is no YUYV/MJPG/NV12 entry at all. On this hardware the usable camera is reached through libcamera (software ISP) via PipeWire, not through any /dev/video* node.
Impact
$ omarchy hw webcam # exit 0 — false positive
$ omarchy-capture-webcam-list
/dev/video0 ipu7 (PCI:0000:00:05.0):omarchy hw webcamreports a webcam on machines that have no V4L2-usable camera.omarchy capture screenrecording --with-webcamauto-detects the first entry, so it always lands on the Bayer-only node and produces a black overlay with no error — the same symptom #5722 described.- With a
v4l2loopbacknode added, the picker lists the broken/dev/video0first, so it is also the auto-detect winner:
/dev/video0 ipu7 (PCI:0000:00:05.0):
/dev/video40 Camara integrada (platform:v4l2loopback-040):Suggested fix
Extend capture_capable() in omarchy-capture-webcam-list to also require at least one non-Bayer pixel format. Raw sensor/ISYS nodes expose Bayer exclusively; every real capture device (UVC, v4l2loopback) exposes at least one consumable format.
capture_capable() {
local device="$1"
v4l2-ctl --device "$device" --info 2>/dev/null | awk '
/^[[:space:]]*Device Caps[[:space:]]*:/ { inspect = 1; next }
inspect && /^[[:space:]]*Video Capture/ { found = 1 }
END { exit !found }
' || return 1
# Raw sensor nodes (Intel IPU6/IPU7 ISYS) can advertise Video Capture while
# exposing only Bayer formats, which mpv/ffmpeg cannot consume.
v4l2-ctl --device "$device" --list-formats 2>/dev/null | awk '
/^[[:space:]]*\[[0-9]+\]:/ && !/Bayer/ { found = 1 }
END { exit !found }
'
}This keeps current behaviour for UVC-only laptops (a single passing entry) and collapses the IPU7 case to either the real loopback node or, when none exists, an empty list — which is the honest answer, and lets omarchy hw webcam correctly report no webcam.
Environment
- Omarchy 4.0.0-1
- Kernel 7.1.8-arch1-3
- Intel Core Ultra 7 258V (Lunar Lake), IPU7, sensor OV02C10
- Mainline
intel_ipu7/intel_ipu7_isys/ov02c10+ libcamera 0.7.2 (software ISP); no Intel camera HAL orv4l2-relayd
Refs #5722.
View raw text
### Summary
The `Device Caps` filter added for #5722 does not exclude the raw sensor node on **IPU7 with the mainline `intel-ipu7` / `isys` driver**. Unlike the IPU6 + `v4l2-relayd` setup in that report, this node *does* advertise `Video Capture`, so it passes `capture_capable()` and is still offered as a webcam — while exposing only Bayer formats that `mpv av://v4l2:` cannot consume.
### Evidence
`/dev/video0` on this machine (Core Ultra 7 258V, Lunar Lake, sensor OV02C10, mainline `intel_ipu7` + `ov02c10`, no Intel HAL / `v4l2-relayd` involved):
```
$ v4l2-ctl -d /dev/video0 --info
Driver name : isys
Card type : ipu7
Device Caps : 0x24200001
Video Capture <-- passes the filter added for #5722
I/O MC
Streaming
Extended Pix Format
```
But every advertised format is raw Bayer:
```
$ v4l2-ctl -d /dev/video0 --list-formats
[0]: 'BG12' (12-bit Bayer BGBG/GRGR)
[1]: 'GB12' (12-bit Bayer GBGB/RGRG)
[2]: 'BA12' (12-bit Bayer GRGR/BGBG)
[3]: 'RG12' (12-bit Bayer RGRG/GBGB)
[4]: 'BG10' (10-bit Bayer BGBG/GRGR)
...
[11]: 'RGGB' (8-bit Bayer RGRG/GBGB)
[12]: 'pBCC' (12-bit Bayer BGBG/GRGR Packed)
[13]: 'pGCC' (12-bit Bayer GBGB/RGRG Packed)
```
There is no YUYV/MJPG/NV12 entry at all. On this hardware the usable camera is reached through libcamera (software ISP) via PipeWire, not through any `/dev/video*` node.
### Impact
```
$ omarchy hw webcam # exit 0 — false positive
$ omarchy-capture-webcam-list
/dev/video0 ipu7 (PCI:0000:00:05.0):
```
- `omarchy hw webcam` reports a webcam on machines that have no V4L2-usable camera.
- `omarchy capture screenrecording --with-webcam` auto-detects the first entry, so it always lands on the Bayer-only node and produces a black overlay with no error — the same symptom #5722 described.
- With a `v4l2loopback` node added, the picker lists the broken `/dev/video0` **first**, so it is also the auto-detect winner:
```
/dev/video0 ipu7 (PCI:0000:00:05.0):
/dev/video40 Camara integrada (platform:v4l2loopback-040):
```
### Suggested fix
Extend `capture_capable()` in `omarchy-capture-webcam-list` to also require at least one non-Bayer pixel format. Raw sensor/ISYS nodes expose Bayer exclusively; every real capture device (UVC, `v4l2loopback`) exposes at least one consumable format.
```bash
capture_capable() {
local device="$1"
v4l2-ctl --device "$device" --info 2>/dev/null | awk '
/^[[:space:]]*Device Caps[[:space:]]*:/ { inspect = 1; next }
inspect && /^[[:space:]]*Video Capture/ { found = 1 }
END { exit !found }
' || return 1
# Raw sensor nodes (Intel IPU6/IPU7 ISYS) can advertise Video Capture while
# exposing only Bayer formats, which mpv/ffmpeg cannot consume.
v4l2-ctl --device "$device" --list-formats 2>/dev/null | awk '
/^[[:space:]]*\[[0-9]+\]:/ && !/Bayer/ { found = 1 }
END { exit !found }
'
}
```
This keeps current behaviour for UVC-only laptops (a single passing entry) and collapses the IPU7 case to either the real loopback node or, when none exists, an empty list — which is the honest answer, and lets `omarchy hw webcam` correctly report no webcam.
### Environment
- Omarchy 4.0.0-1
- Kernel 7.1.8-arch1-3
- Intel Core Ultra 7 258V (Lunar Lake), IPU7, sensor OV02C10
- Mainline `intel_ipu7` / `intel_ipu7_isys` / `ov02c10` + libcamera 0.7.2 (software ISP); no Intel camera HAL or `v4l2-relayd`
Refs #5722.
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 04:34 UTC