How to Set Up a Display Manager (SDDM, LightDM, GDM) on Arch Linux

How to Set Up a Display Manager (SDDM, LightDM, GDM) on Arch Linux

Arch Linux is known for its minimalist approach, giving users full control over what to install and how to configure their system. One important component of a Linux graphical environment is the display manager. It provides a graphical login interface and manages user sessions.

In this article, we’ll explore how to install and configure three popular display managers on Arch Linux:

  • SDDM (Simple Desktop Display Manager)
  • LightDM
  • GDM (GNOME Display Manager)

We’ll go through installation, enabling the service, and some basic configurations. Let’s get started.


What is a Display Manager?

A display manager (DM) is a graphical login interface for Linux systems that starts the X server or Wayland session and loads your desktop environment (DE) or window manager (WM).

While it’s optional (you can log in from the terminal and start X manually), a display manager makes life easier, especially for new users or multi-user systems.

Popular display managers include:

  • SDDM – often used with KDE Plasma
  • LightDM – lightweight and flexible, suitable for various DEs
  • GDM – default for GNOME, robust and integrates well with GNOME components

Prerequisites

Before setting up a display manager, ensure the following:

  1. You have a working Arch Linux system.
  2. You’ve installed a desktop environment (like KDE, GNOME, XFCE) or window manager (like i3, bspwm).
  3. You have sudo privileges.

If you haven’t installed a desktop environment yet, here’s an example of how to install KDE Plasma:

sudo pacman -S plasma kde-applications

Similarly, for GNOME:

sudo pacman -S gnome

And for XFCE:

sudo pacman -S xfce4 xfce4-goodies

Now let’s move on to setting up each display manager.


1. Setting Up SDDM (Simple Desktop Display Manager)

Step 1: Install SDDM

SDDM is the recommended display manager for KDE Plasma but works with other DEs too.

sudo pacman -S sddm

If you’re using KDE Plasma, install the KDE greeter theme:

sudo pacman -S sddm-kcm

Step 2: Enable SDDM Service

Enable and start SDDM so it launches on boot:

sudo systemctl enable sddm.service
sudo systemctl start sddm.service

Step 3: Customize SDDM

SDDM is customizable with themes. You can find themes on https://store.kde.org.

To list available themes:

ls /usr/share/sddm/themes/

To change the theme, edit the configuration file:

sudo nano /etc/sddm.conf

Or create one with:

sudo sddm --example-config > /etc/sddm.conf

In the [Theme] section, specify:

[Theme]
Current=breeze

You can also configure settings like autologin:

[Autologin]
User=username
Session=plasma.desktop

2. Setting Up LightDM

Step 1: Install LightDM and a Greeter

LightDM is lightweight and modular. You need both the base package and a greeter (UI).

Install LightDM and the GTK greeter (good for XFCE, MATE):

sudo pacman -S lightdm lightdm-gtk-greeter

Other greeters include:

  • lightdm-webkit2-greeter – for web-based themes
  • lightdm-slick-greeter – used by Linux Mint

Step 2: Enable LightDM

sudo systemctl enable lightdm.service
sudo systemctl start lightdm.service

Step 3: Configure LightDM

Main config: /etc/lightdm/lightdm.conf

To set the greeter:

[Seat:*]
greeter-session=lightdm-gtk-greeter

Customize the greeter appearance:

sudo nano /etc/lightdm/lightdm-gtk-greeter.conf

Example:

[greeter]
theme-name=Adwaita
icon-theme-name=Papirus
background=/usr/share/backgrounds/xfce/xfce-blue.jpg

Themes and background images help personalize your login screen.


3. Setting Up GDM (GNOME Display Manager)

Step 1: Install GDM

GDM is the default display manager for GNOME.

sudo pacman -S gdm

Installing GNOME DE will also install GDM in most cases.

Step 2: Enable GDM

sudo systemctl enable gdm.service
sudo systemctl start gdm.service

Step 3: Configure GDM

GDM does not have as much theming flexibility as SDDM or LightDM. It uses GNOME Shell themes and follows GNOME’s design philosophy.

To change themes:

  • Install GNOME Shell extensions and tweak tools
  • Use gnome-tweaks:
sudo pacman -S gnome-tweaks

Note: Changing GDM’s theme often requires modifying system files (e.g., /usr/share/gnome-shell/theme/), which is not recommended unless you’re confident.

GDM handles both X and Wayland sessions, depending on availability.


Switching Between Display Managers

Only one display manager should be enabled at a time.

To switch, disable the current one:

sudo systemctl disable gdm.service  # or lightdm, sddm

Then enable the new one:

sudo systemctl enable sddm.service

Then reboot:

sudo reboot

Troubleshooting Tips

1. Blank screen or failed login

  • Check logs with journalctl -xe or journalctl -u sddm.service
  • Verify your DE is properly installed
  • Test X session manually:
startx

2. Wrong session starts

Ensure session files exist in /usr/share/xsessions/ or /usr/share/wayland-sessions/.

You can set the default session in your display manager’s config:

  • For SDDM: Session=plasma.desktop
  • For LightDM: user-session=xfce

3. Autologin issues

Make sure the user exists and session name is correct in the config. Also ensure the user is not locked:

passwd -S username

Unlock with:

sudo passwd username

Choosing the Right Display Manager

Here’s a quick comparison to help you choose:

FeatureSDDMLightDMGDM
Best forKDE PlasmaXFCE, MATE, LXDEGNOME
CustomizabilityHigh (themes)High (greeters)Low
Wayland supportLimitedDepends on DENative
Resource usageModerateLowHigher

Recommendation:

  • KDE: Use SDDM
  • XFCE/MATE/LXDE: Use LightDM
  • GNOME: Use GDM

Conclusion

Setting up a display manager on Arch Linux enhances your desktop experience by offering a polished graphical login. Whether you choose SDDM, LightDM, or GDM, each one offers flexibility and integration with different desktop environments.

Arch’s do-it-yourself philosophy means you’re free to explore, tweak, and configure your system exactly how you like it. Whichever display manager you go with, make sure it matches your DE for the best user experience.

Once your DM is running, you’ll be greeted with a clean and convenient login screen every time you boot your system.


Further Reading: