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):
- Install arandr from repositories:
sudo pacman -S arandr
- setup displays with arandr.
- save the setup as monitor in the given directory.
- copy the saved script to lightdm directory:
sudo cp ~/.screenlayout/monitor.sh /etc/lightdm/
- make it executable:
sudo chmod +x /etc/lightdm/monitor.sh
- 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] - restart lightdm to see if it is working:
sudo systemctl restart lightdm

Troubleshooting:
- 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
