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 has visual artifacts and stuttering
Reported by anuragkumar2921 · filed Mar 9, 2026Closed upstream on 2026-03-09 by its own reporter anuragkumar2921. GitHub close reason: completed. Closed by its own reporter — not by itself evidence of a fix.
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?
- Not yet mapped to any requirement or component.
- 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?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
System details
NVIDIA 5070ti
What's wrong?
When capturing screen via PipeWire portal (both OBS and gpu-screen-recorder), the stream constantly cycles between "streaming" and "paused" every ~1 second, causing heavy stuttering and visual artifacts in the recorded output.
The negotiation always picks the NVIDIA block-linear modifier (0x300000000e08014) over the linear modifier (0x0), which PipeWire cannot handle correctly.
Logs evidence
main ? ❯ gpu-screen-recorder -w portal -fallback-cpu-encoding yes -o video.mp4
gsr info: option '-w portal' was used without '-restore-portal-session yes'. The previous screencast session will be ignored
gsr info: gsr_capture_portal_setup_dbus: CreateSession
gsr info: gsr_capture_portal_setup_dbus: SelectSources
gsr info: gsr_capture_portal_setup_dbus: Start
gsr info: gsr_capture_portal_save_restore_token: saved restore token to cache (2b7057f8-d841-4d7a-889b-ff7e7d2662a2)
gsr info: gsr_capture_portal_setup_dbus: OpenPipeWireRemote
gsr info: gsr_capture_portal_setup_dbus: desktop portal setup finished
gsr info: gsr_capture_portal_setup: setting up pipewire
gsr info: pipewire: server version: 1.6.0
gsr info: pipewire: library version: 1.6.0
gsr info: pipewire: header version: 1.4.10
gsr info: pipewire: stream 0x55be1a26f260 previous state: "unconnected", new state: "connecting" (error: none)
gsr info: gsr_capture_portal_setup: pipewire setup finished
gsr info: gsr_capture_portal_start: waiting for pipewire negotiation
gsr info: pipewire: stream 0x55be1a26f260 previous state: "connecting", new state: "paused" (error: none)
gsr info: pipewire: negotiated format:
gsr info: pipewire: Format: 12 (Spa:Enum:VideoFormat:BGRA)
gsr info: pipewire: Modifier: 0x0
gsr info: pipewire: Size: 1920x1080
gsr info: pipewire: Framerate: 0/1
gsr info: pipewire: negotiated format:
gsr info: pipewire: Format: 12 (Spa:Enum:VideoFormat:BGRA)
gsr info: pipewire: Modifier: 0x300000000e08014
gsr info: pipewire: Size: 1920x1080
gsr info: pipewire: Framerate: 0/1
gsr info: pipewire: stream 0x55be1a26f260 previous state: "paused", new state: "streaming" (error: none)
gsr info: gsr_capture_portal_start: pipewire negotiation finished
gsr info: using h264 encoder because a codec was not specified
[h264_nvenc @ 0x55be1a90c600] ignoring invalid SAR: 0/0
update fps: 61, damage fps: 61
update fps: 60, damage fps: 60
update fps: 61, damage fps: 61
update fps: 60, damage fps: 60
update fps: 61, damage fps: 61
update fps: 61, damage fps: 61
update fps: 60, damage fps: 60
update fps: 60, damage fps: 60
update fps: 61, damage fps: 61
update fps: 60, damage fps: 60
update fps: 60, damage fps: 60
update fps: 61, damage fps: 61
^Cgsr info: pipewire: stream 0x55be1a26f260 previous state: "streaming", new state: "paused" (error: none)
gsr info: pipewire: stream 0x55be1a26f260 previous state: "paused", new state: "unconnected" (error: none)
https://github.com/user-attachments/assets/c8e778e4-ccc0-4137-8e66-d5163091f16d
View raw text
### System details NVIDIA 5070ti ### What's wrong? When capturing screen via PipeWire portal (both OBS and gpu-screen-recorder), the stream constantly cycles between "streaming" and "paused" every ~1 second, causing heavy stuttering and visual artifacts in the recorded output. The negotiation always picks the NVIDIA block-linear modifier (0x300000000e08014) over the linear modifier (0x0), which PipeWire cannot handle correctly. ## Logs evidence main ? ❯ gpu-screen-recorder -w portal -fallback-cpu-encoding yes -o video.mp4 gsr info: option '-w portal' was used without '-restore-portal-session yes'. The previous screencast session will be ignored gsr info: gsr_capture_portal_setup_dbus: CreateSession gsr info: gsr_capture_portal_setup_dbus: SelectSources gsr info: gsr_capture_portal_setup_dbus: Start gsr info: gsr_capture_portal_save_restore_token: saved restore token to cache (2b7057f8-d841-4d7a-889b-ff7e7d2662a2) gsr info: gsr_capture_portal_setup_dbus: OpenPipeWireRemote gsr info: gsr_capture_portal_setup_dbus: desktop portal setup finished gsr info: gsr_capture_portal_setup: setting up pipewire gsr info: pipewire: server version: 1.6.0 gsr info: pipewire: library version: 1.6.0 gsr info: pipewire: header version: 1.4.10 gsr info: pipewire: stream 0x55be1a26f260 previous state: "unconnected", new state: "connecting" (error: none) gsr info: gsr_capture_portal_setup: pipewire setup finished gsr info: gsr_capture_portal_start: waiting for pipewire negotiation gsr info: pipewire: stream 0x55be1a26f260 previous state: "connecting", new state: "paused" (error: none) gsr info: pipewire: negotiated format: gsr info: pipewire: Format: 12 (Spa:Enum:VideoFormat:BGRA) gsr info: pipewire: Modifier: 0x0 gsr info: pipewire: Size: 1920x1080 gsr info: pipewire: Framerate: 0/1 gsr info: pipewire: negotiated format: gsr info: pipewire: Format: 12 (Spa:Enum:VideoFormat:BGRA) gsr info: pipewire: Modifier: 0x300000000e08014 gsr info: pipewire: Size: 1920x1080 gsr info: pipewire: Framerate: 0/1 gsr info: pipewire: stream 0x55be1a26f260 previous state: "paused", new state: "streaming" (error: none) gsr info: gsr_capture_portal_start: pipewire negotiation finished gsr info: using h264 encoder because a codec was not specified [h264_nvenc @ 0x55be1a90c600] ignoring invalid SAR: 0/0 update fps: 61, damage fps: 61 update fps: 60, damage fps: 60 update fps: 61, damage fps: 61 update fps: 60, damage fps: 60 update fps: 61, damage fps: 61 update fps: 61, damage fps: 61 update fps: 60, damage fps: 60 update fps: 60, damage fps: 60 update fps: 61, damage fps: 61 update fps: 60, damage fps: 60 update fps: 60, damage fps: 60 update fps: 61, damage fps: 61 ^Cgsr info: pipewire: stream 0x55be1a26f260 previous state: "streaming", new state: "paused" (error: none) gsr info: pipewire: stream 0x55be1a26f260 previous state: "paused", new state: "unconnected" (error: none) https://github.com/user-attachments/assets/c8e778e4-ccc0-4137-8e66-d5163091f16d
- c8e778e4-ccc0-4137-8e66-d5163091f16d
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.
No decision has been recorded yet.