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-712GitHub issuePublicDecided· Duplicate

Lock screen freezes / keyboard input unresponsive after suspend-resume until DRM/VT switch

Reported by OP017 · filed Sep 10, 2026 · open at source

Decided: Duplicate — decided by agents · verified 3 days ago.

R-1214 is the earliest report of this defect — filed Aug 30, 2026, open upstream. This report (filed Sep 10, 2026) describes the same defect, so it is folded under it in the inbox.

Decided by agents · verified· Oct 8, 2026

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?
Decided by agents and verified by a second, independent agent — see the decision.

Original report

Lock screen freezes / keyboard input unresponsive after suspend-resume until DRM/VT switchrevision 1 · captured 2026-09-28 21:23 UTC via poll

System details

AMD Ryzen AI 7 350, AMD Radeon 860M Graphics (amdgpu / Krackan), [ASUS Laptop], Hyprland 0.56.2, quickshell 0.3.1-1, Omarchy 4.0.3-1, Kernel 7.2.3-arch1-3

What's wrong?

Summary

When waking up / resuming from suspend (s2idle / sleep), the lock screen becomes unresponsive to keyboard input. The user cannot type their password or interact with the lock surface.

Switching to a TTY (via Ctrl+Alt+F3) and switching back to the graphical session (or logging into TTY) triggers a DRM/VT switch, which restores keyboard input focus and allows normal authentication/unlocking.

Steps to Reproduce

  1. Suspend the machine (e.g. systemctl suspend or closing the laptop lid).
  2. Wake the machine up.
  3. Attempt to type the password into the lock screen prompt.
  4. Observed: Keyboard input is completely unresponsive / keystrokes are not registered by the lock view.
  5. Workaround: Switch to TTY (Ctrl+Alt+F3) and return to graphical session (TTY1/VT1); the lock screen immediately accepts input again.

Relevant Journal Logs (Sanitized)

Below is the resume sequence showing the USB reset, PAM wake relay, and Qt Wayland placeholder screen handling (Not creating lock surface for screen QScreen(..., name="")):

systemd-logind[1061]: suspend requested from client PID 1265470 ('systemctl') (unit [email protected])...
systemd-logind[1061]: The system will suspend now!
systemd[1]: Starting Fingerprint Authentication Daemon...
systemd[1]: Started Fingerprint Authentication Daemon.
omarchy-shell[1265646]: quickshell.service.pam.subprocess: Waiting for parent confirmation...
omarchy-shell[1265646]: quickshell.service.pam.subprocess: Starting pam session for user "<user>" with config "omarchy-lock-fingerprint" in dir "/etc/pam.d"
systemd[1]: Starting System Suspend...
systemd-sleep[1265724]: Performing sleep operation 'suspend'...
kernel: PM: suspend entry (s2idle)
kernel: usb 3-4: reset full-speed USB device number 4 using xhci_hcd
kernel: printk: Suspending console(s) (use no_console_suspend to debug)
kernel: amdgpu 0000:05:00.0: SMU is resumed successfully!
kernel: usb 3-5: reset full-speed USB device number 5 using xhci_hcd
systemd-sleep[1265724]: System returned from sleep operation 'suspend'.
kernel: PM: suspend exit
systemd[1]: systemd-suspend.service: Deactivated successfully.
systemd[1]: Finished System Suspend.
systemd-logind[1061]: Operation 'suspend' finished.
omarchy-shell[1265646]: quickshell.service.pam.subprocess: Relaying pam message: "Place your finger on the fingerprint reader" echo: 1 error: 0 responseRequired: 0
omarchy-shell[1362]:   INFO qt.qpa.wayland: There are no outputs - creating placeholder screen
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb94a5c6240, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb94a5c6240, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb94a5c6240, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb94a5c6240, name="") as it is not backed by a valid wayland output.
systemd[1136]: Started Lock Omarchy before suspend.
omarchy-shell[1362]:   INFO qt.qpa.wayland: There are no outputs - creating placeholder screen
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb92a77d0f0, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb92a77d0f0, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb92a77d0f0, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb92a77d0f0, name="") as it is not backed by a valid wayland output.
omarchy-shell[1265646]: quickshell.service.pam.subprocess: Authenticated successfully.
omarchy-shell[1362]:  DEBUG qml: omarchy lock 2026-09-10T18:49:54.042Z session-locked=false
systemd[1]: fprintd.service: Deactivated successfully.
login[1270865]: pam_unix(login:session): session opened for user <user>(uid=1000) by <user>(uid=0)

Investigation Hypotheses & Technical Context

  1. `ext-session-lock-v1` vs QtWayland Placeholder Output Desync:
  • In shell/plugins/lock/Service.qml, guard logic (hasRealScreen(), sessionLockStabilizeTimer, checkStrandedLock()) handles session lock setup.
  • When returning from sleep, qt.qpa.wayland temporarily registers placeholder screens (name=""), causing WlSessionLockSurface to ignore them. When real outputs are restored, keyboard focus may fail to attach to the lock surface until a DRM/VT transition forces compositor surface and focus re-evaluation.
  1. PAM / Subprocess State on USB Reset:
  • USB resets occurring at the exact resume moment could interact with the PAM fingerprint / password auth state in Quickshell, potentially causing input focus or handlers to stall until a display reset.

System Diagnostics (omarchy-debug)

Click to expand system information
^C12System:^C
  ^C12Kernel^C 7.2.3-arch1-3 ^C12arch^C x86_64 ^C12bits^C 64 ^C12compiler^C gcc ^C12v^C 16.2.1 ^C12clocksource^C tsc ^C12avail^C hpet,acpi_pm^C
    ^C^C12parameters^C cryptdevice=PARTUUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:root root=/dev/mapper/root^C
    ^Czswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs rtc_cmos.use_acpi_alarm=1^C
    ^Cresume=/dev/mapper/root resume_offset=xxxxxx initramfs_async=0 quiet splash loglevel=0^C
    ^Csystemd.show_status=false rd.udev.log_level=0 vt.global_cursor_default=0^C
  ^C12Desktop^C Hyprland ^C12v^C N/A ^C12vt^C 1 ^C12dm^C SDDM ^C12Distro^C Omarchy^C
