Bug 296696 - x11/sddm: 0.21.0.36_3 broke keyboard disposition
Summary: x11/sddm: 0.21.0.36_3 broke keyboard disposition
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-kde (group)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-07-11 14:55 UTC by Thierry Thomas
Modified: 2026-08-04 11:15 UTC (History)
2 users (show)

See Also:
arrowd: maintainer-feedback+


Attachments
/var/log/sddm.log (6.21 KB, text/plain)
2026-07-12 15:40 UTC, Thierry Thomas
no flags Details
Trace of service sddm start / stop (781 bytes, text/plain)
2026-07-12 15:41 UTC, Thierry Thomas
no flags Details
/var/lib/sddm/.local/share/sddm.log (710.83 KB, text/plain)
2026-07-12 15:48 UTC, Thierry Thomas
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thierry Thomas freebsd_committer freebsd_triage 2026-07-11 14:55:12 UTC
After `pkg upgrade' on my workstation, ssdm has been updated to 0.21.0.36_3, the default theme changed, and now only the disposition US is available. I did not anything in my configuration files, but now I cannot enter my password according to my keyboard layout.

sddm_lang="fr_FR" is set in /etc/rc.conf, and the messages are in french, but the keyboard setting has been lost.

No change in /usr/local/etc/X11/xorg.conf.d/00-keyboard.conf, it always contains:
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "fr"
        Option "XkbModel" "pc105"
        Option "XkbVariant" "oss_latin9"
EndSection

No error in /var/log/Xorg.0.log, it reports as usual
[ 18406.808] (II) XINPUT: Adding extended input device "System keyboard multiplexer" (type: KEYBOARD, id 6)
[ 18406.808] (**) Option "xkb_rules" "evdev"
[ 18406.808] (**) Option "xkb_model" "pc105"
[ 18406.808] (**) Option "xkb_layout" "fr"
[ 18406.808] (**) Option "xkb_variant" "oss_latin9"

No change in /usr/local/etc/sddm.conf.

Previously /usr/local/share/sddm/scripts/Xsetup was empty; I tried to add
setxkbmap -model pc105 -layout fr
but without success.

~/.xinitrc only contains
exec ck-launch-session startplasma-x11

Any other idea?
Comment 1 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 13:57:45 UTC
Complement: also, even if the password is correctly entered, the screen is not unlocked.

Same problem already reported by grahamperrin@ at
https://www.reddit.com/r/freebsd/comments/1rmslm4/screen_unlocker_failing_kde_plasma_on_freebsd/?solution=9d9ee3e95d96809f9d9ee3e95d96809f&js_challenge=1&token=7afd7253fec22262ff1c52b1703fe9ecef74e3c692c323e2ea377e657bd22687

I also noticed this error:
Detected locale C with character encoding US-ASCII, which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to C.UTF-8 instead.
Is it possibly related?
Comment 2 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 14:09:06 UTC
Remark: adding `setenv LC_CTYPE=C.UTF-8' in /etc/login.conf (with cap_mkdb) does not solve the issue.
Comment 3 Gleb Popov freebsd_committer freebsd_triage 2026-07-12 15:07:33 UTC
Do you build in Poudriere? If you see the blue theme with square user selectors on the right, it usually means that SDDM failed to enable Plasma theme for some reason.
Comment 4 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 15:15:05 UTC
(In reply to Gleb Popov from comment #3)
No, I didn't build it myself, but it got updated by pkg, from the compilation farm.
Comment 5 Gleb Popov freebsd_committer freebsd_triage 2026-07-12 15:17:05 UTC
Can you post sddm's log file? It is either /var/log/sddm.log or somewhere under /var/lib/sddm
Comment 6 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 15:40:27 UTC
Created attachment 272765 [details]
/var/log/sddm.log

Here is /var/log/sddm.log (truncated to keep only the latest try).
Comment 7 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 15:41:50 UTC
Created attachment 272766 [details]
Trace of service sddm start / stop

Attached is a trace of the corresponding `service sddm start' and stop.
Comment 8 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 15:48:07 UTC
Created attachment 272767 [details]
/var/lib/sddm/.local/share/sddm.log
Comment 9 Gleb Popov freebsd_committer freebsd_triage 2026-07-12 16:05:33 UTC
(In reply to Thierry Thomas from comment #8)
Is sddm a member of the "video" group? If not, try adding it:

pw groupmod -n video -m sddm
Comment 10 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 16:25:54 UTC
(In reply to Gleb Popov from comment #9)
No, it was not (and has never been)!

I've just added it, but it does not solve the issue.
Comment 11 Gleb Popov freebsd_committer freebsd_triage 2026-07-12 17:09:04 UTC
(In reply to Thierry Thomas from comment #10)
Did you start getting the breeze theme now?
Comment 12 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 17:20:34 UTC
No, breeze was missing from the latest upgrade, and sddm reported an error: thus I switched to maya.
Comment 13 Gleb Popov freebsd_committer freebsd_triage 2026-07-12 18:05:12 UTC
Are you sure that switching back to 0.21.0.36_2 fixes the problem for you? I don't see how could it affect keyboard layouts.
Comment 14 Jesper Schmitz Mouridsen freebsd_committer freebsd_triage 2026-07-12 19:26:09 UTC
cat /usr/local/share/sddm/scripts/Xsetup 
#!/bin/sh
# Xsetup - run as root before the login dialog appears
setxkbmap dk


works for me. on 15.1 pkg latest

I noted that the sddm dropdown counter-intuitively never contains all possible layouts. even on linux.
Comment 15 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 20:34:36 UTC
(In reply to Gleb Popov from comment #13)
I have no more the package for it (15.1-RELEASE-p1 on this machine), therefore I rebuilt it myself from ports, but it does not work: it switches to X and the screen remains black.

/var/lib/sddm/.local/share/sddm.log contains an OpenGL error:
[22:14:42.186] (II) GREETER: High-DPI autoscaling not Enabled
[22:14:42.203] (II) GREETER: Reading from "/usr/local/share/xsessions/xinitrc.desktop"
[22:14:42.204] (II) GREETER: Loading theme configuration from "/usr/local/share/sddm/themes/maya/theme.conf"
[22:14:42.214] (II) GREETER: Connected to the daemon.
[22:14:42.223] (WW) GREETER: Xcb EGL gl-integration initialize failed
[22:14:42.225] (II) GREETER: Loading file:///usr/local/share/sddm/themes/maya/Main.qml...
[22:14:42.232] (WW) GREETER: Member enabled of the object SpButton_QMLTYPE_3 overrides a member of the base object. Consider renaming it or adding final or override specifier
[22:14:42.233] (WW) GREETER: Member enabled of the object Button_QMLTYPE_4 overrides a member of the base object. Consider renaming it or adding final or override specifier
[22:14:42.233] (WW) GREETER: Member implicitWidth of the object Button_QMLTYPE_4 overrides a member of the base object. Consider renaming it or adding final or override specifier
[22:14:42.233] (WW) GREETER: Member implicitHeight of the object Button_QMLTYPE_4 overrides a member of the base object. Consider renaming it or adding final or override specifier
[22:14:42.394] (II) GREETER: Adding view for "HDMI-1" QRect(0,0 1920x1080)
[22:14:42.394] (WW) GREETER: QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
[22:14:42.394] (WW) GREETER: QRhiGles2: Failed to create temporary context
[22:14:42.394] (WW) GREETER: QXcbIntegration: Cannot create platform offscreen surface, neither GLX nor EGL are enabled
[22:14:42.395] (WW) GREETER: QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled
[22:14:42.395] (WW) GREETER: QRhiGles2: Failed to create context
[22:14:42.395] (WW) GREETER: Failed to create RHI (backend 2)
[22:14:42.395] (EE) GREETER: Failed to initialize graphics backend for OpenGL.
Comment 16 Thierry Thomas freebsd_committer freebsd_triage 2026-07-12 20:36:27 UTC
(In reply to Jesper Schmitz Mouridsen from comment #14)
Yes, it works for me on other machines, but no more on this one (15.1-RELEASE-p1).
Comment 17 commit-hook freebsd_committer freebsd_triage 2026-08-01 16:01:25 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=782429b1ba1f9bae6cd9da03c591f12d14c6b58c

commit 782429b1ba1f9bae6cd9da03c591f12d14c6b58c
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2026-08-01 14:53:15 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2026-08-01 15:25:58 +0000

    x11/plasma6-plasma-desktop: Fix keyboard layout initialization in the SDDM Breeze theme

    PR:             296696

 x11/plasma6-plasma-desktop/Makefile                 |  1 +
 .../files/patch-sddm-theme_KeyboardButton.qml (new) | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+)
Comment 18 commit-hook freebsd_committer freebsd_triage 2026-08-01 16:01:26 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=3eb3ecdb7238a60bcecbbb1265c7489668867714

commit 3eb3ecdb7238a60bcecbbb1265c7489668867714
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2026-08-01 14:52:11 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2026-08-01 15:25:58 +0000

    x11/sddm: Fix keyboard layout setting when using Breeze theme

    PR:             296696

 x11/sddm/Makefile                              |  5 +++--
 x11/sddm/files/patch-data_scripts_Xsetup (new) | 20 ++++++++++++++++++++
 x11/sddm/files/sddm.in                         |  4 ++++
 3 files changed, 27 insertions(+), 2 deletions(-)
Comment 19 Gleb Popov freebsd_committer freebsd_triage 2026-08-01 16:03:55 UTC
This should fix your issue if you go back to the breeze theme.
Comment 20 Thierry Thomas freebsd_committer freebsd_triage 2026-08-04 10:45:46 UTC
I've just upgraded to sddm-0.21.0.36_5, and the sddm screen has still the keyboard disposition in english, and the list of available dispositions is empty.

But it works, and I can login, with the Breeze theme enabled.