Fact-checked by Grok 2 weeks ago

Simple Desktop Display Manager

The Simple Desktop Display Manager (SDDM) is a graphical login program and session manager for X11 and windowing systems on and other operating systems, built using technologies to deliver a fast, simple, and visually appealing . It functions as a display manager by handling user , session startup, and virtual terminal management, running the greeter process under a dedicated system user for . SDDM is particularly noted for its high customizability through QML-based theming, which allows designers to create modern interfaces without restrictions, including premade components like text boxes and combo boxes for and session selection. It supports features such as autologin, HiDPI scaling (enabled by default since version 0.20), and integration with systemd-logind for device management, making it suitable for multi-monitor setups and passwordless logins. As a cross-desktop solution, SDDM is the standard and recommended display manager for the and environments, with compatibility for other desktops via session files in standard directories. Development of SDDM emphasizes modern Qt versions (requiring Qt 5.15 or later) and ongoing improvements in support, with releases addressing enhancements like Qt 6 co-installability and better virtual terminal switching. It is configured via files in /etc/sddm.conf or subdirectory drop-ins, and installation is straightforward on distributions like and , where it can be enabled as the default display manager.

Overview

Description

The Simple Desktop Display Manager (SDDM) is a display manager, serving as a graphical login program and session manager for the X11 and Wayland windowing systems. It provides users with an interface to authenticate and select desktop environments or sessions before launching the graphical user interface. SDDM is written from scratch in C++11, leveraging QtQuick for its user interface components, and supports theming through QML, which enables customizable and animated login screens without imposing design restrictions. As free and open-source software licensed under the GNU General Public License version 2 or later, it is distributed with source code available for modification and redistribution. The project emphasizes being fast, simple, and beautiful, utilizing modern technologies to deliver a lightweight yet visually appealing experience. Developed as the successor to the (KDM), SDDM is particularly recommended for environments like Plasma and .

Purpose and Functionality

The Simple Desktop Display Manager (SDDM) serves as a graphical for operating systems, primarily responsible for initializing the display server during the boot process and facilitating secure user access to graphical sessions on X11 or . Upon system startup, SDDM activates on virtual terminal 1 (VT1) by default, replacing the traditional text-based console with a graphical interface that handles the transition to user environments. This role ensures that the display server—whether Xorg for X11 or a Wayland compositor—is properly launched and configured before presenting login options to the user. At its core, SDDM manages user via the Pluggable Authentication Modules () framework, verifying credentials and enabling features like passwordless or when configured. It allows users to select from available sessions listed in /usr/share/xsessions/ for X11 or /usr/share/wayland-sessions/ for , then starts the chosen or upon successful . This process supports both manual entry and automated autologin, where a predefined user and session can be set for streamlined access. SDDM further handles power management events, such as suspend, resume, shutdown, and , by integrating with systemd-logind for device access and session control on systemd-based systems. The greeter , which renders the screen, operates under a dedicated system user named "sddm" with its at /var/lib/sddm, isolating it from regular user privileges to enhance . This setup supports multiple virtual terminals while maintaining focus on VT1 for the primary display.

History

Origins and Development

The Simple Desktop Display Manager (SDDM) was created by Turkish developer Abdurrahman Avci in early 2013 as a lightweight alternative to the (KDM), which had grown complex and outdated with a codebase dating back decades. Avci initiated the project to address the need for a modern, efficient display manager that could leverage and for flexible theming and smooth animations, while minimizing dependencies such as and XCB. This effort was driven by community demands for a QML-based interface that KDM had never implemented, aiming to support both X11 and emerging sessions from the outset. SDDM's first release, version 0.1.0, occurred on March 20, 2013, marking its debut as a Qt-based solution specifically tailored for the upcoming desktop environment. The initial development focused on simplicity and performance, transitioning from Qt 4/ 1 to 5/ 2 to enable advanced features like GPU-accelerated effects once 5 achieved broader adoption. By mid-2013, early adopters in distributions like began evaluating SDDM as a potential default for spins. Ongoing development has been a collaborative open-source effort hosted on , with significant contributions from the , , and Liri projects, alongside dozens of individual volunteers. The project remains active, requiring Qt 5.15.0 or later for builds to ensure compatibility with modern QtQuick technologies and integration. developers have integrated SDDM configuration modules into workspaces since version 5.2, solidifying its role as the recommended display manager for 5 and beyond.

