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-2343GitHub issuePublicReceived

`intel-media-driver` required for screen recording to work on intel integrated graphics

Reported by aifrim · filed Jul 23, 2025Closed upstream on 2025-09-16 by dhh. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not evidence of a fix.

Received and recorded verbatim. Nothing has been checked yet.

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

`intel-media-driver` required for screen recording to work on intel integrated graphicsrevision 1 · captured 2026-10-04 11:26 UTC via poll

I am rocking an Intel NUC (NUC12WSHi7 (M42761-303)) with a Intel Iris Xe Graphics @ 1.40 GHz integrated graphics.

Screen recording does not work.

  RUST_BACKTRACE=full bin/omarchy-cmd-screenrecord
Opening libva device from DRM device /dev/dri/renderD128
[AVHWDeviceContext @ 0x55f093bf0240] Failed to initialise VAAPI connection: -1 (unknown libva error).
08:43:40 [ERROR] failed to create encoder(s): Failed to load vaapi device: Input/output error. This is likely *not* a bug in wl-screenrec, but an issue with your vaapi installation. Follow your distribution's instructions. If you're pretty sure you've done this correctly, create a new issue with the output of `vainfo` and if `wf-recorder -c h264_vaapi -d /dev/dri/renderD128` works.

thread 'main' panicked at src/main.rs:922:51:
enc left in intermediate state
stack backtrace:
   0:     0x55f05c53f283 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h3f8c3dd932aac897
   1:     0x55f05c4f63a3 - core::fmt::write::hd6ab3a20c1c5f4bd
   2:     0x55f05c53ce53 - std::io::Write::write_fmt::h33d06aa2eb1e7fb6
   3:     0x55f05c53f0e2 - std::sys::backtrace::BacktraceLock::print::h41974ddf0501771c
   4:     0x55f05c540518 - std::panicking::default_hook::{{closure}}::h44b88da2fab8c7a1
   5:     0x55f05c5400b8 - std::panicking::default_hook::hbce059d0e0b156ee
   6:     0x55f05c540c52 - std::panicking::rust_panic_with_hook::h22cab234247135f5
   7:     0x55f05c5409e6 - std::panicking::begin_panic_handler::{{closure}}::h219b9bc76e1576a5
   8:     0x55f05c53f759 - std::sys::backtrace::__rust_end_short_backtrace::hc992ddca6284c9fe
   9:     0x55f05c5406bd - __rustc[12f4a3d4a4a186a5]::rust_begin_unwind
  10:     0x55f05c477be0 - core::panicking::panic_fmt::h1edc4af72b2f91de
  11:     0x55f05c580fd5 - wl_screenrec::State<S>::on_frame_allocd::h6b76876ab79cf39c
  12:     0x55f05c57b78c - wl_screenrec::cap_wlr_screencopy::<impl wayland_client::event_queue::Dispatch<wayland_protocols_wlr::screencopy::v1::generated::client::zwlr_screencopy_frame_v1::ZwlrScreencopyFrameV1,()> for wl_screenrec::State<wl_screenrec::cap_wlr_screencopy::CapWlrScreencopy>>::event::h117300c256f5dcd7
  13:     0x55f05c59ec95 - wayland_client::event_queue::queue_callback::h8e3140d461d3af5a
  14:     0x55f05c5a0ad8 - wayland_client::event_queue::EventQueue<State>::dispatching_impl::h72bdb30fe0a4b088
  15:     0x55f05c5a0fe2 - wayland_client::event_queue::EventQueue<State>::blocking_dispatch::h82213bcdb35ea86a
  16:     0x55f05c58dd2d - wl_screenrec::main::h6adc74913a5310ca
  17:     0x55f05c5af766 - std::sys::backtrace::__rust_begin_short_backtrace::h1e8d2a77b6b6f744
  18:     0x55f05c5c2efc - std::rt::lang_start::{{closure}}::h1332420d9c7b3509
  19:     0x55f05c5366f1 - std::rt::lang_start_internal::hded5905f575c0221
  20:     0x55f05c5991f4 - main
  21:     0x7f15c76376b5 - <unknown>
  22:     0x7f15c7637769 - __libc_start_main
  23:     0x55f05c47dcc5 - _start
  24:                0x0 - <unknown>
  RUST_BACKTRACE=full bin/omarchy-cmd-screenrecord
