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.
Screen recording fails silently on the external monitor of a hybrid-GPU laptop, and --fullscreen ignores OMARCHY_SCREENRECORD_USE_PORTAL
Reported by Literato2 · filed Aug 16, 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
System details
Intel Core i5-10500H + Intel UHD (00:02.0) & NVIDIA RTX 3060 Mobile (01:00.0), Omarchy 4.0.0.r1746.gb724f76-1, Hyprland 0.56.2, gpu-screen-recorder 6.0.0-1, nvidia-open-dkms 610.57.04-1, mesa 1:26.1.7-1
What's wrong?
On a hybrid-GPU laptop where the external monitor is driven by the discrete GPU, omarchy-capture-screenrecording --fullscreen fails silently whenever the focused monitor is that external display.
gpu-screen-recorder's KMS backend attaches to a single DRM card and only enumerates the connectors on it. Here the internal panel is on the Intel iGPU (card2) and the external monitor is on the NVIDIA dGPU (card1), so gpu-screen-recorder never sees the external connector:
$ gpu-screen-recorder --list-capture-options
eDP-1|1920x1080
region
...
portal$ ls /sys/class/drm/card*-*/status
/sys/class/drm/card1-HDMI-A-1/status: connected # NVIDIA (01:00.0)
/sys/class/drm/card2-eDP-1/status: connected # Intel (00:02.0)--fullscreen passes the focused monitor straight to -w, so recording dies immediately:
===== 2026-08-15 21:14:58 args: target: monitor:HDMI-A-1 =====
gsr error: display "HDMI-A-1" not found, expected one of:
"screen"
"eDP-1" (1920x1080+1920+0)Two things make this worse than a plain unsupported-hardware case:
1. The failure is silent and the script still exits 0. gpu-screen-recorder is backgrounded and its exit status is never checked, so nothing is reported to the user — no notification, no non-zero exit. From the desktop it looks like the screen-recording button/keybinding simply does nothing. Without OMARCHY_SCREENRECORD_DEBUG=true there is no way to find out why.
2. `OMARCHY_SCREENRECORD_USE_PORTAL=true` cannot reach this path. The portal backend is GPU-agnostic and works correctly here (verified below), but in omarchy-capture-screenrecording the --fullscreen branch is evaluated before the portal branch and ignores the variable:
if [[ $FULLSCREEN == "true" ]]; then
target="monitor:$(omarchy-hyprland-monitor-focused)"
capture_args=(-w "${target#monitor:}" -s "${RESOLUTION:-$(default_resolution)}")
elif [[ ${OMARCHY_SCREENRECORD_USE_PORTAL:-false} == "true" ]]; then
target="portal"
capture_args=(-w portal -s "${RESOLUTION:-$(default_resolution)}")So there is no supported configuration in which ALT + PRINT (Screenrecording, which passes --fullscreen) can record the external monitor on this hardware.
Confirming the portal backend does work here, with the same monitor focused:
$ omarchy-hyprland-monitor-focused
HDMI-A-1
$ OMARCHY_SCREENRECORD_USE_PORTAL=true omarchy capture screenrecording # no --fullscreen
gsr info: gsr_capture_portal_start: pipewire negotiation finished
gsr info: using h264 encoder because a codec was not specified
gsr info: update fps: 61, damage fps: 61Steps to reproduce
Requires a hybrid-GPU machine with an external display wired to the discrete GPU.
- Focus a window on the external monitor.
- Press
ALT + PRINT, or runomarchy capture screenrecording --fullscreen. - Nothing happens. No recording file, no notification, exit code 0.
- Re-run with
OMARCHY_SCREENRECORD_DEBUG=trueand read/tmp/omarchy-screenrecord.logto seegsr error: display "HDMI-A-1" not found. - Focus a window on the internal panel and repeat — it records fine.
Expected
Any of:
--fullscreenhonoursOMARCHY_SCREENRECORD_USE_PORTAL=true, so users on hybrid GPUs have a working path; and/or- when the focused monitor is not in
gpu-screen-recorder --list-capture-options, fall back to the portal backend automatically instead of failing; - and in any case, surface the failure — check that
gpu-screen-recorderis still alive after starting it and notify if it is not, rather than exiting 0 silently.
Happy to send a PR for the first two if that's the direction you'd want.
Monitors
eDP-11920x1080@144+1920+0(Intel)HDMI-A-11920x1080@60+0+-700(NVIDIA)
View raw text
### System details
Intel Core i5-10500H + Intel UHD (00:02.0) & NVIDIA RTX 3060 Mobile (01:00.0), Omarchy 4.0.0.r1746.gb724f76-1, Hyprland 0.56.2, gpu-screen-recorder 6.0.0-1, nvidia-open-dkms 610.57.04-1, mesa 1:26.1.7-1
### What's wrong?
On a hybrid-GPU laptop where the external monitor is driven by the discrete GPU, `omarchy-capture-screenrecording --fullscreen` fails silently whenever the focused monitor is that external display.
`gpu-screen-recorder`'s KMS backend attaches to a single DRM card and only enumerates the connectors on it. Here the internal panel is on the Intel iGPU (`card2`) and the external monitor is on the NVIDIA dGPU (`card1`), so `gpu-screen-recorder` never sees the external connector:
```
$ gpu-screen-recorder --list-capture-options
eDP-1|1920x1080
region
...
portal
```
```
$ ls /sys/class/drm/card*-*/status
/sys/class/drm/card1-HDMI-A-1/status: connected # NVIDIA (01:00.0)
/sys/class/drm/card2-eDP-1/status: connected # Intel (00:02.0)
```
`--fullscreen` passes the focused monitor straight to `-w`, so recording dies immediately:
```
===== 2026-08-15 21:14:58 args: target: monitor:HDMI-A-1 =====
gsr error: display "HDMI-A-1" not found, expected one of:
"screen"
"eDP-1" (1920x1080+1920+0)
```
Two things make this worse than a plain unsupported-hardware case:
**1. The failure is silent and the script still exits 0.** `gpu-screen-recorder` is backgrounded and its exit status is never checked, so nothing is reported to the user — no notification, no non-zero exit. From the desktop it looks like the screen-recording button/keybinding simply does nothing. Without `OMARCHY_SCREENRECORD_DEBUG=true` there is no way to find out why.
**2. `OMARCHY_SCREENRECORD_USE_PORTAL=true` cannot reach this path.** The portal backend is GPU-agnostic and works correctly here (verified below), but in `omarchy-capture-screenrecording` the `--fullscreen` branch is evaluated *before* the portal branch and ignores the variable:
```bash
if [[ $FULLSCREEN == "true" ]]; then
target="monitor:$(omarchy-hyprland-monitor-focused)"
capture_args=(-w "${target#monitor:}" -s "${RESOLUTION:-$(default_resolution)}")
elif [[ ${OMARCHY_SCREENRECORD_USE_PORTAL:-false} == "true" ]]; then
target="portal"
capture_args=(-w portal -s "${RESOLUTION:-$(default_resolution)}")
```
So there is no supported configuration in which `ALT + PRINT` (`Screenrecording`, which passes `--fullscreen`) can record the external monitor on this hardware.
Confirming the portal backend does work here, with the same monitor focused:
```
$ omarchy-hyprland-monitor-focused
HDMI-A-1
$ OMARCHY_SCREENRECORD_USE_PORTAL=true omarchy capture screenrecording # no --fullscreen
gsr info: gsr_capture_portal_start: pipewire negotiation finished
gsr info: using h264 encoder because a codec was not specified
gsr info: update fps: 61, damage fps: 61
```
#### Steps to reproduce
Requires a hybrid-GPU machine with an external display wired to the discrete GPU.
1. Focus a window on the external monitor.
2. Press `ALT + PRINT`, or run `omarchy capture screenrecording --fullscreen`.
3. Nothing happens. No recording file, no notification, exit code 0.
4. Re-run with `OMARCHY_SCREENRECORD_DEBUG=true` and read `/tmp/omarchy-screenrecord.log` to see `gsr error: display "HDMI-A-1" not found`.
5. Focus a window on the internal panel and repeat — it records fine.
#### Expected
Any of:
- `--fullscreen` honours `OMARCHY_SCREENRECORD_USE_PORTAL=true`, so users on hybrid GPUs have a working path; and/or
- when the focused monitor is not in `gpu-screen-recorder --list-capture-options`, fall back to the portal backend automatically instead of failing;
- and in any case, surface the failure — check that `gpu-screen-recorder` is still alive after starting it and notify if it is not, rather than exiting 0 silently.
Happy to send a PR for the first two if that's the direction you'd want.
#### Monitors
- `eDP-1` 1920x1080@144 `+1920+0` (Intel)
- `HDMI-A-1` 1920x1080@60 `+0+-700` (NVIDIA)
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:30 UTC