Major Releases

The Simple Desktop Display Manager (SDDM) was first released in version 0.1.0 on , 2013, marking its debut as a , Qt-based display manager initially focused on X11 support. Developed as a alternative to KDM, this initial stable release emphasized simplicity and modern QML theming while requiring minimal dependencies like and XCB. It garnered interest from projects like the . Subsequent releases in 2014 and early 2015 refined core functionality, with SDDM gaining prominence through its integration as the default display manager for KDE Plasma 5 starting with Plasma 5.2 in January 2015. This milestone solidified SDDM's role in major desktop environments, replacing older managers like KDM. A key advancement came in version 0.12.0, released on September 5, 2015, which introduced initial experimental support for launching Wayland sessions alongside continued X11 compatibility. Later versions focused on stability and expanded protocol support. For instance, release 0.19.0 on November 3, 2021, enhanced integration by improving VT setup and session handling. Version 0.20.0, issued on June 23, 2023, added 6 compatibility and better /X11 session management. The most recent stable release, 0.21.0 on February 26, 2024, brought coinstallable 5/6 greeters and further keyboard layout improvements. Ongoing development continues under the KDE project and community contributions, with future releases aiming toward version 1.0. As of March 2025, KDE developers have begun work on a new Plasma login manager to potentially replace SDDM, citing long-standing challenges with its integration.
VersionRelease DateKey Milestone
0.1.0March 20, 2013Initial stable release with X11 focus.
0.12.0September 5, 2015First Wayland session support.
0.19.0November 3, 2021Enhanced Wayland VT and helper integration.
0.20.0June 23, 2023Qt 6 support and improved session handling.
0.21.0February 26, 2024Qt coinstallability and Wayland refinements.

Features

Core Capabilities

The Simple Desktop Display Manager (SDDM) supports both the X11 and display protocols, enabling it to initiate user sessions on either windowing system depending on the configured environment. This dual-protocol compatibility allows SDDM to launch X11-based sessions using traditional X servers or rootless modes, while sessions are supported with experimental greeter since version 0.20, with the greeter interface defaulting to X11 but optionally running under for experimental setups. Version 0.21.0, released in February 2024, further enhanced support with improved keyboard layout switching. For user , SDDM integrates with the Pluggable Modules (PAM) framework to verify credentials such as passwords, providing secure callbacks that handle verification processes through system-defined PAM configurations, typically in /etc/pam.d/sddm. This integration supports extensions like fingerprint authentication via modules such as pam_fprintd.so, ensuring compatibility with diverse security mechanisms without requiring custom backends. SDDM manages user sessions by allowing selection of desktop environments or window managers at , drawing from directories like /usr/share/xsessions/ for X11 and /usr/share/wayland-sessions/ for to populate available options in the greeter interface. It also facilitates automatic for specified users, configurable via settings that designate a username and session type, streamlining access on single-user systems while maintaining security through optional session locking. Regarding power management, SDDM handles events such as suspend and resume through with systemd-logind, providing greeter callbacks to respond to these triggers and ensure proper session restoration upon wakeup. This capability supports seamless transitions during low-power states, with the display manager restarting or relocking sessions as needed to maintain system stability.

Theming and User Interface