^C12Machine:^C
  ^C12Type^C Laptop ^C12System^C ASUSTeK ^C12product^C [ASUS Laptop] ^C12v^C 1.0 ^C12serial^C <superuser required>^C
  ^C12Mobo^C ASUSTeK ^C12model^C [ASUS Laptop] ^C12v^C 1.0 ^C12serial^C <superuser required> ^C12uuid^C <superuser required>^C
    ^C12Firmware^C UEFI ^C12vendor^C ASUSTeK (Licensed by AMI LLC.) ^C12v^C [BIOS Version] ^C12date^C 06/09/2026^C
^C12Battery:^C
  ^C12ID-1^C BATT ^C12charge^C <filter> ^C12condition^C <filter> ^C12volts^C <filter> ^C12min^C <filter>^C
    ^C12model^C ASUSTeK [Battery] ^C12type^C Unknown ^C12serial^C <filter> ^C12charging^C ^C12status^C not charging ^C12control^C^C
    ^C12start^C N/A ^C12end^C 80% ^C12cycles^C <filter>^C
  ^C12Device-1^C hidpp_battery_0 ^C12model^C [Wireless Mouse] ^C12serial^C <filter>^C
    ^C^C12charge^C 100% (should be ignored) ^C12rechargeable^C yes ^C12status^C discharging^C
^C12CPU:^C
  ^C12Info^C ^C12model^C AMD Ryzen AI 7 350 w/ Radeon 860M ^C12bits^C 64 ^C12type^C MT MCP ^C12arch^C Zen 6 ^C12note^C 6 ^C12level^C v4^C
    ^C12note^C check ^C12built^C 2026+ ^C12process^C TSMC n2/n3 (2,3nm) ^C12family^C 0x1A (26) ^C12model-id^C 0x60 (96) ^C12stepping^C 0^C
    ^C12microcode^C 0xB600037^C
  ^C12Topology^C ^C12cpus^C 1x ^C12dies^C 1 ^C12clusters^C 1 ^C12cores^C 8 ^C12threads^C 16 ^C12tpc^C 2 ^C12smt^C enabled ^C12cache^C ^C12L1^C 640 KiB^C
    ^C12desc^C d-8x48 KiB; i-8x32 KiB ^C12L2^C 8 MiB ^C12desc^C 8x1024 KiB ^C12L3^C 16 MiB ^C12desc^C 1x16 MiB^C
  ^C12Speed (MHz)^C ^C12avg^C 1505 ^C12min/max^C 623/5091:3506 ^C12boost^C enabled ^C12scaling^C ^C12driver^C amd-pstate-epp^C
    ^C12governor^C performance ^C12cores^C ^C121^C 1505 ^C122^C 1505 ^C123^C 1505 ^C124^C 1505 ^C125^C 1505 ^C126^C 1505 ^C127^C 1505 ^C128^C 1505 ^C129^C 1505 ^C1210^C 1505^C
    ^C1211^C 1505 ^C1212^C 1505 ^C1213^C 1505 ^C1214^C 1505 ^C1215^C 1505 ^C1216^C 1505 ^C12bogomips^C 63876^C
  ^C12Flags-basic^C avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm^C
  ^C12Vulnerabilities^C^C
  ^C12Type^C gather_data_sampling ^C12status^C Not affected^C
  ^C12Type^C ghostwrite ^C12status^C Not affected^C
  ^C12Type^C indirect_target_selection ^C12status^C Not affected^C
  ^C12Type^C itlb_multihit ^C12status^C Not affected^C
  ^C12Type^C l1tf ^C12status^C Not affected^C
  ^C12Type^C mds ^C12status^C Not affected^C
  ^C12Type^C meltdown ^C12status^C Not affected^C
  ^C12Type^C mmio_stale_data ^C12status^C Not affected^C
  ^C12Type^C old_microcode ^C12status^C Not affected^C
  ^C12Type^C reg_file_data_sampling ^C12status^C Not affected^C
  ^C12Type^C retbleed ^C12status^C Not affected^C
  ^C12Type^C spec_rstack_overflow ^C12mitigation^C IBPB on VMEXIT only^C
  ^C12Type^C spec_store_bypass ^C12mitigation^C Speculative Store Bypass disabled via prctl^C
  ^C12Type^C spectre_v1 ^C12mitigation^C usercopy/swapgs barriers and __user pointer sanitization^C
  ^C12Type^C spectre_v2 ^C^C12mitigation^C Enhanced / Automatic IBRS; IBPB: conditional; STIBP: always-on;^C
    ^CPBRSB-eIBRS: Not affected; BHI: Not affected^C
  ^C12Type^C srbds ^C12status^C Not affected^C
  ^C12Type^C tsa ^C12status^C Not affected^C
  ^C12Type^C tsx_async_abort ^C12status^C Not affected^C
  ^C12Type^C vmscape ^C12mitigation^C IBPB on VMEXIT^C
