Introduction to GDM

GDM is a system service that is responsible for providing graphical logins and managing local and remote displays.

This package is known to build and work properly using an LFS 12.1 platform.

Package Information

GDM Dependencies


AccountsService-23.13.9, DConf-0.40.0, libcanberra-0.30 (built after GTK+-3.24.41), and Linux-PAM-1.6.0



Runtime Dependencies

gnome-session-45.0, gnome-shell-45.4, and Systemd-255

Installation of GDM

It is recommended to have a dedicated user and group to take control of the gdm daemon after it is started. Issue the following commands as the root user:

groupadd -g 21 gdm &&
useradd -c "GDM Daemon Owner" -d /var/lib/gdm -u 21 \
        -g gdm -s /bin/false gdm &&
passwd -ql gdm

Install GDM by running the following commands:

mkdir build &&
cd    build &&

meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Dgdm-xsession=true \
      -Drun-dir=/run/gdm  &&

This package does not come with a usable test suite.

Now, as the root user:

ninja install

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-Dinitial-vt=7: Use this switch to make GDM start on VT7 instead of the first free VT.

-Ddefault-pam-config=lfs: Use this switch if you did not create the /etc/lfs-release file or distribution auto detection will fail and you will be unable to use GDM.

-Dgdm-xsession=true: This enables the installation of the GDM Xsession file.

Configuring GDM

Config Files


Configuration Information

The GDM daemon is configured using the /etc/gdm/custom.conf file. Default values are stored in GSettings in the gdm.schemas file. It is recommended that end-users modify the /etc/gdm/custom.conf file because the schemas file may be overwritten when the user updates their system to have a newer version of GDM.

On some systems with NVIDIA GPUs, GDM will hide Wayland sessions by default. This is often done to prevent users from encountering problems with buggy drivers, which can result in system lockups, application crashes, power management problems, and graphics slowdowns. If you have an NVIDIA GPU and still want to try running Wayland sessions anyway, execute the following command as the root user:

ln -s /dev/null /etc/udev/rules.d/61-gdm.rules

Systemd Unit

To start the gdm daemon at boot, enable the previously installed systemd unit by running the following command as the root user:

systemctl enable gdm

Configuring GDM Auto-Suspend

GDM will suspend the system when the greeter screen has been running for a while without any interactive input. If you want to disable auto-suspending for any reason (for example if the system is hosting some services besides functioning as a desktop system), as the root user, issue:

su gdm -s /bin/bash                                                \
       -c "dbus-run-session                                        \
             gsettings set org.gnome.settings-daemon.plugins.power \
                           sleep-inactive-ac-type                  \


Installed Programs: gdm, gdmflexiserver, and gdm-screenshot
Installed Libraries: and (PAM Module)
Installed Directories: /etc/gdm, /usr/include/gdm, /usr/share/gdm, and /usr/share/help/*/gdm

Short Descriptions


is a login prompt for GNOME


is a screenshot tool for GDM