SDDM's theming system is highly customizable, allowing developers full freedom in designing the without any imposed restrictions, as the display manager provides only essential callbacks for the process. Themes are implemented using , leveraging the QtQuick framework to create hardware-accelerated interfaces with fluid animations and smooth transitions, enabling dynamic elements like fading effects or scaling visuals during user interactions. To facilitate theme development, SDDM includes a set of premade components within the SddmComponents module, such as TextBox for password and username input, ComboBox for session selection populated via the sessionModel, and Clock for displaying the current time with customizable formatting. These components integrate seamlessly with provided models like userModel for user lists and screenModel for support, allowing developers to build interactive elements efficiently. Since version 0.21.0, themes can specify the used version for better co-installability. Sample themes, including the basic theme for minimalistic layouts and the theme featuring a modern, gradient-based design, are available in the project repository and related resources to serve as starting points for customization. These examples demonstrate incorporate custom backgrounds, such as images or solid colors defined in theme.conf, alongside adjustable layouts for elements like user avatars via the picturebox component. Theme selection is managed through the SDDM configuration file, where the [Theme] Current= option specifies the active theme directory, enabling users to switch between options that alter backgrounds, interactive layouts, and behaviors like button animations. Custom per-user overrides can be applied via , ensuring persistent changes across system updates, while the config object in allows themes to read settings dynamically for elements like font sizes or color schemes. This approach integrates the core authentication flow—such as login method calls—directly into the theme's code for a cohesive .

Technical Details

Architecture

SDDM employs a modular architecture consisting of a QML-based greeter for the user interface and a C++ backend responsible for session management and authentication. The greeter, implemented using QtQuick, provides a flexible and themeable login screen with components such as text fields and session selectors, while the backend handles core operations like user verification and display server initialization separately to ensure efficiency and maintainability. Since version 0.20.0, X11 and Wayland session launching occurs in separate processes to improve isolation. As of 0.21.0, the greeter supports co-installation for both Qt 5 and Qt 6. On Unix-like systems, SDDM operates as a systemd service, which launches the display server upon startup. For X11 sessions, it invokes the Xorg server with default arguments including -nolisten tcp to enhance security by disabling TCP listening sockets. In the case of Wayland sessions, SDDM executes the corresponding compositor based on the selected session file from directories like /usr/share/wayland-sessions. This integration allows seamless support for both display protocols without requiring manual intervention. SDDM's security model isolates the greeter process by running it under a dedicated system user account named "sddm", preventing direct access to privileges and reducing potential vulnerabilities during . The "sddm" user typically belongs to the video group for necessary hardware access, and it uses and, on systems with systemd-logind, leverages it for secure device handling. Authentication data, such as Xauthority files, is temporarily managed in /tmp to further compartmentalize sensitive operations.

Configuration Options

The configuration of the Simple Desktop Display Manager (SDDM) is primarily handled through INI-style files, allowing system administrators to customize such as autologin, themes, and display server options. The main is located at /etc/sddm.conf, which provides a for direct overrides; however, for modular changes, files can be placed in the /etc/sddm.conf.d/ directory, where they are read in lexicographical order. Default settings are defined in /usr/lib/sddm/sddm.conf.d/default.conf or the broader /usr/lib/sddm/sddm.conf.d/ directory, ensuring that local configurations take precedence without modifying files. Key sections within these files include [Autologin], which enables automatic login for a specified user upon system boot. In this section, the User parameter sets the username (e.g., User=exampleuser), Session specifies the desktop session (e.g., Session=plasma), and Relogin (default: false) determines whether to relogin after session termination. This feature is useful for kiosks or single-user setups but should be secured appropriately. The [Theme] section controls the visual appearance of the login interface. The Current option selects the active theme by name (e.g., Current=breeze), drawing from the ThemeDir path, which defaults to /usr/share/sddm/themes/. Custom themes are implemented here using QML files for the user interface, along with a theme.conf file for metadata; additional options like FacesDir (default: /usr/share/sddm/faces/) manage user avatars, and Font or CursorTheme allow typography and cursor customization. For X11-specific tuning, the [X11] section includes parameters like XServerArguments, which passes options to the (e.g., XServerArguments=-dpi 192 for high-DPI displays). Other settings cover session directories (SessionDir), logging (SessionLogFile), and scripts for server startup (ServerStartScript). Wayland sessions can be enabled by setting DisplayServer=wayland in the [General] section. Environment variables provide runtime overrides, such as SDDM_INITIAL_VT, which assigns the initial virtual terminal (TTY) for SDDM startup, defaulting to 1 or falling back to 7 if unset; this is particularly relevant during compilation via but can influence deployment on multi-TTY systems. Example configuration snippet for autologin and theme selection:
[Autologin]
User=exampleuser
Session=[plasma](/page/Plasma)
Relogin=false

