Go to file
Peter b704e2ee35
Introduce utmps support (#1962)
utmps library can be used to provide utmp functionality on systems whose
libcs do not implement it, e.g. musl.

For more details, see https://skarnet.org/software/utmps/.

Signed-off-by: Peter Shkenev <petershh@disroot.org>
2024-07-11 19:55:24 +02:00
.github/workflows Try to fix the CI 2024-02-20 11:25:51 +01:00
cmake Introduce utmps support (#1962) 2024-07-11 19:55:24 +02:00
components Themes: fix deprecated signal handler declarations 2024-02-27 16:35:55 +01:00
data Switch back to greeter when logind emits SecureAttentionKey 2024-07-09 09:11:56 +02:00
docs Docs: add QtVersion information to THEMING 2024-02-27 16:35:55 +01:00
releng Add a link to Bountysource 2018-09-26 21:10:17 +02:00
services cmake: remove the final (Arch) PAM modules 2024-03-04 14:25:57 +01:00
src Introduce utmps support (#1962) 2024-07-11 19:55:24 +02:00
test Add test for reading session files 2023-06-26 11:26:03 +01:00
.commit-template Remove wiki reference from commit template 2014-08-10 01:40:39 +00:00
.gitattributes Add .gitattributes 2018-02-26 09:03:42 +01:00
.gitignore GitHub workflow 2020-11-03 10:32:48 +01:00
.mailmap Update mailmap 2017-02-26 19:08:11 +01:00
ChangeLog bump to 0.21.0 and start changelog 2024-02-26 11:23:03 +01:00
CMakeLists.txt Introduce utmps support (#1962) 2024-07-11 19:55:24 +02:00
CONTRIBUTORS Update contributors list 2017-12-05 12:42:23 +01:00
INSTALL.md Use Markdown for INSTALL 2015-10-31 05:10:55 +02:00
LICENSE Update license files 2016-05-04 20:28:58 +03:00
LICENSE.CC-BY-3.0 Update license files 2016-05-04 20:28:58 +03:00
README.md Mark wayland support as experimental 2023-06-23 14:28:38 +02:00

INTRODUCTION

IRC Network

SDDM is a modern display manager for X11 and Wayland sessions aiming to be fast, simple and beautiful. It uses modern technologies like QtQuick, which in turn gives the designer the ability to create smooth, animated user interfaces.

SDDM is extremely themeable. We put no restrictions on the user interface design, it is completely up to the designer. We simply provide a few callbacks to the user interface which can be used for authentication, suspend etc.

To further ease theme creation we provide some premade components like a textbox, a combox etc.

There are a few sample themes distributed with SDDM. They can be used as a starting point for new themes.

SCREENSHOTS

sample screenshot

VIDEOS

RESOURCES

INSTALLATION

Qt >= 5.15.0 is required to use SDDM.

SDDM runs the greeter as a system user named "sddm" whose home directory needs to be set to /var/lib/sddm.

If pam and systemd are available, the greeter will go through logind which will give it access to drm devices.

Distributions without pam and systemd will need to put the "sddm" user into the "video" group, otherwise errors regarding GL and drm devices might be experienced.

VIRTUAL TERMINALS

SDDM is assumed to start at the tty specified by the cmake variable SDDM_INITIAL_VT which is an integer and defaults to 1.

If SDDM_INITIAL_VT wasn't available, SDDM will use the next available one instead.

You can override SDDM_INITIAL_VT if you want to have a different one if, for example, you were planning on using tty1 for something else.

LICENSE

Source code of SDDM is licensed under GNU GPL version 2 or later (at your choosing). QML files are MIT licensed and images are CC BY 3.0.

TROUBLESHOOTING

NVIDIA Prime

Add this at the bottom of the Xsetup script:

if [ -e /sbin/prime-offload ]; then
    echo running NVIDIA Prime setup /sbin/prime-offload, you will need to manually run /sbin/prime-switch to shut down
    /sbin/prime-offload
fi

No User Icon

SDDM reads user icon from either ~/.face.icon or FacesDir/username.face.icon

You need to make sure that SDDM user have permissions to read those files. In case you don't want to allow other users to access your $HOME you can use ACLs if your filesystem does support it.

setfacl -m u:sddm:x /home/username
setfacl -m u:sddm:r /home/username/.face.icon

Custom DPI

In order to set custom DPI for high resolution screens you should configure Xorg yourself. An easy way is to pass an additional argument to Xorg.

Edit /etc/sddm.conf, go to the X11 section and change ServerArguments like this:

ServerArguments=-nolisten tcp -dpi 192

to set DPI to 192.

As an alternative you can edit Xorg configuration xorg.conf, please refer to the Xorg documentation.