Opening libva device from DRM device /dev/dri/renderD128
[AVHWDeviceContext @ 0x55f093bf0240] Failed to initialise VAAPI connection: -1 (unknown libva error).
08:43:40 [ERROR] failed to create encoder(s): Failed to load vaapi device: Input/output error. This is likely *not* a bug in wl-screenrec, but an issue with your vaapi installation. Follow your distribution's instructions. If you're pretty sure you've done this correctly, create a new issue with the output of `vainfo` and if `wf-recorder -c h264_vaapi -d /dev/dri/renderD128` works.

thread 'main' panicked at src/main.rs:922:51:
enc left in intermediate state
stack backtrace:
   0:     0x55f05c53f283 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h3f8c3dd932aac897
   1:     0x55f05c4f63a3 - core::fmt::write::hd6ab3a20c1c5f4bd
   2:     0x55f05c53ce53 - std::io::Write::write_fmt::h33d06aa2eb1e7fb6
   3:     0x55f05c53f0e2 - std::sys::backtrace::BacktraceLock::print::h41974ddf0501771c
   4:     0x55f05c540518 - std::panicking::default_hook::{{closure}}::h44b88da2fab8c7a1
   5:     0x55f05c5400b8 - std::panicking::default_hook::hbce059d0e0b156ee
   6:     0x55f05c540c52 - std::panicking::rust_panic_with_hook::h22cab234247135f5
   7:     0x55f05c5409e6 - std::panicking::begin_panic_handler::{{closure}}::h219b9bc76e1576a5
   8:     0x55f05c53f759 - std::sys::backtrace::__rust_end_short_backtrace::hc992ddca6284c9fe
   9:     0x55f05c5406bd - __rustc[12f4a3d4a4a186a5]::rust_begin_unwind
  10:     0x55f05c477be0 - core::panicking::panic_fmt::h1edc4af72b2f91de
  11:     0x55f05c580fd5 - wl_screenrec::State<S>::on_frame_allocd::h6b76876ab79cf39c
  12:     0x55f05c57b78c - wl_screenrec::cap_wlr_screencopy::<impl wayland_client::event_queue::Dispatch<wayland_protocols_wlr::screencopy::v1::generated::client::zwlr_screencopy_frame_v1::ZwlrScreencopyFrameV1,()> for wl_screenrec::State<wl_screenrec::cap_wlr_screencopy::CapWlrScreencopy>>::event::h117300c256f5dcd7
  13:     0x55f05c59ec95 - wayland_client::event_queue::queue_callback::h8e3140d461d3af5a
  14:     0x55f05c5a0ad8 - wayland_client::event_queue::EventQueue<State>::dispatching_impl::h72bdb30fe0a4b088
  15:     0x55f05c5a0fe2 - wayland_client::event_queue::EventQueue<State>::blocking_dispatch::h82213bcdb35ea86a
  16:     0x55f05c58dd2d - wl_screenrec::main::h6adc74913a5310ca
  17:     0x55f05c5af766 - std::sys::backtrace::__rust_begin_short_backtrace::h1e8d2a77b6b6f744
  18:     0x55f05c5c2efc - std::rt::lang_start::{{closure}}::h1332420d9c7b3509
  19:     0x55f05c5366f1 - std::rt::lang_start_internal::hded5905f575c0221
  20:     0x55f05c5991f4 - main
  21:     0x7f15c76376b5 - <unknown>
  22:     0x7f15c7637769 - __libc_start_main
  23:     0x55f05c47dcc5 - _start
  24:                0x0 - <unknown>

Because I run on an Intel NUC I needed to install the intel-media-driver driver and then I was able to record. I will attach a video.

I do think that we should properly identify the GPU and install the correct driver. Reported it so others can apply the patch.

