Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
SDDM greeter defaults to us keymap instead of the one selected on install
Reported by hugochinchilla · filed May 27, 2026Closed upstream on 2026-07-18 by dhh. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not evidence of a fix.
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
System details
- Omarchy 3.8.2 (updated 2026-05-27)
- ThinkPad
- Hyprland 0.55.2 (was 0.54.3)
- hyprlock 0.9.5-4 (was 0.9.5-2)
- SDDM 0.21.0-7 (was 0.21.0-6)
What's wrong?
SDDM greeter rejects correct password after 3.8.x update — greeter falls back to us keymap because installer only patches ~/.config/hypr/input.conf
System details
- Omarchy 3.8.2 (updated 2026-05-27)
- ThinkPad
- Hyprland 0.55.2 (was 0.54.3)
- hyprlock 0.9.5-4 (was 0.9.5-2)
- SDDM 0.21.0-7 (was 0.21.0-6)
- util-linux 2.42.1
- System keyboard layout:
es(Spanish, Spain) — set vialocalectl /etc/vconsole.conf:XKBLAYOUT=es/etc/X11/xorg.conf.d/00-keyboard.conf:XkbLayout "es"~/.config/hypr/input.conf:kb_layout = es(correctly written by installer)
What's wrong?
After today's omarchy-update (the 3.8.x family bump that included Hyprland 0.54.3 → 0.55.2 and SDDM 0.21.0-6 → 0.21.0-7), the SDDM greeter (omarchy theme) rejected my correct password on two consecutive hyprland crashes (unrelated).
Symptoms:
- SDDM autologin into Hyprland succeeded at boot.
- After the session ended (compositor crashed / I logged out), SDDM showed the omarchy greeter and refused my password.
- Resetting
faillockfrom a TTY did not help — the rejection is not faillock-related. - The greeter UI is the themed omarchy SDDM screen (looks similar to the LUKS unlock screen: omarchy logo + password input).
Root cause appears to be that the SDDM greeter runs its own embedded Hyprland as the display server:
sddm-helper-start-wayland: Starting Wayland process "start-hyprland -- --config /usr/share/sddm/hyprland.conf"and /usr/share/sddm/hyprland.conf is shipped without any input { kb_layout = ... }. The installer's ~/.local/share/omarchy/install/config/detect-keyboard-layout.sh only patches ~/.config/hypr/input.conf, never /usr/share/sddm/hyprland.conf. So the greeter defaults to us, and any password containing characters that differ between us and the user's actual layout (@, /, :, _, accented chars, dead keys, etc.) is silently translated to the wrong string before reaching PAM.
PAM logs match: every failure is a plain pam_unix Authentication failure from sddm-helper, with no pam_faillock / "account locked" messages anywhere — i.e. PAM is being told the wrong password, not refusing a locked account.
Steps to reproduce
- Install Omarchy with a non-
uskeyboard layout (e.g.es) — installer correctly writeskb_layout = esinto~/.config/hypr/input.conf. - Use a password containing at least one character whose position differs between
usand the chosen layout (e.g./,@,:,_,-). - Lock the screen / log out / let Hyprland crash so SDDM falls back to manual auth.
- Type the correct password at the SDDM greeter.
- PAM rejects with
Authentication failure.
Relevant logs
May 27 18:02:39 thinkpad sddm-helper-start-wayland[10406]: Starting Wayland process "start-hyprland -- --config /usr/share/sddm/hyprland.conf"
May 27 18:02:42 thinkpad sddm-helper-start-wayland[10406]: "Warning: Virtual modifier Hyper multiply defined / Using 0, ignoring 0"
May 27 18:02:42 thinkpad sddm-helper-start-wayland[10406]: "Warning: Multiple symbols for level 1/group 1 on key <FK23>"
May 27 18:02:50 thinkpad sddm-helper[10526]: [PAM] authenticate: Authentication failure
May 27 18:02:50 thinkpad sddm[1223]: Authentication error: SDDM::Auth::ERROR_AUTHENTICATION "Authentication failure"
May 27 18:03:00 thinkpad sddm-helper[10545]: [PAM] authenticate: Authentication failure
May 27 18:03:08 thinkpad sddm-helper[10549]: [PAM] authenticate: Authentication failure
May 27 18:03:22 thinkpad sddm-helper[10620]: [PAM] authenticate: Authentication failure
May 27 18:05:45 thinkpad sddm-helper[11399]: [PAM] authenticate: Authentication failureBoot before this one — autologin succeeded, confirming the on-disk password hash is correct:
May 27 17:49:18 thinkpad sddm-helper[1239]: pam_unix(sddm-autologin:session): session opened for user hchinchilla(uid=1000) by hchinchilla(uid=0)Notably, no pam_faillock messages exist at any point in either boot — so faillock --reset doesn't help and is the wrong lever.
Local workaround that fixes it
Added the following to /usr/share/sddm/hyprland.conf:
input {
kb_layout = es
}Suggested fix
Either:
- Extend
~/.local/share/omarchy/install/config/detect-keyboard-layout.sh(and any post-update migration) to also injectinput { kb_layout = ... }into/usr/share/sddm/hyprland.confwhenever it updates~/.config/hypr/input.conf. Ship a pacman hook to re-apply onsddmupgrades. - Or have the omarchy SDDM theme/greeter wrapper read
XKBLAYOUTfrom/etc/vconsole.conf(orlocalectl --no-pager status) at start and pass--kb-layoutaccordingly, so the greeter always tracks the system layout.
Related issues
- #4238 — Setting keyboard input to polish on setup doesn't correctly apply it to config (same install-time-propagation gap, but for the main session). Same workaround pattern.
- #5754 — Hyprlock uses QWERTY layout after update to 3.8.0 despite system layout being AZERTY (same family, in hyprlock).
- #4583 — Weird behaviour with multiple keyboard layouts.
- #2454 — Keyboard shortcuts are messed up after installation on dual-language system.
- #2148 (closed) — locale key mapping gone post install (Norwegian; same workaround).
View raw text
### System details
- Omarchy 3.8.2 (updated 2026-05-27)
- ThinkPad
- Hyprland 0.55.2 (was 0.54.3)
- hyprlock 0.9.5-4 (was 0.9.5-2)
- SDDM 0.21.0-7 (was 0.21.0-6)
### What's wrong?
SDDM greeter rejects correct password after 3.8.x update — greeter falls back to `us` keymap because installer only patches `~/.config/hypr/input.conf`
## System details
- Omarchy 3.8.2 (updated 2026-05-27)
- ThinkPad
- Hyprland 0.55.2 (was 0.54.3)
- hyprlock 0.9.5-4 (was 0.9.5-2)
- SDDM 0.21.0-7 (was 0.21.0-6)
- util-linux 2.42.1
- System keyboard layout: `es` (Spanish, Spain) — set via `localectl`
- `/etc/vconsole.conf`: `XKBLAYOUT=es`
- `/etc/X11/xorg.conf.d/00-keyboard.conf`: `XkbLayout "es"`
- `~/.config/hypr/input.conf`: `kb_layout = es` (correctly written by installer)
## What's wrong?
After today's `omarchy-update` (the 3.8.x family bump that included Hyprland 0.54.3 → 0.55.2 and SDDM 0.21.0-6 → 0.21.0-7), the SDDM greeter (omarchy theme) rejected my correct password on two consecutive hyprland crashes (unrelated).
Symptoms:
- SDDM autologin into Hyprland **succeeded** at boot.
- After the session ended (compositor crashed / I logged out), SDDM showed the omarchy greeter and refused my password.
- Resetting `faillock` from a TTY did **not** help — the rejection is not faillock-related.
- The greeter UI is the themed omarchy SDDM screen (looks similar to the LUKS unlock screen: omarchy logo + password input).
Root cause appears to be that the SDDM greeter runs its own **embedded Hyprland** as the display server:
```
sddm-helper-start-wayland: Starting Wayland process "start-hyprland -- --config /usr/share/sddm/hyprland.conf"
```
and `/usr/share/sddm/hyprland.conf` is shipped without any `input { kb_layout = ... }`. The installer's `~/.local/share/omarchy/install/config/detect-keyboard-layout.sh` only patches `~/.config/hypr/input.conf`, never `/usr/share/sddm/hyprland.conf`. So the greeter defaults to `us`, and any password containing characters that differ between `us` and the user's actual layout (`@`, `/`, `:`, `_`, accented chars, dead keys, etc.) is silently translated to the wrong string before reaching PAM.
PAM logs match: every failure is a plain `pam_unix` `Authentication failure` from `sddm-helper`, with **no** `pam_faillock` / "account locked" messages anywhere — i.e. PAM is being told the wrong password, not refusing a locked account.
## Steps to reproduce
1. Install Omarchy with a non-`us` keyboard layout (e.g. `es`) — installer correctly writes `kb_layout = es` into `~/.config/hypr/input.conf`.
2. Use a password containing at least one character whose position differs between `us` and the chosen layout (e.g. `/`, `@`, `:`, `_`, `-`).
3. Lock the screen / log out / let Hyprland crash so SDDM falls back to manual auth.
4. Type the correct password at the SDDM greeter.
5. PAM rejects with `Authentication failure`.
## Relevant logs
```text
May 27 18:02:39 thinkpad sddm-helper-start-wayland[10406]: Starting Wayland process "start-hyprland -- --config /usr/share/sddm/hyprland.conf"
May 27 18:02:42 thinkpad sddm-helper-start-wayland[10406]: "Warning: Virtual modifier Hyper multiply defined / Using 0, ignoring 0"
May 27 18:02:42 thinkpad sddm-helper-start-wayland[10406]: "Warning: Multiple symbols for level 1/group 1 on key <FK23>"
May 27 18:02:50 thinkpad sddm-helper[10526]: [PAM] authenticate: Authentication failure
May 27 18:02:50 thinkpad sddm[1223]: Authentication error: SDDM::Auth::ERROR_AUTHENTICATION "Authentication failure"
May 27 18:03:00 thinkpad sddm-helper[10545]: [PAM] authenticate: Authentication failure
May 27 18:03:08 thinkpad sddm-helper[10549]: [PAM] authenticate: Authentication failure
May 27 18:03:22 thinkpad sddm-helper[10620]: [PAM] authenticate: Authentication failure
May 27 18:05:45 thinkpad sddm-helper[11399]: [PAM] authenticate: Authentication failure
```
Boot before this one — autologin succeeded, confirming the on-disk password hash is correct:
```text
May 27 17:49:18 thinkpad sddm-helper[1239]: pam_unix(sddm-autologin:session): session opened for user hchinchilla(uid=1000) by hchinchilla(uid=0)
```
Notably, no `pam_faillock` messages exist at any point in either boot — so `faillock --reset` doesn't help and is the wrong lever.
## Local workaround that fixes it
Added the following to `/usr/share/sddm/hyprland.conf`:
```hyprland
input {
kb_layout = es
}
```
## Suggested fix
Either:
1. Extend `~/.local/share/omarchy/install/config/detect-keyboard-layout.sh` (and any post-update migration) to also inject `input { kb_layout = ... }` into `/usr/share/sddm/hyprland.conf` whenever it updates `~/.config/hypr/input.conf`. Ship a pacman hook to re-apply on `sddm` upgrades.
2. Or have the omarchy SDDM theme/greeter wrapper read `XKBLAYOUT` from `/etc/vconsole.conf` (or `localectl --no-pager status`) at start and pass `--kb-layout` accordingly, so the greeter always tracks the system layout.
## Related issues
- #4238 — Setting keyboard input to polish on setup doesn't correctly apply it to config (same install-time-propagation gap, but for the main session). Same workaround pattern.
- #5754 — Hyprlock uses QWERTY layout after update to 3.8.0 despite system layout being AZERTY (same family, in hyprlock).
- #4583 — Weird behaviour with multiple keyboard layouts.
- #2454 — Keyboard shortcuts are messed up after installation on dual-language system.
- #2148 (closed) — locale key mapping gone post install (Norwegian; same workaround).
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.