Bug 2062415

Summary: SDDM always shows 'af' keyboard layout selected by default, changing to a different layout doesn't appear to have any effect
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: sddmAssignee: Rex Dieter <rdieter>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: aleixpol, jgrulich, kde-sig, kparal, matt.fagnani, me, michel.morisot, m, nate, ngompa13, pierluigi.fiorini, postix, rdieter, robatino, travier
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: AcceptedBlocker
Fixed In Version: sddm-0.19.0^git20220228.c257a40-4.fc36 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-09-13 11:53:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2009539, 2050378    

Description Adam Williamson 2022-03-09 18:12:46 UTC
In Fedora 36 and Rawhide, whatever language/keyboard layout you select during installation, SDDM will show the selected keyboard layout as 'af' when you boot up. This is Afrikaans, which AIUI is functionally very similar to the US English layout (I think it supports some additional characters with dead keys).

I tried to test what keyboard layout is *actually* being used. I did an install in UK English, with a user called 'test' with password 'test'. After install, I logged in, verified the UK English keyboard layout was being used in KDE, and changed the user's password to:

weakpassword"

Note that in the UK English keyboard layout, you type the " character with shift-2. On US English and similar layouts, you type it with shift-' , where ' is the key to the left of the Enter key. On a US English keyboard, shift-2 gives the character @.

So, if the keyboard layout in use is UK English, I should be able to log in by typing shift-2; if it's US English or similar I should type shift-' .

If I leave the layout selector in SDDM at 'af', I can log in by typing shift-' , which is consistent with the layout being 'af' or 'us'.

If I change the layout selector in SDDM to 'gb', which should give me a UK English layout, I cannot log in by typing shift-2 as expected. I still have to type shift-'. So it seems like changing the layout does not work.

Executive summary: keyboard layouts in SDDM are just hosed. I think it's either always using 'af' or always using 'us', and selecting layouts just does not work. I wonder if this has never actually been hooked up to work properly on Wayland?

In KDE itself, this does work properly. The UK layout is used by default as expected.

Proposing as a Final blocker per criterion "If a particular keyboard layout has been configured for the system, that keyboard layout must be used: ... When logging in via the default login manager for a release-blocking desktop" - https://fedoraproject.org/wiki/Fedora_36_Final_Release_Criteria#Keyboard_layout_configuration , and as a Beta FE as this is obviously a highly-visible issue for non-US users.

Comment 1 Neal Gompa 2022-03-09 19:33:12 UTC
Reported upstream: https://github.com/sddm/sddm/issues/1528

Comment 2 Neal Gompa 2022-03-09 19:37:22 UTC
Note this is using SDDM with KWin as the Wayland compositor.

Comment 3 Adam Williamson 2022-03-12 00:10:14 UTC
+3 in https://pagure.io/fedora-qa/blocker-review/issue/652 , marking accepted.

Comment 4 Adam Williamson 2022-03-14 16:11:34 UTC
+5 for Final blocker in https://pagure.io/fedora-qa/blocker-review/issue/652 , marking accepted.

Comment 5 Fedora Update System 2022-03-16 20:33:41 UTC
FEDORA-2022-a541c359e4 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-a541c359e4

Comment 6 Neal Gompa 2022-03-16 20:35:36 UTC
I've attached the update that reverts us back sddm on X11 to resolve this. Unfortunately, we just *can't* fix this in time.

Comment 7 Fedora Update System 2022-03-17 17:10:27 UTC
FEDORA-2022-a541c359e4 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-a541c359e4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-a541c359e4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2022-03-19 00:40:37 UTC
FEDORA-2022-a541c359e4 has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 9 Kamil Páral 2022-03-20 10:50:13 UTC
This needs verification with the Beta 1.2 image.

Comment 10 Kamil Páral 2022-03-25 08:35:53 UTC
I tested F36 Beta KDE Live with a default us english and then again with czech keymap. Upon reboot, there is no keymap selection in sddm, but the expected keymap (us or cz) is working as intended. Closing.

Comment 11 Adam Williamson 2022-03-25 18:51:21 UTC
Well, the "fix" here was more of a workaround: we reverted to the X11 SDDM. But only on F36. We didn't do that on Rawhide, so Rawhide still has the problem. Re-opening, and moving to Rawhide (and nominating as an F37 Final blocker).

Comment 12 MicMor 2022-05-20 07:14:36 UTC
Hello,