^C12Graphics:^C
  ^C12Device-1^C Advanced Micro Devices [AMD/ATI] Krackan [Radeon 840M / 860M Graphics] ^C12vendor^C ASUSTeK^C
    ^C12driver^C amdgpu ^C12v^C kernel ^C12arch^C RDNA-3 ^C12code^C Phoenix ^C12process^C TSMC n4 (4nm) ^C12built^C 2023+ ^C12pcie^C ^C12gen^C 4^C
    ^C12speed^C 16 GT/s ^C12lanes^C 16 ^C12ports^C ^C12active^C HDMI-A-1 ^C12off^C eDP-1 ^C^C12empty^C DP-1, DP-2, DP-3, DP-4, DP-5,^C
    ^CDP-6, Writeback-1 ^C12bus-ID^C 05:00.0 ^C12chip-ID^C 1002:1114 ^C12class-ID^C 0380 ^C12temp^C 46.0 C^C
  ^C12Device-2^C [USB Webcam] ^C12driver^C uvcvideo ^C12type^C USB ^C12rev^C 2.0 ^C12speed^C 480 Mb/s^C
    ^C12lanes^C 1 ^C12mode^C 2.0 ^C12bus-ID^C 1-1:2 ^C12chip-ID^C 322e:2339 ^C12class-ID^C fe01 ^C12serial^C <filter>^C
  ^C12Display^C wayland ^C12server^C X.org ^C12v^C 1.21.1.24 ^C12with^C Xwayland ^C12v^C 24.1.13 ^C12compositor^C Hyprland ^C12driver^C^C
    ^C12gpu^C amdgpu^C
  ^C12Monitor-1^C HDMI-A-1 ^C12model^C [External Monitor] ^C12serial^C <filter> ^C12built^C 2024 ^C12res^C 1920x1080 ^C12dpi^C 92 ^C12gamma^C 1.2^C
    ^C12size^C 526x296mm (20.71x11.65") ^C12diag^C 604mm (23.8") ^C12ratio^C 16:9 ^C12modes^C ^C12max^C 1920x1080 ^C12min^C 720x400^C
  ^C12Monitor-2^C eDP-1 ^C12model^C [eDP Panel] ^C12built^C 2024 ^C12res^C 1920x1200 ^C12dpi^C 161 ^C12gamma^C 1.2^C
    ^C12size^C 302x189mm (11.89x7.44") ^C12diag^C 356mm (14") ^C12ratio^C 16:10 ^C12modes^C ^C12max^C 1920x1200 ^C12min^C 640x480^C
  ^C12API^C Vulkan ^C12v^C 1.4.357 ^C12layers^C 6 ^C12device^C 0 ^C12type^C integrated-gpu ^C^C12name^C AMD Radeon 860M Graphics (RADV^C
    ^CKRACKAN1) ^C12driver^C mesa radv ^C12v^C 26.2.2-arch1.1 ^C12device-ID^C 1002:1114 ^C12surfaces^C N/A^C
  ^C12API^C EGL ^C12Message^C EGL data requires eglinfo. Check --recommends.^C
  ^C12Info^C ^C12Tools^C ^C12api^C vulkaninfo ^C12x11^C xprop,xrandr^C
^C12Audio:^C
  ^C12Device-1^C Advanced Micro Devices [AMD/ATI] Radeon High Definition Audio ^C12vendor^C ASUSTeK^C
    ^C12driver^C snd_hda_intel ^C12v^C kernel ^C12pcie^C ^C12gen^C 4 ^C12speed^C 16 GT/s ^C12lanes^C 16 ^C12bus-ID^C 05:00.1 ^C12chip-ID^C 1002:1640^C
    ^C12class-ID^C 0403^C
  ^C12Device-2^C Advanced Micro Devices [AMD] Audio Coprocessor ^C12vendor^C ASUSTeK ^C12driver^C snd_acp_pci^C
    ^C12v^C kernel ^C^C12alternate^C snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_pci_ps,^C
    ^Csnd_pci_acp7x, snd_sof_amd_renoir, snd_sof_amd_rembrandt, snd_sof_amd_vangogh,^C
    ^Csnd_sof_amd_acp63, snd_sof_amd_acp70 ^C12pcie^C ^C12gen^C 4 ^C12speed^C 16 GT/s ^C12lanes^C 16 ^C12bus-ID^C 05:00.5^C
    ^C12chip-ID^C 1022:15e2 ^C12class-ID^C 0480^C
  ^C12Device-3^C Advanced Micro Devices [AMD] Ryzen HD Audio ^C12vendor^C ASUSTeK ^C12driver^C snd_hda_intel^C
    ^C12v^C kernel ^C12pcie^C ^C12gen^C 4 ^C12speed^C 16 GT/s ^C12lanes^C 16 ^C12bus-ID^C 05:00.6 ^C12chip-ID^C 1022:15e3 ^C12class-ID^C 0403^C
  ^C12API^C ALSA ^C12v^C k7.2.3-arch1-3 ^C12status^C kernel-api ^C12tools^C alsactl,alsamixer,amixer^C
  ^C12Server-1^C sndiod ^C12v^C N/A ^C12status^C off ^C12tools^C aucat,midicat,sndioctl^C
  ^C12Server-2^C PipeWire ^C12v^C 1.6.8 ^C12status^C active ^C12with^C ^C121^C pipewire-pulse ^C12status^C active ^C122^C wireplumber^C
    ^C12status^C active ^C123^C pipewire-alsa ^C12type^C plugin ^C124^C pw-jack ^C12type^C plugin ^C12tools^C pactl,pw-cat,pw-cli,wpctl^C
^C12Network:^C
  ^C12Device-1^C Realtek RTL8852BE PCIe 802.11ax Wireless Network ^C12vendor^C AzureWave ^C12driver^C rtw89_8852be^C
    ^C12v^C kernel ^C12pcie^C ^C12gen^C 1 ^C12speed^C 2.5 GT/s ^C12lanes^C 1 ^C12port^C f000 ^C12bus-ID^C 03:00.0 ^C12chip-ID^C 10ec:b852^C
    ^C12class-ID^C 0280^C
  ^C12IF^C wlp3s0 ^C12state^C up ^C12mac^C <filter>^C
  ^C12Device-2^C Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet ^C12vendor^C ASUSTeK^C
    ^C12driver^C r8169 ^C12v^C kernel ^C12pcie^C ^C12gen^C 1 ^C12speed^C 2.5 GT/s ^C12lanes^C 1 ^C12port^C e000 ^C12bus-ID^C 04:00.0^C
    ^C12chip-ID^C 10ec:8168 ^C12class-ID^C 0200^C
  ^C12IF^C enp4s0 ^C12state^C down ^C12mac^C <filter>^C
  ^C12Info^C ^C12services^C NetworkManager, systemd-timesyncd, wpa_supplicant^C
