INC-2026-04-07-002: Hyprland Built-in Keyboard Failure on modestus-razer

Incident Summary

Field Value

Detected

2026-04-07 06:23 PST

Mitigated

2026-04-07 ~11:00 PST (manual symlink recreated)

Resolved

2026-04-07 ~11:15 PST (root cause identified, permanent fix designed)

Duration

~5 hours (3+ hours active investigation)

Severity

P2 (High) — Primary workstation built-in keyboard non-functional in compositor.

Impact

Razer Blade built-in keyboard unusable in Hyprland. All keybinds dead. External Kinesis Advantage 360 Pro worked as workaround.

Root Cause

Commit 64253e7 deleted hyprland/.config/hypr/env-gpu.conf symlink from git tracking. Since ~/.config/hypr is a directory symlink to the stow package, the deletion removed the GPU config file from the deployed path. Hyprland’s source = ~/.config/hypr/env-gpu.conf (line 113) failed silently, causing the compositor to initialize without NVIDIA GPU environment variables (GBM_BACKEND, LIBVA_DRIVER_NAME, etc.). Without correct GPU initialization, the compositor entered a degraded state where USB HID input devices (the Razer built-in keyboard) did not function, while virtual HID devices (Kinesis via uhid) continued to work.

Environment

Property Value

Machine

modestus-razer (Razer Blade 18 2025)

CPU

Intel Core Ultra 9 275HX (24 cores)

GPU

Intel Arrow Lake-S iGPU + NVIDIA RTX 5090 Max-Q

Kernel

6.19.11-arch1-1

Hyprland

0.54.3-2

Built-in Keyboard

Razer Razer Blade (USB 1532:02C7, 3 HID interfaces)

External Keyboard

Kinesis Advantage 360 Pro (USB 1D50:615E, uhid virtual HID)

Dotfiles Repo

dots-quantum (GNU Stow managed, ~/.config/hypr → stow package directory)

Timeline

Time Event

~Apr 4

Commit 64253e7 deletes env-gpu.conf symlink from dots-quantum hyprland package.

Apr 6 evening

On Razer: git pull brings in the deletion. git reset --hard origin/main ensures clean state. env-gpu.conf disappears from ~/.config/hypr/. User manually recreates symlink but Hyprland is already in degraded state.

Apr 7 06:23

User discovers Super key dead on built-in keyboard. Investigation begins.

Apr 7 06:30

SSH access to Razer established via reverse tunnel (INC-2026-04-07-001).

Apr 7 06:50-08:00

Phase 1-2: Config comparison (md5 identical), session state investigation, package upgrade. All eliminated.

Apr 7 08:00-08:30

Phase 3-4: hyprctl devices shows zero keyboards. Input group missing from user. openrazer udev rule overriding group. Fixed with usermod -aG input and udev override rule.

Apr 7 08:30-09:15

Phase 5-6: openrazer daemon stopped, razerkbd kernel module unloaded. Raw evdev returns zero bytes from Razer keyboard. Kinesis works. Multiple reboots.

Apr 7 09:15-10:30

Phase 7: Hyprland -c /dev/null test — built-in keyboard doesn’t work. USB device reset attempted. Git checkout of known-good commit 34065dc.

Apr 7 ~10:40

Breakthrough: At commit 34065dc, built-in keyboard works. Source error visible for env-gpu.conf. Back at main, env-gpu.conf is missing from stow package.

Apr 7 ~11:00

Manual symlink recreation: ln -sf hosts/razer/env-gpu.conf hyprland/.config/hypr/env-gpu.conf. Hyprland restarted. Built-in keyboard works.

Apr 7 ~11:15

Root cause confirmed. Permanent fix designed: replace symlink-based sourcing with hostname-based path in hyprland.conf.

Metadata

Field Value

Incident ID

INC-2026-04-07-002

Author

Evan Rosado

Created

2026-04-07

Last Updated

2026-04-07

Status

Resolved

Root Cause Commit

64253e7 — deleted env-gpu.conf symlink from hyprland stow package

Fix Commit

Pending — replace line 113 with $HOST-based source path

Post-Incident Review

Complete