Go to file
LittFlower a8fee9025c Fix: Update the TiledLayout logic
Log: Rewritten and improved Tinywl's tiled layout logic, added 4 types of tiled logic and workspace management functions, renamed some variables to make it more compliant with code standards, removed useless comments to streamline the code, and maintained some features to improve user experience .
2024-10-29 19:12:13 +08:00
.github chore: add issue template 2024-05-24 14:59:43 +08:00
.obs feat: check qt >= 6.6.1 and remove deepin_testing ci 2024-01-17 13:09:16 +08:00
.reuse feat(wallpaper): add default wallpaper 2024-06-13 17:29:56 +08:00
LICENSES refactor: remove ddm 2024-05-09 13:08:33 +08:00
data refactor: sync waylib changes 2024-06-26 13:39:04 +08:00
debian chore: release 0.2.3 2024-07-02 15:07:48 +08:00
nix chore: fix build on nixos 2024-05-14 17:14:40 +08:00
src Fix: Update the TiledLayout logic 2024-10-29 19:12:13 +08:00
tests fix: Remove the treeland field from the protocol file interface 2024-06-27 02:11:11 +00:00
waylib@e138aa2acb chore: update waylib submodule 2024-07-02 13:45:32 +08:00
.clang-format feat(format): add `.clang-format` & format C++ code 2024-05-20 02:01:23 +00: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 Fix: Update the TiledLayout logic 2024-10-29 19:12:13 +08:00
.gitmodules fork from sddm 2023-09-04 17:27:44 +08:00
CMakeLists.txt Fix: Update the TiledLayout logic 2024-10-29 19:12:13 +08:00
README.md Update project files license 2023-09-15 17:06:31 +08:00
README.zh_CN.md chore: add README.zh_CN.md 2023-12-12 10:40:57 +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.