Error for me too with fedora 36 and wayland

Comment 13 MicMor 2022-05-20 08:34:29 UTC
Patch:

Uninstall sddm-wayland-plasma 
Install sddm-x11

in/etc/sddm.conf

[General]
DisplayServer=wayland **-->**  DisplayServer=x11
InputMethod=composed
Numlock=on


And it’s good, the keyboard is well in Fr - azerty and the keypad lock works

Comment 14 Neal Gompa 2022-05-20 12:01:12 UTC
(In reply to MicMor from comment #13)
> Patch:
> 
> Uninstall sddm-wayland-plasma 
> Install sddm-x11
> 
> in/etc/sddm.conf
> 
> [General]
> DisplayServer=wayland **-->**  DisplayServer=x11
> InputMethod=composed
> Numlock=on
> 
> 
> And it’s good, the keyboard is well in Fr - azerty and the keypad lock works

These are redundant actions. Just do "dnf swap sddm-wayland-plasma sddm-x11" and reboot.

Comment 15 Timothée Ravier 2022-05-25 16:50:11 UTC
*** Bug 2061954 has been marked as a duplicate of this bug. ***

Comment 16 Timothée Ravier 2022-05-25 17:00:24 UTC
*** Bug 2071739 has been marked as a duplicate of this bug. ***

Comment 17 Ben Cotton 2022-08-09 13:38:05 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 37 development cycle.
Changing version to 37.

Comment 18 Matt Fagnani 2022-08-17 13:45:13 UTC
The keyboard layout box wasn't shown in sddm on Wayland with Plasma 5.25.0-5.25.4 installed in F36 and F37, so this might not be a problem any longer.

Comment 19 Timothée Ravier 2022-08-18 11:49:08 UTC
See https://bugzilla.redhat.com/show_bug.cgi?id=2062415#c11

Comment 20 Adam Williamson 2022-08-18 12:25:42 UTC
Timothee: I'm unsure what you mean by that. Are you saying you reverted to X11 SDDM for F37 too?

Comment 21 Kamil Páral 2022-08-18 12:43:30 UTC
I just installed Fedora-KDE-Live-x86_64-37-20220817.n.1.iso and SDDM is still hosed. Two findings:
1. Keyboard layout selector is not shown, not even when you configure two different layouts in anaconda.
2. The active keyboard layout in SDDM seems to be US or similar, regardless of what you picked in Anaconda as the default one. But once you log in to your session, the keymap you selected in Anaconda is chosen correctly.
(I tested this by setting the Czech keymap as default, and then using "qwertz" as my user password. The Czech keymap has Y and Z swapped compared to US keymap, so it's then easy to test during login which keymap is active).

I'm putting the blocker tracker back. Timothee, we don't care that much about the version field, but the blocker tracker is vital for QA, please don't erase it just like that, it would disappear from our blocker lists. We're happy to discuss the situation, and if a separate bug report should be created, because the situation changed slightly, that's fine.

Comment 22 Timothée Ravier 2022-08-18 17:30:58 UTC
Hum, indeed, my bad, we will have to bump that for f37 too.

Comment 23 Timothée Ravier 2022-08-18 17:47:25 UTC
Alright, sorry about that. I had missed that we still had that enabled by default in rawhide and thus that went in F37.

I've made https://src.fedoraproject.org/rpms/sddm/pull-request/5 that we'll backport to F37.
I've also opened https://pagure.io/fedora-kde/SIG/issue/240 to track this issue as I don't think it makes sense to keep rawhide broken for users & testers, so that we can close this one and figure out the change as a future feature.

Comment 24 Adam Williamson 2022-08-22 16:02:41 UTC
+4 in https://pagure.io/fedora-qa/blocker-review/issue/691 , marking accepted F37 Final blocker.

Comment 25 Adam Williamson 2022-09-12 17:20:43 UTC
So we did go back to X11 SDDM on F37 for https://bugzilla.redhat.com/show_bug.cgi?id=2110801 , which means this should also be addressed. kparal, you or I should check it's OK too.

Comment 26 Kamil Páral 2022-09-13 11:53:27 UTC
I tested with Fedora-KDE-Live-x86_64-37_Beta-1.5.iso. It took me a while to find the keymap switcher (it doesn't show up until you type the first letter 🤦), but yes, it is now there, and it defaults to the correct keymap, as configured in anaconda. Closing.