SDDM stands for Simple Desktop Display Manager. It handles graphical login sessions for X11 and Wayland windowing systems. Built from scratch using C++11, it supports visual customization through QML theming. LXQt officially recommends SDDM as its display manager.
SDDM version 0.20 can launch Wayland sessions. The greeter interface runs in X11 mode by default. An experimental Wayland greeter exists for testing.
Installation
Install the base package through your package manager. The package name is sddm.
For KDE users, install sddm-kcm to access graphical configuration tools. Add qt5-declarative to enable Qt5 theme support.
Enable the display manager service to launch SDDM at boot:
# systemctl enable sddm.service
Configuration
The default configuration file resides at /usr/lib/sddm/sddm.conf.d/default.conf. Never edit this file directly.
Create custom configuration files in /etc/sddm.conf.d/ for your settings. Each configuration file should have a .conf extension.
Autologin
Configure automatic login to bypass the greeter screen entirely:
[Autologin]
User=john
Session=plasma
Replace john with your username. Replace plasma with your session type.
Available session types appear in /usr/share/xsessions/ for X11. Wayland sessions appear in /usr/share/wayland-sessions/.
| Parameter | Purpose | Example |
|---|---|---|
| User | Account name for auto-login | john |
| Session | Desktop environment type | plasma |
Passwordless Login
Configure interactive login without password entry. Users still select their account manually. SSH connections remain password-protected.
Modify /etc/pam.d/sddm:
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
auth include system-login
Create the required group:
# groupadd -r nopasswdlogin
# gpasswd -a username nopasswdlogin
Theme Settings
Configure themes in the [Theme] section of your configuration file. The breeze theme comes with Plasma installations by default.
Current Theme
Set the active theme using the Current parameter:
[Theme]
Current=breeze
Editing Themes
Theme files reside in /usr/share/sddm/themes/. Each theme occupies a separate subdirectory.
Create theme.conf.user in the theme directory to override default settings:
[General]
background=/path/to/background.png
Testing Themes
Preview themes without logging out:
$ sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/breeze
Preview windows appear for each connected display. Shutdown and login actions remain inactive during testing.
User Avatars
SDDM reads user avatars from two locations. Place a PNG image named .face.icon in each user’s home directory. Alternatively, specify a common directory using the FacesDir parameter.
Grant read permissions to the sddm user:
$ setfacl -m u:sddm:x ~/
$ setfacl -m u:sddm:r ~/.face.icon
Numlock
Enable numlock at the login screen:
[General]
Numlock=on
Display Settings
Configure display rotation through X11 settings. Use xrandr commands in the Xsetup script.
Set custom DPI values in the X11 section:
[X11]
ServerArguments=-nolisten tcp -dpi 94
HiDPI Support
HiDPI support enables automatically since version 0.20.0. Manual configuration is unnecessary for most systems.
Virtual Keyboard
Install qt6-virtualkeyboard or an alternative virtual keyboard package.
Configure the input method:
[General]
InputMethod=qt6-virtualkeyboard
A button appears in the lower-left corner to activate the keyboard.
Fingerprint Authentication
Configure fingerprint readers through fprint integration. Register fingerprints before modifying SDDM configuration.
Add to /etc/pam.d/sddm:
auth sufficient pam_fprintd.so
Rootless Mode
SDDM version 0.20.0 introduced unprivileged session support. Rootless mode enhances security by running without root privileges.
Enable rootless X11 sessions:
[General]
DisplayServer=x11-user
Replace x11-user with wayland for Wayland sessions.
Wayland Configuration
SDDM considers Wayland support experimental. The default compositor is weston. KDE users should specify kwin_wayland.
Configure KWin as the Wayland compositor:
[General]
DisplayServer=wayland
[Wayland]
CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1
Matching Plasma Display Settings
Copy display configuration from your user profile to SDDM:
# cp ~/.config/kwinoutputconfig.json /var/lib/sddm/.config/
# chown sddm:sddm /var/lib/sddm/.config/kwinoutputconfig.json
Troubleshooting
Blank Screen Issues
Check available disk space. Insufficient space prevents the greeter from loading:
$ df -h
Switch to another TTY and restart SDDM if disk space is adequate.
Missing Users
SDDM displays users with UID between 1000 and 60513 by default. Modify the range for users outside these limits:
[Users]
MinimumUid=500
MaximumUid=65000
Avatar Display Problems
Avatars disable automatically when user count exceeds the threshold. Adjust the limit:
[Theme]
EnableAvatars=true
DisableAvatarsThreshold=10
Keyboard Layout
SDDM loads the keyboard layout from /etc/X11/xorg.conf.d/00-keyboard.conf. Generate this file using:
$ localectl set-x11-keymap layout
NVIDIA Black Screen
Black screens after logout on NVIDIA hardware require early KMS initialization. Enable early loading in your initramfs configuration.
FAQs
Yes, SDDM supports Wayland sessions since version 0.20. The greeter runs in X11 by default, with experimental Wayland greeter support available.
Create a theme.conf.user file in the theme directory to override default settings. SDDM uses QML for advanced theme customization.
SDDM works on most Linux distributions through their package managers. It integrates best with KDE Plasma and LXQt desktop environments.
Create a configuration file in /etc/sddm.conf.d/ with Autologin section. Specify your username and session type to bypass the login screen.
SDDM requires PNG format for user avatars. Place .face.icon files in home directories or configure a common directory using FacesDir parameter.