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
Note: Arch Linux uses systemd by default. SDDM automatically uses systemd-logind for session management.

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
Warning: KDE Wallet cannot unlock via passwordless login. Use password authentication to enable automatic wallet unlocking.

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.

Note: Test mode displays a preview only. System actions do not function in this mode.

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.

Tip: Older SDDM versions require explicit HiDPI configuration in both X11 and Wayland sections.

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
Warning: KDE Wallet does not support fingerprint unlocking. Password logins automatically unlock the wallet.

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
Warning: Users with UID below 1000 or above 60513 are typically system accounts. Exposing them creates security risks.

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.

Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.