Also, later I will return with a way of auto installing the driver.

https://github.com/user-attachments/assets/21eb245d-066d-4398-b82f-c5aac3c06cad

View raw text
I am rocking an Intel NUC (NUC12WSHi7 (M42761-303)) with a Intel Iris Xe Graphics @ 1.40 GHz integrated graphics. 

Screen recording does not work.

```
  RUST_BACKTRACE=full bin/omarchy-cmd-screenrecord
Opening libva device from DRM device /dev/dri/renderD128
[AVHWDeviceContext @ 0x55f093bf0240] Failed to initialise VAAPI connection: -1 (unknown libva error).
08:43:40 [ERROR] failed to create encoder(s): Failed to load vaapi device: Input/output error. This is likely *not* a bug in wl-screenrec, but an issue with your vaapi installation. Follow your distribution's instructions. If you're pretty sure you've done this correctly, create a new issue with the output of `vainfo` and if `wf-recorder -c h264_vaapi -d /dev/dri/renderD128` works.

thread 'main' panicked at src/main.rs:922:51:
enc left in intermediate state
stack backtrace:
   0:     0x55f05c53f283 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h3f8c3dd932aac897
   1:     0x55f05c4f63a3 - core::fmt::write::hd6ab3a20c1c5f4bd
   2:     0x55f05c53ce53 - std::io::Write::write_fmt::h33d06aa2eb1e7fb6
   3:     0x55f05c53f0e2 - std::sys::backtrace::BacktraceLock::print::h41974ddf0501771c
   4:     0x55f05c540518 - std::panicking::default_hook::{{closure}}::h44b88da2fab8c7a1
   5:     0x55f05c5400b8 - std::panicking::default_hook::hbce059d0e0b156ee
   6:     0x55f05c540c52 - std::panicking::rust_panic_with_hook::h22cab234247135f5
   7:     0x55f05c5409e6 - std::panicking::begin_panic_handler::{{closure}}::h219b9bc76e1576a5
   8:     0x55f05c53f759 - std::sys::backtrace::__rust_end_short_backtrace::hc992ddca6284c9fe
   9:     0x55f05c5406bd - __rustc[12f4a3d4a4a186a5]::rust_begin_unwind
  10:     0x55f05c477be0 - core::panicking::panic_fmt::h1edc4af72b2f91de
  11:     0x55f05c580fd5 - wl_screenrec::State<S>::on_frame_allocd::h6b76876ab79cf39c
  12:     0x55f05c57b78c - wl_screenrec::cap_wlr_screencopy::<impl wayland_client::event_queue::Dispatch<wayland_protocols_wlr::screencopy::v1::generated::client::zwlr_screencopy_frame_v1::ZwlrScreencopyFrameV1,()> for wl_screenrec::State<wl_screenrec::cap_wlr_screencopy::CapWlrScreencopy>>::event::h117300c256f5dcd7
  13:     0x55f05c59ec95 - wayland_client::event_queue::queue_callback::h8e3140d461d3af5a
  14:     0x55f05c5a0ad8 - wayland_client::event_queue::EventQueue<State>::dispatching_impl::h72bdb30fe0a4b088
  15:     0x55f05c5a0fe2 - wayland_client::event_queue::EventQueue<State>::blocking_dispatch::h82213bcdb35ea86a
  16:     0x55f05c58dd2d - wl_screenrec::main::h6adc74913a5310ca
  17:     0x55f05c5af766 - std::sys::backtrace::__rust_begin_short_backtrace::h1e8d2a77b6b6f744
  18:     0x55f05c5c2efc - std::rt::lang_start::{{closure}}::h1332420d9c7b3509
  19:     0x55f05c5366f1 - std::rt::lang_start_internal::hded5905f575c0221
  20:     0x55f05c5991f4 - main
  21:     0x7f15c76376b5 - <unknown>
  22:     0x7f15c7637769 - __libc_start_main
  23:     0x55f05c47dcc5 - _start
  24:                0x0 - <unknown>
```