^C12Bluetooth:^C
  ^C12Device-1^C IMC Networks Bluetooth Radio ^C12driver^C btusb ^C12v^C 0.8 ^C12type^C USB ^C12rev^C 1.0 ^C12speed^C  Mb/s ^C12lanes^C 1^C
    ^C12mode^C 1.1 ^C12bus-ID^C 3-5:5 ^C12chip-ID^C 13d3:3571 ^C12class-ID^C e001 ^C12serial^C <filter>^C
  ^C12Report^C btmgmt ^C12ID^C hci0 ^C12rfk-id^C 2 ^C12state^C up ^C12address^C <filter> ^C12bt-v^C 5.2 ^C12lmp-v^C 11 ^C12status^C^C
    ^C12discoverable^C no ^C12pairing^C no ^C12class-ID^C 6c010c^C
^C12Drives:^C
  ^C12Local Storage^C ^C12total^C 476.94 GiB ^C12used^C 73.54 GiB (15.4%)^C
  ^C12SMART Message^C Required tool smartctl not installed. Check --recommends^C
  ^C12ID-1^C /dev/nvme0n1 ^C12maj-min^C 259:0 ^C12vendor^C Western Digital ^C12model^C [NVMe SSD]^C
    ^C12size^C 476.94 GiB ^C12block-size^C ^C12physical^C 512 B ^C12logical^C 512 B ^C12speed^C 63.2 Gb/s ^C12lanes^C 4 ^C12tech^C SSD^C
    ^C12serial^C <filter> ^C12fw-rev^C [NVMe SSD] ^C12temp^C 32.9 C ^C12scheme^C GPT^C
^C12Partition:^C
  ^C12ID-1^C / ^C12raw-size^C 474.92 GiB ^C12size^C 474.92 GiB (100.00%) ^C12used^C 73.32 GiB (15.4%) ^C12fs^C btrfs^C
    ^C12dev^C /dev/dm-0 ^C12maj-min^C 253:0 ^C12mapped^C root^C
  ^C12ID-2^C /boot ^C12raw-size^C 2 GiB ^C12size^C 2 GiB (99.80%) ^C12used^C 217.8 MiB (10.7%) ^C12fs^C vfat ^C12dev^C /dev/nvme0n1p1^C
    ^C12maj-min^C 259:1^C
  ^C12ID-3^C /home ^C12raw-size^C 474.92 GiB ^C12size^C 474.92 GiB (100.00%) ^C12used^C 73.32 GiB (15.4%) ^C12fs^C btrfs^C
    ^C12dev^C /dev/dm-0 ^C12maj-min^C 253:0 ^C12mapped^C root^C
  ^C12ID-4^C /var/log ^C12raw-size^C 474.92 GiB ^C12size^C 474.92 GiB (100.00%) ^C12used^C 73.32 GiB (15.4%) ^C12fs^C btrfs^C
    ^C12dev^C /dev/dm-0 ^C12maj-min^C 253:0 ^C12mapped^C root^C
^C12Swap:^C
  ^C12Kernel^C ^C12swappiness^C 150 (default 60) ^C12cache-pressure^C 50 (default 100) ^C12zswap^C no^C
  ^C12ID-1^C swap-1 ^C12type^C file ^C12size^C 30.46 GiB ^C12used^C 0 KiB (0.0%) ^C12priority^C 0 ^C12file^C /swap/swapfile^C
  ^C12ID-2^C swap-2 ^C12type^C zram ^C12size^C 30.46 GiB ^C12used^C 0 KiB (0.0%) ^C12priority^C 100 ^C12comp^C zstd^C
    ^C12avail^C lzo-rle,lzo,lz4,lz4hc,deflate,842 ^C12dev^C /dev/zram0^C
^C12Sensors:^C
  ^C12System Temperatures^C ^C12cpu^C 54.9 C ^C12mobo^C 43.2 C ^C12gpu^C amdgpu ^C12temp^C 47.0 C^C
  ^C12Fan Speeds (rpm)^C N/A^C
^C12Repos:^C
  ^C12Packages^C ^C12pm^C pacman ^C12pkgs^C 1057 ^C12libs^C 353 ^C12tools^C yay^C
  ^C12Active pacman repo servers in^C /etc/pacman.conf^C
    ^C121 ^Chttps: //pkgs.omarchy.org/stable/$arch^C
  ^C12Active pacman repo servers in^C /etc/pacman.d/mirrorlist^C
    ^C121 ^Chttps: //stable-mirror.omarchy.org/$repo/os/$arch^C
^C12Info:^C
  ^C12Memory^C ^C12total^C 32 GiB ^C12note^C est. ^C12available^C 30.46 GiB ^C12used^C 7.23 GiB (23.7%)^C
  ^C12Processes^C 383 ^C12Power^C ^C12uptime^C h 10m ^C12states^C freeze,mem,disk ^C12suspend^C s2idle ^C12wakeups^C 1^C
    ^C12hibernate^C platform ^C12avail^C shutdown, reboot, suspend, test_resume ^C12image^C .1 GiB^C
    ^C12services^C power-profiles-daemon,upowerd ^C12Init^C systemd ^C12v^C 261 ^C12default^C graphical ^C12tool^C systemctl^C
  ^C12Compilers^C ^C12clang^C 22.1.8 ^C12gcc^C 16.2.1 ^C12Client^C shell wrapper ^C12v^C 5.3.15-release ^C12inxi^C 3.3.41^C

