Create a file /etc/weston.ini to initialise weston as follows:
more /etc/weston.ini
[libinput]
enable-tap=true
[core]
renderer=pixman
xwayland=false
idle-time=0
Thats it - reboot and this makes SDDM wayland only. Do try and let me know your thoughts. Well worth experimenting just list the above with other wayland compositors
I think it is possible to not edit the weston.ini file - the concern I have here is that the installer will be writing to a global location and we don’t have the opportunity to get the installer to write to a specific location like “/etc/weston.ini”
From googling I have tried to gather the following - whether this actually all works will need more development, but should spark ideas.
write the following bash script to a file name /usr/local/libexec/sddm-xkb-env
#!/bin/bash
set -e
OUT="/run/sddm-xkb.env"
CONF="/etc/X11/xorg.conf.d/00-keyboard.conf"
layout=""
variant=""
options=""
if [[ -f "$CONF" ]]; then
layout=$(grep -i 'Option "XkbLayout"' "$CONF" | awk '{print $3}' | tr -d '"')
variant=$(grep -i 'Option "XkbVariant"' "$CONF" | awk '{print $3}' | tr -d '"')
options=$(grep -i 'Option "XkbOptions"' "$CONF" | awk '{print $3}' | tr -d '"')
fi
# Fallback to localectl if file missing or incomplete
if [[ -z "$layout" ]]; then
layout=$(localectl status | grep "X11 Layout" | cut -d: -f2 | xargs)
fi
cat > "$OUT" <<EOF
XKB_DEFAULT_LAYOUT=$layout
XKB_DEFAULT_VARIANT=$variant
XKB_DEFAULT_OPTIONS=$options
EOF
Change the permissions on the file
chmod 0755 /usr/local/libexec/sddm-xkb-env
Write the following into a file /etc/systemd/system/sddm.service.d/30-xkb-env.conf
What all of the above does is try to get the keyboard layout from whereever the installer writes its keyboard stuff to. Writes a temporary file (in /run) with environment variables
SDDM then preloads that environment file - and should set the layout accordingly.
Sorry, I disabled my edit to weston.ini, followed the instructions to the letter, and rebooted, but the keyboard on the login screen is back in QWERTY mode.
Assuming the keyboard stuff is extracted correctly from those system locations we could always get the sddm script to write to our /etc/weston.ini instead. But lets confirm your current setup first.