SDDM stuck in QWERTY at first login after each reboot

I installed Kalpa, chose French with default AZERTY layout.

It works well in tty, in which I ended up on first boot. I fixed that, as advised here, with:
sudo systemctl disable display-manager-legacy.service
sudo systemctl enable --now sddm.service
Then SDDM started, as intended.

Now comes my issue: on that first SDDM login after each reboot, the keyboard layout is QWERTY. After I login once, I’m immediately in AZERTY again without no further action on my part. Even on a locked screen, I am still in AZERTY, as I should. But whenever I reboot, I am back in QWERTY for the first login.

Set the required key mapping in /etc/vconsole.conf (or use localectl to do the same). That will take effect at next boot.

More info

man vconsole.conf
man localectl

BTW, since you’re using Kalpa, you’ll need to undertake this using

sudo transactional-update shell

Make the changes to “XKBLAYOUT=” and/or “KEYMAP=” in /etc/vconsole.conf, save, then do exit to leave the shell, and finally

sudo transactional-update reboot

@deano_ferrari nothing special about /etc it’s read write, likewise shell is really a debug option and not recommended :wink:

My /etc/vconsole.conf appears to be correct already:

> cat /etc/vconsole.conf 
# Written by systemd-localed(8) or systemd-firstboot(1), read by systemd-localed
# and systemd-vconsole-setup(8). Use localectl(1) to update this file.
KEYMAP=fr
FONT=eurlatgr.psfu
FONT_MAP=
FONT_UNIMAP=
XKBLAYOUT=fr
XKBMODEL=pc105
XKBOPTIONS=terminate:ctrl_alt_bksp

Unfortunately this seems to be ignored.

Oh, that’s good to know. I don’t use Kalpa so wasn’t certain.

Then I’m not sure what to advise. I’m using SDDM Wayland…I assume that is the same for you? The change made in vconsole.conf took effect at the next login as expected, but I’m using Slowroll.

Can you share your working sddm configuration?

Locale settings are desktop-session specific and SDDM runs a minimal KDE session under dedicated user. You could try to set the the correct keyboard layout for this user, probably in ~/.config/kxkbrc.

Try localectl set-keymap fr-azerty:

erlangen:~ # cat /etc/vconsole.conf 
# Written by systemd-localed(8) or systemd-firstboot(1), read by systemd-localed
# and systemd-vconsole-setup(8). Use localectl(1) to update this file.
FONT_MAP=
FONT_UNIMAP=
FONT=ter-v32b
KEYMAP=fr-azerty
XKBLAYOUT=fr
XKBMODEL=microsoftpro
XKBVARIANT=azerty
XKBOPTIONS=terminate:ctrl_alt_bksp
erlangen:~ # 

That did the trick, thank you so much!

The dedicated user is the cleverly named sddm.

Its home is /var/lib/sddm/.

I created /var/lib/sddm/.config/kxkbrc, which didn’t exist, with the content:

[Layout]
LayoutList=fr
Use=true

Then:
sudo chown -R sddm:sddm /var/lib/sddm/.config

And it worked! Thank you all for your help.

You may still consider bug report. I think it was not necessary in the past (at least, I do not remember similar reports previously).

Just submitted it. My first ever bug report. Thanks again!

Thanks, could you provide the URL of the bug too?
Could be handy for others

https://bugzilla.opensuse.org/show_bug.cgi?id=1247515

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.