SDDM
Simple Desktop Display Manager (SDDM) is a modern display manager that supports both the X11 server and the Wayland protocol.
By default, clicking the "power off" icon in SDDM will shut down the machine immediately, without asking for confirmation.
Installation
USE flags
USE flags for x11-misc/sddm Simple Desktop Display Manager
elogind
|
Enable session tracking via sys-auth/elogind |
pam
|
Add support for PAM (Pluggable Authentication Modules)DANGEROUS to arbitrarily flip |
systemd
|
Enable use of systemd-specific libraries and features like socket activation or session tracking |
test
|
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) |
Emerge
Install x11-misc/sddm:
root #
emerge --ask x11-misc/sddm
If there are performance issues, it might help to add the sddm user to the video group:
root #
usermod -a -G video sddm
Configuration
Files
SDDM has two configuration files: the package installed /usr/share/sddm/sddm.conf.d/00default.conf and /etc/sddm.conf which is used to override specific options. The second is not created by the package. KDE Plasma writes user changed options to /etc/sddm.conf. Both files have the same format. See comments in the file and man 5 sddm.conf for details on available options.
Prior to 0.18.0
Prior to 0.18.0 the configuration was only in /etc/sddm.conf. Some of the files may have had to be generated manually. If installing 0.18.0, skip ahead to Service section.
Keymap
To select the correct keymap on the login screen, add following lines to the /etc/sddm.conf file:
/etc/sddm.conf
[X11] DisplayCommand=/etc/sddm/scripts/Xsetup
This file is not created automatically when the package is installed so it may need to be created.
Next create the directory /etc/sddm/scripts
root #
mkdir -p /etc/sddm/scripts
and the file /etc/sddm/scripts/Xsetup.
/etc/sddm/scripts/Xsetup
setxkbmap gb,us
the first country code is the default. Finally set execute permissions on the file /etc/sddm/scripts/Xsetup.
root #
chmod a+x /etc/sddm/scripts/Xsetup
Service
OpenRC
With display-manager
If gui-libs/display-manager-init is not present, emerge it with:
root #
emerge --ask gui-libs/display-manager-init
The configuration file should be modified to use SDDM:
/etc/conf.d/display-manager
Set SDDM as the display managerCHECKVT=7 DISPLAYMANAGER="sddm"
To start the chosen display manager on boot, add the display-manager to the system's default runlevel:
root #
rc-update add display-manager default
To start the display-manager immediately, run:
root #
rc-service display-manager start
With the deprecated xdm init script
Set SDDM as the default display manager:
/etc/conf.d/xdm
DISPLAYMANAGER="sddm"
To start SDDM on boot, add xdm to the default runlevel:
The dbus service gets pulled in dynamically.
root #
rc-update add xdm default
To start SDDM now:
root #
/etc/init.d/xdm start
systemd
To start SDDM on boot:
root #
systemctl enable sddm.service
To start SDDM now:
root #
systemctl start sddm.service
Plasma
Graphical configuration is integrated in Plasma 5 system settings by installing kde-plasma/sddm-kcm:
root #
emerge --ask kde-plasma/sddm-kcm
Troubleshooting
SDDM shows the greeter on wrong monitor
If the greeter shows up on the wrong monitor - see this text on archlinux wiki. This also helps, when the panel appears on the non primary monitor.
Long load time before SDDM shows the greeter
A low entropy pool can cause long SDDM load time - see upstream bug report. If using systemd, the graphical target is reached and then everything appears to hang. Moving the mouse or using the keyboard will make the SDDM greeter launch (faster).
Solve the problem by using, for example, the sys-apps/haveged package to increase the entropy pool or by enabling RANDOM_TRUST_CPU kernel config option with a recent-enough CPU.
Permission denied errors in Xorg.log
The X server will not start and permission denied errors (such as the following) are present in the Xorg.log log file:
/var/log/Xorg.log
/var/log/Xorg.0.log:[ 2058.998] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied /var/log/Xorg.0.log:[ 2061.229] (EE) intel(0): [drm] failed to set drm interface version: Permission denied [13].
It is likely the sddm user has not been added to the video group. Running the following command should fix the problem:
root #
usermod -a -G video sddm
Missing system buttons
SDDM only displays buttons if the functionality evaluates to being available. This can depend on several factors. For OpenRC systems using elogind, this can be caused by the service not running when the display manager is initialized. To make sure it is running, just add elogind to the boot run level.
root #
rc-update add elogind boot
Missing users
If the login screen is missing some user(s) to choose from, this might be caused by /etc/sddm.conf - standard MinimumUid
is 1000 and some existing users may have lower uids.
/etc/sddm.conf
[Users] MaximumUid=60000 MinimumUid=1000
SDDM service starts but yields a black screen
On NVIDIA cards, SDDM appears to require DRM enabled and operational according to this closed bug report.
Ensure Direct Rendering Manager is enabled in the kernel. If it isn't, enable it, rebuild the kernel, and re-emerge nvidia-drivers.
Device Drivers ---> Graphics support ---> <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> [*] Enable legacy fbdev support for your modesetting driver
Ensure the nvidia-drm module is configured to load at startup:
/etc/modules-load.d/nvidia-drm.conf
nvidia-drm
Finally, ensure nvidia-drm has modesetting enabled:
/etc/modprobe.d/nvidia-drm.conf
options nvidia-drm modeset=1
Alternatively, modesetting can be enabled on the kernel command line with nvidia-drm.modeset=1. This can be set in the bootloader or embedded in the kernel configuration.
See also
- LightDM — a cross-desktop display manager whose aim is to be the standard display manager for the X server.
- SLiM — a desktop-independent graphical display manager.