SDDM login loop or password not accepted on Omarchy
SDDM login loop on Omarchy: the greeter always types US, so non-US passwords fail. Fix the greeter keymap, faillock, the autologin user, and a dying session.
Most Omarchy SDDM login loops are not a wrong password. The greeter runs its own Hyprland from /usr/share/sddm/hyprland.lua, which sets no kb_layout, so it always types US. Add an input block with your layout, or type the password in US positions. If the greeter accepts the password and bounces back, the session is dying instead: get a TTY and read the journal.
There are two very different failures behind “Omarchy will not let me log in”, and they need opposite fixes. Either the greeter rejects your password, or the greeter accepts it and the session dies a second later and drops you back. Everything below was checked against the 4.0.4 source tree, with 3.x differences called out.
The fix
-
Decide which failure you have. Get a text console with Ctrl+Alt+F2, log in, then run:
journalctl -u sddm -b | tail -40Lines like
pam_unix(sddm:auth): authentication failureor[PAM] authenticate: Authentication failuremean the password was rejected. Go to step 2. A cleanSession started truefollowed by the greeter returning a second later means authentication succeeded and the session crashed. Skip to step 6. -
Check whether you are simply locked out. Omarchy raises the failure limit to ten attempts in
/etc/security/faillock.confand writesunlock_time=120into/etc/pam.d/system-auth, so a lockout normally clears itself after two minutes.faillock --user "$USER" sudo faillock --reset --user "$USER"The manual covers this under Troubleshooting. If the output was empty, you were never locked out, and the password really is arriving wrong.
-
Fix the greeter keyboard layout. This is the single most common cause on any non-US layout. Check what the system thinks your layout is:
localectl status grep -E 'KEYMAP|XKBLAYOUT|XKBVARIANT' /etc/vconsole.confOn 4.x, edit
/usr/share/sddm/hyprland.luaand add aninputtable to the existing call:hl.config({ input = { kb_layout = "fr", kb_variant = "", }, misc = { disable_hyprland_logo = true, disable_splash_rendering = true, force_default_wallpaper = 0, }, animations = { enabled = false, }, })On 3.x the file is
/usr/share/sddm/hyprland.confand the syntax is the old block form:input { kb_layout = fr }On 4.x the
.luafile belongs to theomarchy-settingspackage, so a package upgrade can overwrite it. Re-apply the edit after updates until this lands upstream. On 3.x, issue #6880 foundhyprland.confwas not owned by any package, and its reporter kept the edit in a separate file under/etc/sddm/pointed at by aCompositorCommanddrop-in instead. -
If you cannot edit anything yet, type the password in US positions. The greeter is a plain US QWERTY keyboard no matter what the label on the key says. Several reporters got in this way and fixed the config afterwards.
-
Check that SDDM knows who you are. Two files matter:
cat /etc/sddm.conf.d/autologin.conf cat /var/lib/sddm/state.confUser=must be your account. In issue #5044 it had been written asroot, which loops forever. In issue #7949, after an interrupted install resumed througharch-chroot, SDDM authenticated an empty username and loggedUser not known to the underlying authentication module; writing a correct[Autologin]block was the workaround there. -
If the password is accepted and the session dies, the compositor is failing, not PAM. Read
journalctl -b | grep -Ei 'hyprland|aquamarine|uwsm_env-preloader'and check~/.cache/hyprland/for a crash report. Three causes have clear reports: an NVIDIA kernel and userspace mismatch after an update, a colon-bearingAQ_DRM_DEVICESvalue, and a shell error in~/.config/uwsm/env.d/. Those are covered on /fix/black-screen-after-login/.
Verify it worked
Log out from the Omarchy menu rather than rebooting, so you meet the real greeter instead of autologin. Type one layout-sensitive character into the username field first, such as the at sign or the underscore, and confirm it appears correctly. Then log in normally. Afterwards, journalctl -u sddm -b | grep -c 'Authentication failure' should return zero for that boot.
Why it happens
SDDM starts a Wayland greeter by launching its own Hyprland instance. Omarchy’s /etc/sddm.conf.d/10-wayland.conf sets CompositorCommand=start-hyprland -- --config /usr/share/sddm/hyprland.lua, and that config is deliberately minimal: in the 4.0.4 tree it declares only misc and animations. Hyprland has no reason to look at /etc/vconsole.conf or /etc/X11/xorg.conf.d/00-keyboard.conf, so kb_layout stays at its built-in default of us.
The session is fine, which is what makes this so confusing. Since 4.0.0 the shipped default/hypr/input.lua reads /etc/vconsole.conf at runtime and derives kb_layout, kb_variant and kb_options from it. The greeter never got the same treatment. Two pull requests offered to share that logic, #9177 and #11293, and neither was merged.
Autologin hides the bug. On an encrypted install the LUKS passphrase already gates access, so omarchy-provision-owner keeps the autologin drop-in permanently, and the sddm-autologin PAM service never checks a password at all. The first time you actually see the greeter is after a logout or a compositor crash, long after install, with nothing pointing at the layout. AltairSD described exactly that sequence in issue #10269.
One more trap worth knowing: SDDM does not filter /etc/sddm.conf.d by file extension, so a renamed autologin.disabled is still read. Move the file out of the directory instead.
If that did not work
- The loop started right after an update. A failed DKMS build can leave a stale UKI whose embedded NVIDIA module no longer matches userspace, and Hyprland then aborts at EGL init. Issue #5706 walks through it. See /fix/nvidia-drivers-omarchy-4/.
- You edited your monitor config recently. In issue #6439 a fixed resolution and refresh rate made Hyprland fail silently; switching that entry to
preferredrestored login. See /fix/monitors-conf-replaced-by-monitors-lua/. - You changed your password from the Omarchy menu. Issue #9147 reports
gkr-pam: couldn't unlock the login keyring.and a reset progress bar on the next cold boot, because the keyring was not re-encrypted with the new password. That one is open and unfixed. - The machine reboots instead of looping. On a ThinkPad T470 in issue #8190, a TPM that answered but timed out failed the PCR barrier unit and forced a reboot right after the password. Disabling the Security Chip in firmware was the workaround.
- No console key works. One commenter in #5706 could not reach any TTY from the loop. Reboot, pick an older entry in the Limine menu, and work from there. See /fix/stuck-at-tty-or-cannot-switch-tty/ and /upgrade/rollback-with-snapper-and-limine/.
Evidence for the keymap cause is strong and reproduced across fr, be, de, es, gb, Colemak and Russian layouts. Evidence for the keyring and TPM cases is a single report each, so treat those as leads rather than known answers.
Related
Upstream threads about this error
158 issues on the Omarchy tracker match this error cluster. Newest fixes often appear as comments on the most-discussed threads.
| Issue | State | Comments | Opened |
|---|---|---|---|
| #2308 Chromium asks for keyring password on every startup | closed | 22 | 2025-10-08 |
| #716 Omarchy conflicts with SDDM by ocupying tty1 first | closed | 37 | 2025-08-12 |
| #1485 The system doesn't boot after install | closed | 33 | 2025-09-06 |
| #5105 Update/reboot left keyring in invalid state, browser sessions and gh auth got cleared | open | 22 | 2026-03-23 |
| #2635 Omarchy 3.1 No Signal to Monitors When Waking from Sleep | open | 18 | 2025-10-20 |
| #3293 Hyprlock sometimes crashes after opening laptop, 3.1.5 | closed | 16 | 2025-11-10 |
| #4465 Can't Update past 3.2.3 due to GPU Driver issue · fixed by #4491 | closed | 23 | 2026-02-01 |
| #352 Gnome-keyring not creating default keyvault, 1Password MFA issues · fixed by #1860 #2242 | closed | 15 | 2025-07-26 |
| #748 Walker and Omarchy menu don't launch on Super+Space | closed | 20 | 2025-08-13 |
| #12550 linux-omarchy 7.2.5: black screen on MacBookPro11,5 (Radeon R9 M370X) because the kernel enables Intel IOMMU by default | open | 11 | 2026-09-19 |
Accepted answers upstream
- Support Multiple Users · answered by andrewib
- Using Niri instead of Hyprland in Omarchy · answered by alexhraber
- Changing Your Shell to Zsh or Fish in Omarchy Without Breaking Everything · answered by Jerry1098
- Add facial login authentication support for Omarchy · answered by felipecsl
Questions people ask
- Why does my password work for sudo but not at the login screen?
- Because sudo reads the key you pressed through your session layout, and the SDDM greeter reads it through its own Hyprland instance, which has no layout configured and defaults to US. Any character that moves between layouts, such as the at sign, slash, colon or underscore, reaches PAM as a different character.
- Does faillock --reset fix this?
- Only if you are actually locked out. Issue #5986 checked the journal and found no pam_faillock lines at all, just plain pam_unix authentication failures, which means the wrong password arrived rather than a locked account. Check faillock --user first before assuming.
- Will a Snapper rollback get me back in?
- It depends where the broken thing lives. Snapshot restore covers the root filesystem, not /home, so a bad ~/.config/uwsm/env.d file or a bad monitors.lua survives every snapshot in the Limine menu.
- Is the greeter keymap fixed in 4.0.4?
- No. Two pull requests, #9177 and #11293, proposed resolving the greeter layout from /etc/vconsole.conf, and neither was merged. The shipped default/sddm/hyprland.lua in the 4.0.4 tree still sets only misc and animations.
Sources and credit
Fixes on this page were worked out by g-desoutter (Proved the greeter runs its own Hyprland with no input block, so it always falls back to US), hugochinchilla (Showed PAM is being fed the wrong characters rather than refusing a locked account), AltairSD (Explained why permanent autologin hides the greeter keymap bug until the first real logout), kukat (Found the autologin drop-in pointing at root instead of the real user), sanity (Traced an update-triggered SDDM loop to a stale UKI carrying the old NVIDIA module), austrasien (Showed one bad file in ~/.config/uwsm/env.d loops the login screen with no visible error). Text here is our own paraphrase; follow the links for the original threads.
- issueIssue #6880: SDDM greeter always uses US keyboard layout, ignoring the system layout · g-desoutter · 2026-08-14
- issueIssue #10269: SDDM greeter ignores system keyboard layout, causing silent password-mismatch after autologin is used up · AltairSD · 2026-09-05
- issueIssue #5986: SDDM greeter defaults to us keymap instead of the one selected on install · hugochinchilla · 2026-05-27
- prPR #11293: Resolve the SDDM greeter's keyboard layout from vconsole.conf · Schleuse · 2026-09-11
- prPR #9177: Apply the configured keyboard layout on the SDDM greeter · florentdestremau · 2026-08-30
- issueIssue #5044: Cannot log in to Omarchy Session (possible SDDM startup issue) · benjamalegni · 2026-03-17
- issueIssue #7949: SDDM authenticates empty username after interrupted/resumed install · gtech-pedrol · 2026-08-23
- issueIssue #5706: Login loop after update if nvidia DKMS fails to build for the new kernel · sanity · 2026-05-09
- issueIssue #8776: Dual-GPU AMD: PCI by-path in AQ_DRM_DEVICES silently login-loops SDDM autologin · mowgli42 · 2026-08-28
- issueIssue #10700: Silent lock-screen login loop when ~/.config/uwsm/env.d has a shell error · austrasien · 2026-09-07
- issueIssue #6439: Password screen loop after update to 3.8.4 · v-h-z · 2026-07-30
- issueIssue #9147: Changing password via Super Menu updater breaks SDDM login due to gkr-pam keyring mismatch · BSBrouwers · 2026-08-30
- issueIssue #8190: ThinkPad T470 boot loop when TPM is visible but unresponsive · KalenJosifovski · 2026-08-25
- manualOmarchy manual: Troubleshooting