Filed by Gemini 3.7 Flash via Oh My Pi.

View raw text
### System details

AMD Ryzen AI 7 350, AMD Radeon 860M Graphics (amdgpu / Krackan), [ASUS Laptop], Hyprland 0.56.2, quickshell 0.3.1-1, Omarchy 4.0.3-1, Kernel 7.2.3-arch1-3

### What's wrong?

#### Summary
When waking up / resuming from suspend (`s2idle` / sleep), the lock screen becomes unresponsive to keyboard input. The user cannot type their password or interact with the lock surface.

Switching to a TTY (via `Ctrl+Alt+F3`) and switching back to the graphical session (or logging into TTY) triggers a DRM/VT switch, which restores keyboard input focus and allows normal authentication/unlocking.

#### Steps to Reproduce
1. Suspend the machine (e.g. `systemctl suspend` or closing the laptop lid).
2. Wake the machine up.
3. Attempt to type the password into the lock screen prompt.
4. **Observed:** Keyboard input is completely unresponsive / keystrokes are not registered by the lock view.
5. **Workaround:** Switch to TTY (`Ctrl+Alt+F3`) and return to graphical session (TTY1/VT1); the lock screen immediately accepts input again.

#### Relevant Journal Logs (Sanitized)
Below is the resume sequence showing the USB reset, PAM wake relay, and Qt Wayland placeholder screen handling (`Not creating lock surface for screen QScreen(..., name="")`):

```text
systemd-logind[1061]: suspend requested from client PID 1265470 ('systemctl') (unit [email protected])...
systemd-logind[1061]: The system will suspend now!
systemd[1]: Starting Fingerprint Authentication Daemon...
systemd[1]: Started Fingerprint Authentication Daemon.
omarchy-shell[1265646]: quickshell.service.pam.subprocess: Waiting for parent confirmation...
omarchy-shell[1265646]: quickshell.service.pam.subprocess: Starting pam session for user "<user>" with config "omarchy-lock-fingerprint" in dir "/etc/pam.d"
systemd[1]: Starting System Suspend...
systemd-sleep[1265724]: Performing sleep operation 'suspend'...
kernel: PM: suspend entry (s2idle)
kernel: usb 3-4: reset full-speed USB device number 4 using xhci_hcd
kernel: printk: Suspending console(s) (use no_console_suspend to debug)
kernel: amdgpu 0000:05:00.0: SMU is resumed successfully!
kernel: usb 3-5: reset full-speed USB device number 5 using xhci_hcd
systemd-sleep[1265724]: System returned from sleep operation 'suspend'.
kernel: PM: suspend exit
systemd[1]: systemd-suspend.service: Deactivated successfully.
systemd[1]: Finished System Suspend.
systemd-logind[1061]: Operation 'suspend' finished.
omarchy-shell[1265646]: quickshell.service.pam.subprocess: Relaying pam message: "Place your finger on the fingerprint reader" echo: 1 error: 0 responseRequired: 0
omarchy-shell[1362]:   INFO qt.qpa.wayland: There are no outputs - creating placeholder screen
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb94a5c6240, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb94a5c6240, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb94a5c6240, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb94a5c6240, name="") as it is not backed by a valid wayland output.
systemd[1136]: Started Lock Omarchy before suspend.
omarchy-shell[1362]:   INFO qt.qpa.wayland: There are no outputs - creating placeholder screen
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb92a77d0f0, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb92a77d0f0, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb92a77d0f0, name="") as it is not backed by a valid wayland output.
omarchy-shell[1362]:  DEBUG: Not creating lock surface for screen QScreen(0x7fb92a77d0f0, name="") as it is not backed by a valid wayland output.
omarchy-shell[1265646]: quickshell.service.pam.subprocess: Authenticated successfully.
omarchy-shell[1362]:  DEBUG qml: omarchy lock 2026-09-10T18:49:54.042Z session-locked=false
systemd[1]: fprintd.service: Deactivated successfully.
login[1270865]: pam_unix(login:session): session opened for user <user>(uid=1000) by <user>(uid=0)
```

#### Investigation Hypotheses & Technical Context
1. **`ext-session-lock-v1` vs QtWayland Placeholder Output Desync:**
   - In `shell/plugins/lock/Service.qml`, guard logic (`hasRealScreen()`, `sessionLockStabilizeTimer`, `checkStrandedLock()`) handles session lock setup.
   - When returning from sleep, `qt.qpa.wayland` temporarily registers placeholder screens (`name=""`), causing `WlSessionLockSurface` to ignore them. When real outputs are restored, keyboard focus may fail to attach to the lock surface until a DRM/VT transition forces compositor surface and focus re-evaluation.
2. **PAM / Subprocess State on USB Reset:**
   - USB resets occurring at the exact resume moment could interact with the PAM fingerprint / password auth state in Quickshell, potentially causing input focus or handlers to stall until a display reset.

#### System Diagnostics (`omarchy-debug`)
<details>
<summary>Click to expand system information</summary>

