From a9391c90f07a564693bb1994f4f8fe6470efb3a2 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Fri, 24 Jul 2026 23:16:56 -0500 Subject: fix(installer): harden the lock path against the AMD-iGPU DPMS lockout An idle lock on this Strix Halo box wedged the whole session: hyprlock died and the compositor stayed locked with no prompt, recoverable only from a console. It's a documented AMD-integrated-Radeon failure (hyprlock#953, Hyprland#5822) -- a display power cycle via DPMS invalidates the GPU resources the lock client holds, so hyprlock loses its surface and exits without unlocking. No coredump, no OOM; the GPU pulls the rug out. Two installer changes, both scoped and tested: update_grub_cmdline adds amdgpu.runpm=0 on AMD machines only. Disabling GPU runtime power management keeps those resources valid across a display cycle -- the root fix. A no-op on Intel/NVIDIA, and it rides the existing merge so no boot-critical token is touched. configure_hyprlock_pam writes a complete PAM stack. The hyprlock package ships only `auth include login`, leaving account and session uninitialised so pam_end() crashes on cleanup -- a separate documented lockout cause. All three phases now resolve through login, inheriting the keyring the graphical login uses. CALL_SITES pins both new wirings. 372 unit tests, exit 0; each addition proven by reverting it. --- tests/installer-steps/test_orchestrators.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests/installer-steps/test_orchestrators.py') diff --git a/tests/installer-steps/test_orchestrators.py b/tests/installer-steps/test_orchestrators.py index 8de75cc..a2b235b 100644 --- a/tests/installer-steps/test_orchestrators.py +++ b/tests/installer-steps/test_orchestrators.py @@ -169,6 +169,8 @@ CALL_SITES = { "configure_snapshots": ["configure_zfs_snapshots", "configure_btrfs_snapshots"], "configure_zfs_snapshots": ["zfs_scrub_timer_units"], "install_maintenance_config": ["install_maintenance_thresholds"], + "hyprland": ["configure_hyprlock_pam"], + "update_grub_cmdline": ["detect_gpu_vendors"], } -- cgit v1.2.3