feat: add start-hyprland watchdog override for uwsm session

Hyprland 0.53+ requires launching via start-hyprland (watchdog) for
proper crash diagnostics and signal handling. Without it a warning
banner appears on login.

Override package-managed hyprland.desktop with local copy pointing to
start-hyprland. XDG_DATA_DIRS priority ensures the override wins
without modifying system files.

- ansible/roles/hyprland/tasks/main.yml: manage override in ~/.local/share/wayland-sessions/
- docs/adr/0004-start-hyprland-override.md: full decision record
- docs/hyprland-uwsm.md: document override behavior
This commit is contained in:
ja
2026-05-21 11:15:14 +02:00
parent f81c789683
commit ee592cc21b
3 changed files with 96 additions and 3 deletions
+12
View File
@@ -55,6 +55,18 @@ hypr launcher config: `~/.config/hypr/hyprlauncher.conf`
Config: `/etc/greetd/config.toml`
Default command: `tuigreet --time --remember --asterisks --cmd 'uwsm start -e -D Hyprland hyprland.desktop'`
### Wayland Session Override (start-hyprland)
The package provides `/usr/share/wayland-sessions/hyprland.desktop` with
`Exec=Hyprland` (direct binary), but Hyprland 0.53+ requires launching through
`start-hyprland` (watchdog parent process) for crash diagnostics and proper
signal handling. Otherwise a warning banner appears on login.
A local override at `~/.local/share/wayland-sessions/hyprland.desktop` sets
`Exec=start-hyprland`, which uwsm then manages inside the systemd session.
XDG_DATA_DIRS priority ensures the override wins without touching system files.
Managed by Ansible role `hyprland` — see `docs/adr/0004-start-hyprland-override.md`.
## Key Categories
| Category | Modifier | Keys | Action |