```
  RUST_BACKTRACE=full bin/omarchy-cmd-screenrecord
Opening libva device from DRM device /dev/dri/renderD128
[AVHWDeviceContext @ 0x55f093bf0240] Failed to initialise VAAPI connection: -1 (unknown libva error).
08:43:40 [ERROR] failed to create encoder(s): Failed to load vaapi device: Input/output error. This is likely *not* a bug in wl-screenrec, but an issue with your vaapi installation. Follow your distribution's instructions. If you're pretty sure you've done this correctly, create a new issue with the output of `vainfo` and if `wf-recorder -c h264_vaapi -d /dev/dri/renderD128` works.

thread 'main' panicked at src/main.rs:922:51:
enc left in intermediate state
stack backtrace:
   0:     0x55f05c53f283 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h3f8c3dd932aac897
   1:     0x55f05c4f63a3 - core::fmt::write::hd6ab3a20c1c5f4bd
   2:     0x55f05c53ce53 - std::io::Write::write_fmt::h33d06aa2eb1e7fb6
   3:     0x55f05c53f0e2 - std::sys::backtrace::BacktraceLock::print::h41974ddf0501771c
   4:     0x55f05c540518 - std::panicking::default_hook::{{closure}}::h44b88da2fab8c7a1
   5:     0x55f05c5400b8 - std::panicking::default_hook::hbce059d0e0b156ee
   6:     0x55f05c540c52 - std::panicking::rust_panic_with_hook::h22cab234247135f5
   7:     0x55f05c5409e6 - std::panicking::begin_panic_handler::{{closure}}::h219b9bc76e1576a5
   8:     0x55f05c53f759 - std::sys::backtrace::__rust_end_short_backtrace::hc992ddca6284c9fe
   9:     0x55f05c5406bd - __rustc[12f4a3d4a4a186a5]::rust_begin_unwind
  10:     0x55f05c477be0 - core::panicking::panic_fmt::h1edc4af72b2f91de
  11:     0x55f05c580fd5 - wl_screenrec::State<S>::on_frame_allocd::h6b76876ab79cf39c
  12:     0x55f05c57b78c - wl_screenrec::cap_wlr_screencopy::<impl wayland_client::event_queue::Dispatch<wayland_protocols_wlr::screencopy::v1::generated::client::zwlr_screencopy_frame_v1::ZwlrScreencopyFrameV1,()> for wl_screenrec::State<wl_screenrec::cap_wlr_screencopy::CapWlrScreencopy>>::event::h117300c256f5dcd7
  13:     0x55f05c59ec95 - wayland_client::event_queue::queue_callback::h8e3140d461d3af5a
  14:     0x55f05c5a0ad8 - wayland_client::event_queue::EventQueue<State>::dispatching_impl::h72bdb30fe0a4b088
  15:     0x55f05c5a0fe2 - wayland_client::event_queue::EventQueue<State>::blocking_dispatch::h82213bcdb35ea86a
  16:     0x55f05c58dd2d - wl_screenrec::main::h6adc74913a5310ca
  17:     0x55f05c5af766 - std::sys::backtrace::__rust_begin_short_backtrace::h1e8d2a77b6b6f744
  18:     0x55f05c5c2efc - std::rt::lang_start::{{closure}}::h1332420d9c7b3509
  19:     0x55f05c5366f1 - std::rt::lang_start_internal::hded5905f575c0221
  20:     0x55f05c5991f4 - main
  21:     0x7f15c76376b5 - <unknown>
  22:     0x7f15c7637769 - __libc_start_main
  23:     0x55f05c47dcc5 - _start
  24:                0x0 - <unknown>
```

Because I run on an Intel NUC I needed to install the `intel-media-driver` driver and then I was able to record. I will attach a video.

I do think that we should properly identify the GPU and install the correct driver. Reported it so others can apply the patch. 

Also, later I will return with a way of auto installing the driver.

https://github.com/user-attachments/assets/21eb245d-066d-4398-b82f-c5aac3c06cad
  • 21eb245d-066d-4398-b82f-c5aac3c06cad

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.