Skip to content

Fix wrong keyboard layout at the LUKS prompt on Plymouth 26#6183

Open
Zeus-Deus wants to merge 2 commits into
basecamp:masterfrom
Zeus-Deus:plymouth_luks_keymap
Open

Fix wrong keyboard layout at the LUKS prompt on Plymouth 26#6183
Zeus-Deus wants to merge 2 commits into
basecamp:masterfrom
Zeus-Deus:plymouth_luks_keymap

Conversation

@Zeus-Deus

Copy link
Copy Markdown

After updating to the Plymouth 26 series my disk unlock prompt started falling back to US QWERTY instead of my actual keyboard layout. Once the system boots the layout is correct, it's only the LUKS prompt that's wrong.

The cause is that Plymouth 26 reads the keyboard layout from /etc/vconsole.conf, but that file never lands in the initramfs. The keymap hook only bakes in the compiled keymap.bin, not the config file, so Plymouth can't find the layout and defaults to US. Plymouth 24 didn't need the file, which is why this only shows up after the bump.

Reordering the hooks doesn't help (people tried keymap before plymouth and it made no difference). What actually fixes it is bundling the file. This adds FILES=(/etc/vconsole.conf) to omarchy_hooks.conf so the initramfs carries it. New installs pick it up through limine-snapper.sh, and existing installs get it through a migration that rebuilds the UKI.

It's additive, keymap.bin stays exactly as before, so there's no extra lockout risk. Confirmed on my own machine: after the rebuild the LUKS prompt uses my layout again.

Related to #6151 and #6072.

Copilot AI review requested due to automatic review settings July 6, 2026 16:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses a Plymouth 26 regression where the LUKS unlock prompt falls back to US QWERTY by ensuring /etc/vconsole.conf is included in the initramfs/UKI so Plymouth can read the intended keymap early in boot.

Changes:

  • Adds /etc/vconsole.conf to mkinitcpio FILES for new installs via the Limine setup script.
  • Adds a migration to append /etc/vconsole.conf to the mkinitcpio drop-in and rebuild the UKI (when limine-mkinitcpio is available).

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
migrations/1783355853.sh Adds a migration to include /etc/vconsole.conf in initramfs and rebuild the UKI.
install/login/limine-snapper.sh Updates the mkinitcpio drop-in created on new installs to include /etc/vconsole.conf.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread migrations/1783355853.sh Outdated
Comment on lines +5 to +6
if [[ -f $HOOKS_CONF ]] && ! grep -q '^FILES=' "$HOOKS_CONF"; then
echo "FILES=(/etc/vconsole.conf)" | sudo tee -a "$HOOKS_CONF" >/dev/null
Comment on lines 2 to 5
sudo tee /etc/mkinitcpio.conf.d/omarchy_hooks.conf <<EOF >/dev/null
HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs)
FILES=(/etc/vconsole.conf)
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants