Go to file
justforlxz 39280e4ed4 fix: all window force has titlebar
reset titlebar when personalization does not set notitlebar

Log:
2024-10-17 18:48:15 +08:00
.github chore: add auto-update submodule 2024-08-29 10:12:05 +08:00
LICENSES refactor: remove ddm 2024-05-09 13:08:33 +08:00
debian refactor(greeter): rm useless module 2024-10-11 15:50:00 +08:00
misc feat: add surface blur background 2024-10-17 13:54:14 +08:00
nix chore: fix build on nixos 2024-05-14 17:14:40 +08:00
src fix: all window force has titlebar 2024-10-17 18:48:15 +08:00
tests fix: dtk notitlebar 2024-10-17 17:23:49 +08:00
waylib@c75d921651 chore: update waylib submodule 2024-10-11 10:17:19 +08:00
.clang-format chore: format code 2024-09-25 13:07:23 +08:00
.editorconfig feat: add `.editorconfig` 2024-03-07 11:26:41 +08:00
.envrc chore: fix not found qtsvg in nixos 2024-01-24 21:47:19 +08:00
.gitignore chore: code review for dconfig and debian files 2024-09-09 10:20:21 +08:00
.gitmodules
CMakeLists.txt chore: correct cmake 2024-10-11 15:24:23 +08:00
CMakePresets.json feat: add clang for cmake presets 2024-09-20 16:38:58 +08:00
README.md
README.zh_CN.md
REUSE.toml chore: upgrade licenses 2024-09-18 18:32:26 +08:00
flake.lock chore(deps): lock file maintenance 2024-06-26 14:18:17 +08:00
flake.nix fix: xwayland item can't get input and can't move 2024-05-27 03:25:52 +00:00
garnix.yaml feat: allow ddm works in nixos 2024-03-06 13:21:37 +08:00
renovate.json feat: automate nix updates with renovate 2023-12-12 15:16:16 +08:00

README.md

INTRODUCTION

DDM is a fork of SDDM. And use single compositor and session management functionality.

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 "ddm" whose home directory needs to be set to /var/lib/ddm.

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 "ddm" 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:ddm:x /home/username
setfacl -m u:ddm: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/ddm.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.