Bug 2341810 - Plymouth does not show keyboard layout name underneath LUKS decryption prompt
Summary: Plymouth does not show keyboard layout name underneath LUKS decryption prompt
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: plymouth
Version: 41
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Ray Strode [halfline]
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-01-23 19:15 UTC by dguthrie
Modified: 2025-02-17 23:16 UTC (History)
3 users (show)

Fixed In Version: plymouth-24.004.60-17.fc43 plymouth-24.004.60-17.fc42
Clone Of:
Environment:
Last Closed: 2025-02-17 22:55:44 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description dguthrie 2025-01-23 19:15:17 UTC
When I first installed Fedora 41, I installed it with the Dvorak keyboard layout. In Plymouth, this showed the name "us-dvorak" below the Plymouth LUKS decryption prompt. The message has disappeared, and it is unclear how to recover it.


Reproducible: Always

Steps to Reproduce:
1. Install system with disk encryption
2. Set console layout with 'localectl set-keymap us-dvorak'
3. Regenerate initramfs with 'dracut -f' or similar
4. Reboot
Actual Results:  
Below the LUKS boot prompt, the keyboard icon is there, but the text 'us-dvorak' is not to its right as it is for 'us-qwerty'.

Expected Results:  
The expected result is 'us-dvorak' printed by Plymouth below LUKS boot prompt, and to the right of the keyboard icon. 

This message was very helpful as it let me see that I was not using the standard keyboard layout. It is not particularly helpful for it to be able to print 'us-qwerty' as this is the default.

The 'us-dvorak' message did appear when I first installed the system. At some point, I  changed keyboard options at some point with localectl, and this message no longer appeared. The keyboard layout has always been dvorak, it's just that Plymouth no longer indicates this.

I have tried a number of localectl options to try and make the message appear again. The most simple one is "localectl set-keymap us-dvorak".

It is not clear what conditions govern the presence of the message.

I regard severity level as 'medium' because it should work (and did upon installation), but there's no apparent workaround. It is also important when entering (often long) passwords where they keyboard layout doesn't match the printed keys.

Comment 1 Hans de Goede 2025-01-24 08:50:13 UTC
Thank you for your bug report.

Please enable plymouth debug-logging by running:

sudo grubby --update-kernel=ALL --args="plymouth.debug=stream:/dev/null"

then reboot, this should create a /var/log/plymouth-debug.log file. Please collect that file and attach it here. Note since you are using disk-encryption this will show the length of your passphrase (but not the actual characters). Still please make the attachment private.

I also think I know what is causing this regression. Please make a backup of your current /etc/vconsole.conf and then open /etc/vconsole.conf in an editor.

Running `localectl set-keymap us-dvorak` will have added XKBxxxxx=yyyyyy lines there, which were not there on your initial install. Remove these lines and after that regenerate your initrd.

Reboot I believe that your issue should be gone now.

Also collect the /var/log/plymouth-debug.log file from after making the /etc/vconsole.conf changes (and again make the attachment private).

Note the editing of /etc/vconsole.conf is just a workaround. There is a real bug which needs to be fixed here, but first I want to verify my theory and collect logs in both the working and non working cases.

Comment 2 dguthrie 2025-02-09 14:33:05 UTC
Hi, I'm not especially keen to upload that file if it reveals my password length. Sorry!

Could you perhaps suggest which lines I might wish to remove, so I can trim it of that information? (I had a cursory glance at the file but can't work out what portion of the log would be revealing of that).

Anyway, one line does stick out: 

Warning: no pre-rendered text for 'English (Dvorak)' keymap

Comment 3 Hans de Goede 2025-02-10 14:02:55 UTC
(In reply to dguthrie from comment #2)
> Could you perhaps suggest which lines I might wish to remove, so I can trim
> it of that information? (I had a cursory glance at the file but can't work
> out what portion of the log would be revealing of that).

There is a bunch of the following lines in the log:

00:00:22.501 ../src/plugins/splash/two-step/plugin.c:833:pause_views       : pausing views
00:00:22.501 ../src/plugins/splash/two-step/plugin.c:2066:show_prompt      : showing prompt
00:00:22.507 ../src/plugins/splash/two-step/plugin.c:849:unpause_views     : unpausing views
00:00:23.669 ../src/plugins/splash/two-step/plugin.c:833:pause_views       : pausing views

This gets logged once per keypress, or so I think I just checked on my own system and there are a couple of extra entries, not sure if the amount of extra entries is stable. But at a minimum this gives a hint towards the passphrase length.

> Anyway, one line does stick out: 
> 
> Warning: no pre-rendered text for 'English (Dvorak)' keymap

Ah, ok well that is pretty much all I need :)

I have prepared a fix for this:

https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/341

I'll also start a F41 plymouth package scratch-build for you to test.

Comment 4 Hans de Goede 2025-02-10 14:10:19 UTC
I have started a Fedora 41 plymouth package scratch build with the fix from:

https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/341

added:

https://koji.fedoraproject.org/koji/taskinfo?taskID=129090738

To give this a try do the following:

1. Run the following command on your system to see which plymouth sub-packages you have installed:

rpm -qa | grep plymouth | sort

2. Click on the link for the build for your architecture (typically x86_64)

3. Make a new directory to download the files to

4. Download all rpms which you have installed (list from 1.) into the new directory

5. Inside the new directory run the following command:

sudo rpm -Uvh plymouth*.rpm

6. Regenerate the initrd for your current kernel:

sudo dracut -f

7. reboot and see if there is a "dvorak" text next to the keyboard icon now

Comment 5 Fedora Update System 2025-02-17 21:01:58 UTC
FEDORA-2025-d7a529044a (plymouth-24.004.60-17.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-d7a529044a

Comment 6 Fedora Update System 2025-02-17 21:27:05 UTC
FEDORA-2025-0479d9079d (plymouth-24.004.60-17.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-0479d9079d

Comment 7 Fedora Update System 2025-02-17 22:55:44 UTC
FEDORA-2025-d7a529044a (plymouth-24.004.60-17.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2025-02-17 23:16:44 UTC
FEDORA-2025-0479d9079d (plymouth-24.004.60-17.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.