[Theme]
Current=breeze
These options ensure flexible adaptation to various hardware and user needs while maintaining SDDM's lightweight profile.

Adoption

In Desktop Environments

SDDM is the default and recommended display manager for and later versions, replacing the legacy (KDM) to provide a modern Qt-based login interface that integrates directly with Plasma's architecture. The project officially recommends SDDM as a , along with greetd, for its compatibility in launching LXQt sessions. In the Liri Shell, a convergent QtQuick-based compositor, SDDM is employed to launch sessions, benefiting from shared Qt foundations that ensure consistent rendering and input handling across the login and desktop phases. Across Qt-based desktop environments, SDDM facilitates seamless session startup by directly invoking environment-specific scripts and applying native theming through its QtQuick framework, allowing themes to match the desktop's aesthetic without additional configuration. Its support for sessions further enhances compositing performance in environments like .

In Linux Distributions

SDDM serves as the default display manager for the KDE spin in since version 21, released in December 2014, replacing the older KDM. This adoption was part of 's effort to align with 's recommended display manager for improved integration and theming capabilities. In , SDDM is the default display manager for installations, providing seamless support for both X11 and sessions. It is selected automatically during edition setups, ensuring consistent across the distribution's rolling-release and stable branches. SDDM is widely available and commonly used in other major distributions for and environments, including , where it is recommended for and frequently installed alongside ; , as the standard for Qt-based desktops since Debian 9; Ubuntu's variant, as the default for ; Gentoo, supporting modern X11 and protocols; and , tailored for lightweight / setups. This broad availability stems from its packaging as the sddm package in repositories of most major distributions, often including built-in theme support for customization. KDE Plasma's official recommendation of SDDM further encourages its use across these distributions for optimal desktop integration.

References

  1. [1]
    sddm/sddm: QML based X11 and Wayland display manager - GitHub
    SDDM is a modern display manager for X11 and Wayland sessions aiming to be fast, simple and beautiful. It uses modern technologies like QtQuick.Simple Desktop Display... · Issues 651 · Pull requests 49 · Actions
  2. [2]
    sddm(1) - Arch manual pages
    sddm is a display and login manager based on Qt technologies. Using QtQuick and QML, designers are given the ability to easily create pleasant, modern looking ...
  3. [3]
    SDDM - ArchWiki
    Nov 4, 2025 · The Simple Desktop Display Manager (SDDM) is a display manager. It is the recommended display manager for the LXQt desktop environment.Configuration · Theme settings · Wayland · Troubleshooting
  4. [4]
    SDDM - Debian Wiki
    Oct 7, 2023 · Simple Desktop Display Manager (SDDM) is a cross-desktop X11 and Wayland display manager. It was built to be modern, fast, simple, beautiful, and highly ...
  5. [5]
    Releases · sddm/sddm
    ### Key Milestones in SDDM Development
  6. [6]
    Sddm - openSUSE Wiki
    Jan 13, 2025 · SDDM (Simple Desktop Display Manager) is the prefered Display Manager for KDE Plasma and LXQt. It supports X11 and Wayland. Themes are supported by QML.
  7. [7]
    sddm.conf(5) — Arch manual pages
    ### Summary of sddm.conf(5) Man Page
  8. [8]
    SDDM: A Lightweight QML-Based Display Manager - Phoronix
    SDDM: A Lightweight QML-Based Display Manager. Written by Michael Larabel in KDE on 19 January 2013 at 01:51 PM EST. ... Rust Coreutils 0.4 ...<|control11|><|separator|>
  9. [9]
    SDDM Display Manager Sees Its First Release - Phoronix
    The first release, Simple Desktop Display Manager 0.1.0, was shared via Google+ to the world. As talked about in earlier articles on SDDM, it's a lightweight ...
  10. [10]
    Changes/SDDMinsteadOfKDM - Fedora Project Wiki
    Dec 8, 2013 · Release Notes. KDE spin of Fedora now uses SDDM as its new default display manager. KDM (the previous one) is still available for ...
  11. [11]
    SDDM Is The Recommended Display Manager Of KDE Plasma 5
    Nov 3, 2014 · SDDM has a relatively short history but is a lightweight, QML-based display manager. The first SDDM release was just in March of 2013. ... SDDM is ...
  12. [12]
    KDE Plasma 5.2 Release
    Login theme configuration (SDDM): SDDM is now the login manager of choice for Plasma and this new System Settings module allows you to configure ...
  13. [13]
    0.12.0 Release Announcement · sddm/sddm Wiki - GitHub
    Sep 5, 2015 · The SDDM team is proud to announce the release 0.12.0 of SDDM, the Simple Desktop Display Manager. SDDM is made possible thanks to the ...Missing: major history
  14. [14]
    Simple Desktop Display Manager (SDDM) Now Supports Wayland ...
    Sep 8, 2015 · SDDM 0.12.0 introduces, for the first time ever, support for Wayland session, though the greeter will still run on top of the X.Org Server.
  15. [15]
  16. [16]
  17. [17]
  18. [18]
    Home · sddm/sddm Wiki - GitHub
    SDDM is a modern display manager for X11 and Wayland aiming to be fast, simple and beautiful. It uses modern technologies like QtQuick.
  19. [19]
    Theming · sddm/sddm Wiki - GitHub
    SDDM themes are created using QtQuick framework, a declarative framework to develop next-generation, hardware-accelerated user interfaces with fluid animations.
  20. [20]
    sddm 0.21.0-6 (x86_64) - File List - Arch Linux
    usr/lib/qt/qml/SddmComponents/Button.qml; usr/lib/qt/qml/SddmComponents/Clock.qml; usr/lib/qt/qml/SddmComponents/ComboBox.qml; usr/lib/qt/qml/SddmComponents ...
  21. [21]
    sddm display manager greeter - Ubuntu Manpage
    sddm is a display and login manager based on Qt technologies. Using QtQuick and QML, designers are given the ability to easily create pleasant, modern looking ...
  22. [22]
    sddm.conf - sddm display manager configuration - Ubuntu Manpage
    This file configures various parameters of the sddm display manager sddm(1). If this file is not available, default values are used. OPTIONS. [General] section: ...
  23. [23]
    Launch Sessions - LXQt Wiki
    Display managers like SDDM, the one recommended for LXQt, or LightDM are looking for available x11 sessions in files $XDG_DATA_DIRS/xsessions/*.desktop ...
  24. [24]
    Third-party Apps - LXQt Wiki
    The display manager recommended to be used with LXQt are SDDM or greetd but any ... sddm-conf - GUI for editing SDDM configuration. picom-conf - GUI ...
  25. [25]
    Download - Liri
    After installing the packages, you can log into the desktop from SDDM or GDM , select Liri from the session menu and type your password. Arch Linux. You can ...
  26. [26]
    SDB:Change Display Manager - openSUSE Wiki
    Although the default DM (gdm for GNOME installations, or SDDM for KDE installations) will suffice for most cases, sometimes users will want to change to a non- ...
  27. [27]
    SDDM - Gentoo Wiki
    Simple Desktop Display Manager (SDDM) is a modern display manager that supports both the X server and the Wayland protocol.
  28. [28]
    SDDM - Alpine Linux Wiki
    May 25, 2025 · SDDM, or Simple Desktop Display Manager, is a display manager for Xorg and Wayland aiming to be fast, simple and beautiful.
  29. [29]
    sddm package versions - Repology
    Versions for sddm ; Alpine Linux 3.15 · sddm · 0.19.0 ; Alpine Linux 3.15 · sddm-doc · 0.19.0 ; Alpine Linux 3.15 · sddm-lang · 0.19.0 ; Alpine Linux 3.16 · sddm-openrc ...