LightDM is a cross-desktop display manager. A display manager is a daemon that:

  • Runs display servers (e.g. X) where necessary.
  • Runs greeters to allow users to pick which user account and session type to use.
  • Allows greeters to perform authentication using PAM.
  • Runs session processes once authentication is complete.
  • Provides remote graphical login options.

Key features of LightDM are:

  • Cross-desktop – supports different desktop technologies.
  • Supports different display technologies (X, Mir, Wayland …).
  • Lightweight – low memory usage and fast performance.
  • Guest sessions.
  • Supports remote login (incoming – XDMCP, VNC, outgoing – XDMCP, pluggable).
  • Comprehensive test suite.

Source: https://github.com/canonical/lightdm

Setup LightDM to work nicely on Multidisplay systems

Use Arandr to fix display setup on multi-display for LightDM

For EndeavourOS (and other Archlinux based):

  1. Install arandr from repositories: sudo pacman -S arandr
  2. setup displays with arandr.
  3. save the setup as monitor in the given directory.
  4. copy the saved script to lightdm directory:
    sudo cp ~/.screenlayout/monitor.sh /etc/lightdm/
  5. make it executable:
    sudo chmod +x /etc/lightdm/monitor.sh
  6. edit lightdm.conf:
    sudo nano /etc/lightdm/lightdm.conf
    uncomment the display setup option and add the path to the script:
    display-setup-script=/etc/lightdm/monitor.sh
    (you can also add this line at the end of the file)
    save the file [Ctrl+X]
  7. restart lightdm to see if it is working:
    sudo systemctl restart lightdm

Troubleshooting:

  1. Lightdm fails to start at all (black screen with no login GUI showing up)

lightdm have an issue where it happens that it starts faster than X is ready, or the GPU driver is not fully loaded, one solution is to set logind-check-graphical=true inside lightdm.conf

uncomment the line #set logind-check-graphical=false and change from false to true like so:

set logind-check-graphical=true

There are several different cases where Lightdm can fail to start, mostly it is the case if GPU driver is not loading at all or to late. what makes X system fail to be available for lightdm.

It can be also typo or wrong setting in the config file/s, as EndeavourOS using lightdm-gtk-greeter per default it can be missing one of the needed packages ( lightdm lightdm-gtk-settings lightdm-gtk-greeter) causing it failing to start.

Lightdm has also build-in debugging mode you can start from CLI if it fails:

lightdm --test-mode --debug

You can also run this from terminal if X is running.

May you need to install Xephyr:

sudo pacman -S xorg-server-xephyr

will give a debugging log like this:

Going to the debugging output you can find the culprit of what may cause the issue for you.

As the status mostly do not give helpful output:

systemctl status lightdm

Connect with us:

LightDM

  • by