```text
^C12System:^C
  ^C12Kernel^C 7.2.3-arch1-3 ^C12arch^C x86_64 ^C12bits^C 64 ^C12compiler^C gcc ^C12v^C 16.2.1 ^C12clocksource^C tsc ^C12avail^C hpet,acpi_pm^C
    ^C^C12parameters^C cryptdevice=PARTUUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:root root=/dev/mapper/root^C
    ^Czswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs rtc_cmos.use_acpi_alarm=1^C
    ^Cresume=/dev/mapper/root resume_offset=xxxxxx initramfs_async=0 quiet splash loglevel=0^C
    ^Csystemd.show_status=false rd.udev.log_level=0 vt.global_cursor_default=0^C
  ^C12Desktop^C Hyprland ^C12v^C N/A ^C12vt^C 1 ^C12dm^C SDDM ^C12Distro^C Omarchy^C
^C12Machine:^C
  ^C12Type^C Laptop ^C12System^C ASUSTeK ^C12product^C [ASUS Laptop] ^C12v^C 1.0 ^C12serial^C <superuser required>^C
  ^C12Mobo^C ASUSTeK ^C12model^C [ASUS Laptop] ^C12v^C 1.0 ^C12serial^C <superuser required> ^C12uuid^C <superuser required>^C
    ^C12Firmware^C UEFI ^C12vendor^C ASUSTeK (Licensed by AMI LLC.) ^C12v^C [BIOS Version] ^C12date^C 06/09/2026^C
^C12Battery:^C
  ^C12ID-1^C BATT ^C12charge^C <filter> ^C12condition^C <filter> ^C12volts^C <filter> ^C12min^C <filter>^C
    ^C12model^C ASUSTeK [Battery] ^C12type^C Unknown ^C12serial^C <filter> ^C12charging^C ^C12status^C not charging ^C12control^C^C
    ^C12start^C N/A ^C12end^C 80% ^C12cycles^C <filter>^C
  ^C12Device-1^C hidpp_battery_0 ^C12model^C [Wireless Mouse] ^C12serial^C <filter>^C
    ^C^C12charge^C 100% (should be ignored) ^C12rechargeable^C yes ^C12status^C discharging^C
^C12CPU:^C
  ^C12Info^C ^C12model^C AMD Ryzen AI 7 350 w/ Radeon 860M ^C12bits^C 64 ^C12type^C MT MCP ^C12arch^C Zen 6 ^C12note^C 6 ^C12level^C v4^C
    ^C12note^C check ^C12built^C 2026+ ^C12process^C TSMC n2/n3 (2,3nm) ^C12family^C 0x1A (26) ^C12model-id^C 0x60 (96) ^C12stepping^C 0^C
    ^C12microcode^C 0xB600037^C
  ^C12Topology^C ^C12cpus^C 1x ^C12dies^C 1 ^C12clusters^C 1 ^C12cores^C 8 ^C12threads^C 16 ^C12tpc^C 2 ^C12smt^C enabled ^C12cache^C ^C12L1^C 640 KiB^C
    ^C12desc^C d-8x48 KiB; i-8x32 KiB ^C12L2^C 8 MiB ^C12desc^C 8x1024 KiB ^C12L3^C 16 MiB ^C12desc^C 1x16 MiB^C
  ^C12Speed (MHz)^C ^C12avg^C 1505 ^C12min/max^C 623/5091:3506 ^C12boost^C enabled ^C12scaling^C ^C12driver^C amd-pstate-epp^C
    ^C12governor^C performance ^C12cores^C ^C121^C 1505 ^C122^C 1505 ^C123^C 1505 ^C124^C 1505 ^C125^C 1505 ^C126^C 1505 ^C127^C 1505 ^C128^C 1505 ^C129^C 1505 ^C1210^C 1505^C
    ^C1211^C 1505 ^C1212^C 1505 ^C1213^C 1505 ^C1214^C 1505 ^C1215^C 1505 ^C1216^C 1505 ^C12bogomips^C 63876^C
  ^C12Flags-basic^C avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm^C
  ^C12Vulnerabilities^C^C
  ^C12Type^C gather_data_sampling ^C12status^C Not affected^C
  ^C12Type^C ghostwrite ^C12status^C Not affected^C
  ^C12Type^C indirect_target_selection ^C12status^C Not affected^C
  ^C12Type^C itlb_multihit ^C12status^C Not affected^C
  ^C12Type^C l1tf ^C12status^C Not affected^C
  ^C12Type^C mds ^C12status^C Not affected^C
  ^C12Type^C meltdown ^C12status^C Not affected^C
  ^C12Type^C mmio_stale_data ^C12status^C Not affected^C
  ^C12Type^C old_microcode ^C12status^C Not affected^C
  ^C12Type^C reg_file_data_sampling ^C12status^C Not affected^C
  ^C12Type^C retbleed ^C12status^C Not affected^C
  ^C12Type^C spec_rstack_overflow ^C12mitigation^C IBPB on VMEXIT only^C
  ^C12Type^C spec_store_bypass ^C12mitigation^C Speculative Store Bypass disabled via prctl^C
  ^C12Type^C spectre_v1 ^C12mitigation^C usercopy/swapgs barriers and __user pointer sanitization^C
  ^C12Type^C spectre_v2 ^C^C12mitigation^C Enhanced / Automatic IBRS; IBPB: conditional; STIBP: always-on;^C
    ^CPBRSB-eIBRS: Not affected; BHI: Not affected^C
  ^C12Type^C srbds ^C12status^C Not affected^C
  ^C12Type^C tsa ^C12status^C Not affected^C
  ^C12Type^C tsx_async_abort ^C12status^C Not affected^C
  ^C12Type^C vmscape ^C12mitigation^C IBPB on VMEXIT^C
^C12Graphics:^C
  ^C12Device-1^C Advanced Micro Devices [AMD/ATI] Krackan [Radeon 840M / 860M Graphics] ^C12vendor^C ASUSTeK^C
    ^C12driver^C amdgpu ^C12v^C kernel ^C12arch^C RDNA-3 ^C12code^C Phoenix ^C12process^C TSMC n4 (4nm) ^C12built^C 2023+ ^C12pcie^C ^C12gen^C 4^C
    ^C12speed^C 16 GT/s ^C12lanes^C 16 ^C12ports^C ^C12active^C HDMI-A-1 ^C12off^C eDP-1 ^C^C12empty^C DP-1, DP-2, DP-3, DP-4, DP-5,^C
    ^CDP-6, Writeback-1 ^C12bus-ID^C 05:00.0 ^C12chip-ID^C 1002:1114 ^C12class-ID^C 0380 ^C12temp^C 46.0 C^C
  ^C12Device-2^C [USB Webcam] ^C12driver^C uvcvideo ^C12type^C USB ^C12rev^C 2.0 ^C12speed^C 480 Mb/s^C
    ^C12lanes^C 1 ^C12mode^C 2.0 ^C12bus-ID^C 1-1:2 ^C12chip-ID^C 322e:2339 ^C12class-ID^C fe01 ^C12serial^C <filter>^C
  ^C12Display^C wayland ^C12server^C X.org ^C12v^C 1.21.1.24 ^C12with^C Xwayland ^C12v^C 24.1.13 ^C12compositor^C Hyprland ^C12driver^C^C
    ^C12gpu^C amdgpu^C
  ^C12Monitor-1^C HDMI-A-1 ^C12model^C [External Monitor] ^C12serial^C <filter> ^C12built^C 2024 ^C12res^C 1920x1080 ^C12dpi^C 92 ^C12gamma^C 1.2^C
    ^C12size^C 526x296mm (20.71x11.65") ^C12diag^C 604mm (23.8") ^C12ratio^C 16:9 ^C12modes^C ^C12max^C 1920x1080 ^C12min^C 720x400^C
  ^C12Monitor-2^C eDP-1 ^C12model^C [eDP Panel] ^C12built^C 2024 ^C12res^C 1920x1200 ^C12dpi^C 161 ^C12gamma^C 1.2^C
    ^C12size^C 302x189mm (11.89x7.44") ^C12diag^C 356mm (14") ^C12ratio^C 16:10 ^C12modes^C ^C12max^C 1920x1200 ^C12min^C 640x480^C
  ^C12API^C Vulkan ^C12v^C 1.4.357 ^C12layers^C 6 ^C12device^C 0 ^C12type^C integrated-gpu ^C^C12name^C AMD Radeon 860M Graphics (RADV^C
    ^CKRACKAN1) ^C12driver^C mesa radv ^C12v^C 26.2.2-arch1.1 ^C12device-ID^C 1002:1114 ^C12surfaces^C N/A^C
  ^C12API^C EGL ^C12Message^C EGL data requires eglinfo. Check --recommends.^C
  ^C12Info^C ^C12Tools^C ^C12api^C vulkaninfo ^C12x11^C xprop,xrandr^C
^C12Audio:^C
  ^C12Device-1^C Advanced Micro Devices [AMD/ATI] Radeon High Definition Audio ^C12vendor^C ASUSTeK^C
    ^C12driver^C snd_hda_intel ^C12v^C kernel ^C12pcie^C ^C12gen^C 4 ^C12speed^C 16 GT/s ^C12lanes^C 16 ^C12bus-ID^C 05:00.1 ^C12chip-ID^C 1002:1640^C
    ^C12class-ID^C 0403^C
  ^C12Device-2^C Advanced Micro Devices [AMD] Audio Coprocessor ^C12vendor^C ASUSTeK ^C12driver^C snd_acp_pci^C
    ^C12v^C kernel ^C^C12alternate^C snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x, snd_pci_ps,^C
    ^Csnd_pci_acp7x, snd_sof_amd_renoir, snd_sof_amd_rembrandt, snd_sof_amd_vangogh,^C
    ^Csnd_sof_amd_acp63, snd_sof_amd_acp70 ^C12pcie^C ^C12gen^C 4 ^C12speed^C 16 GT/s ^C12lanes^C 16 ^C12bus-ID^C 05:00.5^C
    ^C12chip-ID^C 1022:15e2 ^C12class-ID^C 0480^C
  ^C12Device-3^C Advanced Micro Devices [AMD] Ryzen HD Audio ^C12vendor^C ASUSTeK ^C12driver^C snd_hda_intel^C
    ^C12v^C kernel ^C12pcie^C ^C12gen^C 4 ^C12speed^C 16 GT/s ^C12lanes^C 16 ^C12bus-ID^C 05:00.6 ^C12chip-ID^C 1022:15e3 ^C12class-ID^C 0403^C
  ^C12API^C ALSA ^C12v^C k7.2.3-arch1-3 ^C12status^C kernel-api ^C12tools^C alsactl,alsamixer,amixer^C
  ^C12Server-1^C sndiod ^C12v^C N/A ^C12status^C off ^C12tools^C aucat,midicat,sndioctl^C
  ^C12Server-2^C PipeWire ^C12v^C 1.6.8 ^C12status^C active ^C12with^C ^C121^C pipewire-pulse ^C12status^C active ^C122^C wireplumber^C
    ^C12status^C active ^C123^C pipewire-alsa ^C12type^C plugin ^C124^C pw-jack ^C12type^C plugin ^C12tools^C pactl,pw-cat,pw-cli,wpctl^C
^C12Network:^C
  ^C12Device-1^C Realtek RTL8852BE PCIe 802.11ax Wireless Network ^C12vendor^C AzureWave ^C12driver^C rtw89_8852be^C
    ^C12v^C kernel ^C12pcie^C ^C12gen^C 1 ^C12speed^C 2.5 GT/s ^C12lanes^C 1 ^C12port^C f000 ^C12bus-ID^C 03:00.0 ^C12chip-ID^C 10ec:b852^C
    ^C12class-ID^C 0280^C
  ^C12IF^C wlp3s0 ^C12state^C up ^C12mac^C <filter>^C
  ^C12Device-2^C Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet ^C12vendor^C ASUSTeK^C
    ^C12driver^C r8169 ^C12v^C kernel ^C12pcie^C ^C12gen^C 1 ^C12speed^C 2.5 GT/s ^C12lanes^C 1 ^C12port^C e000 ^C12bus-ID^C 04:00.0^C
    ^C12chip-ID^C 10ec:8168 ^C12class-ID^C 0200^C
  ^C12IF^C enp4s0 ^C12state^C down ^C12mac^C <filter>^C
  ^C12Info^C ^C12services^C NetworkManager, systemd-timesyncd, wpa_supplicant^C
^C12Bluetooth:^C
  ^C12Device-1^C IMC Networks Bluetooth Radio ^C12driver^C btusb ^C12v^C 0.8 ^C12type^C USB ^C12rev^C 1.0 ^C12speed^C  Mb/s ^C12lanes^C 1^C
    ^C12mode^C 1.1 ^C12bus-ID^C 3-5:5 ^C12chip-ID^C 13d3:3571 ^C12class-ID^C e001 ^C12serial^C <filter>^C
  ^C12Report^C btmgmt ^C12ID^C hci0 ^C12rfk-id^C 2 ^C12state^C up ^C12address^C <filter> ^C12bt-v^C 5.2 ^C12lmp-v^C 11 ^C12status^C^C
    ^C12discoverable^C no ^C12pairing^C no ^C12class-ID^C 6c010c^C
^C12Drives:^C
  ^C12Local Storage^C ^C12total^C 476.94 GiB ^C12used^C 73.54 GiB (15.4%)^C
  ^C12SMART Message^C Required tool smartctl not installed. Check --recommends^C
  ^C12ID-1^C /dev/nvme0n1 ^C12maj-min^C 259:0 ^C12vendor^C Western Digital ^C12model^C [NVMe SSD]^C
    ^C12size^C 476.94 GiB ^C12block-size^C ^C12physical^C 512 B ^C12logical^C 512 B ^C12speed^C 63.2 Gb/s ^C12lanes^C 4 ^C12tech^C SSD^C
    ^C12serial^C <filter> ^C12fw-rev^C [NVMe SSD] ^C12temp^C 32.9 C ^C12scheme^C GPT^C
^C12Partition:^C
  ^C12ID-1^C / ^C12raw-size^C 474.92 GiB ^C12size^C 474.92 GiB (100.00%) ^C12used^C 73.32 GiB (15.4%) ^C12fs^C btrfs^C
    ^C12dev^C /dev/dm-0 ^C12maj-min^C 253:0 ^C12mapped^C root^C
  ^C12ID-2^C /boot ^C12raw-size^C 2 GiB ^C12size^C 2 GiB (99.80%) ^C12used^C 217.8 MiB (10.7%) ^C12fs^C vfat ^C12dev^C /dev/nvme0n1p1^C
    ^C12maj-min^C 259:1^C
  ^C12ID-3^C /home ^C12raw-size^C 474.92 GiB ^C12size^C 474.92 GiB (100.00%) ^C12used^C 73.32 GiB (15.4%) ^C12fs^C btrfs^C
    ^C12dev^C /dev/dm-0 ^C12maj-min^C 253:0 ^C12mapped^C root^C
  ^C12ID-4^C /var/log ^C12raw-size^C 474.92 GiB ^C12size^C 474.92 GiB (100.00%) ^C12used^C 73.32 GiB (15.4%) ^C12fs^C btrfs^C
    ^C12dev^C /dev/dm-0 ^C12maj-min^C 253:0 ^C12mapped^C root^C
^C12Swap:^C
  ^C12Kernel^C ^C12swappiness^C 150 (default 60) ^C12cache-pressure^C 50 (default 100) ^C12zswap^C no^C
  ^C12ID-1^C swap-1 ^C12type^C file ^C12size^C 30.46 GiB ^C12used^C 0 KiB (0.0%) ^C12priority^C 0 ^C12file^C /swap/swapfile^C
  ^C12ID-2^C swap-2 ^C12type^C zram ^C12size^C 30.46 GiB ^C12used^C 0 KiB (0.0%) ^C12priority^C 100 ^C12comp^C zstd^C
    ^C12avail^C lzo-rle,lzo,lz4,lz4hc,deflate,842 ^C12dev^C /dev/zram0^C
^C12Sensors:^C
  ^C12System Temperatures^C ^C12cpu^C 54.9 C ^C12mobo^C 43.2 C ^C12gpu^C amdgpu ^C12temp^C 47.0 C^C
  ^C12Fan Speeds (rpm)^C N/A^C
^C12Repos:^C
  ^C12Packages^C ^C12pm^C pacman ^C12pkgs^C 1057 ^C12libs^C 353 ^C12tools^C yay^C
  ^C12Active pacman repo servers in^C /etc/pacman.conf^C
    ^C121 ^Chttps: //pkgs.omarchy.org/stable/$arch^C
  ^C12Active pacman repo servers in^C /etc/pacman.d/mirrorlist^C
    ^C121 ^Chttps: //stable-mirror.omarchy.org/$repo/os/$arch^C
^C12Info:^C
  ^C12Memory^C ^C12total^C 32 GiB ^C12note^C est. ^C12available^C 30.46 GiB ^C12used^C 7.23 GiB (23.7%)^C
  ^C12Processes^C 383 ^C12Power^C ^C12uptime^C h 10m ^C12states^C freeze,mem,disk ^C12suspend^C s2idle ^C12wakeups^C 1^C
    ^C12hibernate^C platform ^C12avail^C shutdown, reboot, suspend, test_resume ^C12image^C .1 GiB^C
    ^C12services^C power-profiles-daemon,upowerd ^C12Init^C systemd ^C12v^C 261 ^C12default^C graphical ^C12tool^C systemctl^C
  ^C12Compilers^C ^C12clang^C 22.1.8 ^C12gcc^C 16.2.1 ^C12Client^C shell wrapper ^C12v^C 5.3.15-release ^C12inxi^C 3.3.41^C
```

</details>

---
Filed by Gemini 3.7 Flash via Oh My Pi.

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

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.

  • DuplicateR-1214Decided by agents · verified · 2026-10-08 23:29 UTC