- Simple Desktop Display Manager (SDDM) is a display manager (a graphical login program and session manager) for the X11 and Wayland windowing systems. SDDM was written from scratch in C++11 and supports theming via QML.
- 1 Installation
- 2 Configuration
- 2.1 Autologin
- 2.2 Unlock KDE Wallet automatically on login
- 2.3 Theme settings
- 2.4 Numlock
- 2.5 Rotate display
- 2.6 DPI settings
- 2.7 Enable HiDPI
- 2.8 Enable virtual keyboard
- 2.9 Using a fingerprint reader
- 3 Troubleshooting
- 3.1 Blank screen with cursor, but no greeter shows
- 3.2 Long load time before SDDM shows the greeter
- 3.3 Hangs after login
- 3.4 SDDM starts on tty1 instead of tty7
- 3.5 One or more users do not show up on the greeter
- 3.6 User avatars do not show up on the greeter
- 3.7 SDDM loads only US keyboard layout
- 3.8 Screen resolution is too low
- 3.9 Long load time on autofs home directory
Follow Display manager#Loading the display manager to start SDDM at boot.
The default configuration file for SDDM can be found at
/usr/lib/sddm/sddm.conf.d/default.conf. For any changes, create configuration file(s) in
/etc/sddm.conf.d/. See for all options.
Everything should work out of the box, since Arch Linux uses systemd and SDDM defaults to using
systemd-logind for session management.
SDDM supports automatic login through its configuration file, for example:
[Autologin] User=john Session=plasma.desktop
This configuration causes a KDE Plasma session to be started for user
john when the system is booted. Available session types can be found in
/usr/share/xsessions/ for X and in
/usr/share/wayland-sessions/ for Wayland.
An option to autologin into KDE Plasma while simultaneously locking the session is not available 
You can add a script that activates the screensaver of KDE to the autostart as a workaround:
#!/bin/sh /usr/bin/dbus-send --session --type=method_call --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock &
Unlock KDE Wallet automatically on login
Theme settings can be changed in the
[Theme] section. If you use Plasma's system settings, themes may show previews.
breeze for the default Plasma theme.
Some themes are available in the AUR, for example AUR.
Set the current theme through the
Current value, e.g.
The default SDDM theme directory is
/usr/share/sddm/themes/. You can add your custom made themes to that directory under a separate subdirectory. Note that SDDM requires these subdirectory names to be the same as the theme names. Study the files installed to modify or create your own theme.
Testing (previewing) a theme
You can preview an SDDM theme if needed. This is especially helpful if you are not sure how the theme would look if selected or just edited a theme and want to see how it would look without logging out. You can run something like this:
$ sddm-greeter --test-mode --theme /usr/share/sddm/themes/breeze
This should open a new window for every monitor you have connected and show a preview of the theme.
To set the mouse cursor theme, set
CursorTheme to your preferred cursor theme.
Valid Plasma mouse cursor theme names are
User icon (avatar)
SDDM reads the user icon (a.k.a. "avatar") as a PNG image from either
~/.face.icon for each user, or the common location for all users specified by
FacesDir in an SDDM configuration file. The configuration setting can be placed in either
/etc/sddm.conf directly, or, better, a file under
/etc/sddm.conf.d/ such as
To use the
FacesDir location option, place a PNG image for each user named
username.face.icon at the location specified by the
FacesDir key in the configuration file. The default location for
/usr/share/sddm/faces/. You can change the default
FacesDir location to suit your needs. Here is an example:
The other option is to put a PNG image named
.face.icon at the root of your home directory. In this case, no changes to any SDDM configuration file is required. However, you need to make sure that
sddm user can read the PNG image file(s) for the user icon(s).
~/.face.iconis a symlink to that file. If the user icon images are symlinks, you need to set proper file permissions to the target files.
To set proper permissions run:
$ setfacl -m u:sddm:x ~/ $ setfacl -m u:sddm:r ~/.face.icon
You can check permissions with:
$ getfacl ~/ $ getfacl ~/.face.icon
If you want to enforce Numlock to be enabled, set
Numlock=on in the
Sometimes it is useful to set up the correct monitor's PPI settings on a "Display Manager" level. To do so you need to add to
ServerArguments the parameter
-dpi your_dpi at the end of the string. For example:
[X11] ServerArguments=-nolisten tcp -dpi 94
Create the following file:
[Wayland] EnableHiDPI=true [X11] EnableHiDPI=true
Enable virtual keyboard
Create the following file:
SDDM now displays a button in lower-left corner of login screen to open the virtual keyboard.
Using a fingerprint reader
SDDM works with a fingerprint reader when using fprint. After installing fprint and adding fingerprint signatures, add the line
auth sufficient pam_fprintd.so at the beginning of
In KDE's lock screen it is also possible to use either password or fingerprint, this can be done by adding the following to the top of the auth section:
auth sufficient pam_unix.so try_first_pass likeauth nullok auth sufficient pam_fprintd.so
The above also works with SDDM (
/etc/pam.d/sddm) but seems to require KWallet to be unlocked separately.
If you now press enter in the empty password field, the fingerprint reader should start working.
Blank screen with cursor, but no greeter shows
Greeter crashes if there is no available disk space. Check your disk space with
Long load time before SDDM shows the greeter
Hangs after login
~/.Xauthority and logging in again without rebooting. Rebooting without logging in creates the file again and the problem will persist.
SDDM starts on tty1 instead of tty7
SDDM follows the systemd convention of starting the first graphical session on tty1. If you prefer the old convention where tty1 through tty6 are reserved for text consoles, change the default value of
MinimumVT variable, which comes under the
One or more users do not show up on the greeter
SDDM only displays users with a UID in the range of 1000 to 60000 by default (the values are taken from
/etc/login.defs at compile time). If the UIDs of the desired users are outside this range then you will have to modify the range.
For example, for a UID of 501, decrease the minimum UID and hide those with shells used by system users:
[Users] HideShells=/usr/bin/nologin,/sbin/nologin,/bin/false,/usr/bin/git-shell MinimumUid=500
For users with a higher UIDs, like those used by systemd-homed, increase the maximum UID:
User avatars do not show up on the greeter
User avatars are not shown on the greeter if the number of users exceeds DisableAvatarsThreshold parameter or if avatars are not enabled at all as controlled by EnableAvatars parameter. To circumvent this add the following lines to your sddm configuration:
[Theme] EnableAvatars=true # enable avatars DisableAvatarsThreshold=7 # set the threshold for the number of users. Avatars are not shown if this threshold is exceeded.
SDDM loads only US keyboard layout
SDDM loads the keyboard layout specified in
/etc/X11/xorg.conf.d/00-keyboard.conf. You can generate this configuration file by
localectl set-x11-keymap command. See Keyboard configuration in Xorg for more information.
An alternative way of setting the keyboard layout that will only set it in SDDM and not subsequent sessions is to invoke a setxkbmap command in the startup script of SDDM, located at
/usr/share/sddm/scripts/Xsetup. See Xorg/Keyboard configuration#Using setxkbmap for examples.
Screen resolution is too low
If even the above fails, you can try setting your screen size in a Xorg configuration file:
Section "Monitor" Identifier "<default monitor>" DisplaySize 345 194 # in millimeters EndSection
Long load time on autofs home directory
SDDM by default tries to display avatars of users by accessing
~/.face.icon file. If your home directory is an autofs, for example if you use dm-crypt, this will make it wait for 60 seconds, until autofs reports that the directory cannot be mounted.
You can disable avatars by creating the following configuration file: