The full gdm manual is installed as /usr/share/gnome/help/gdm/C/index.html on your system. This is only a brief summary - the HTML manual is the canonical documentation.
gdm reads /etc/gdm/gdm.conf for its configuration. For each local display, gdm starts an X server and runs gdmlogin(8x)? on that display. The main gdm process also listens for XDMCP requests from remote displays. These requests can either be direct, causing gdm to start a gdmlogin(8x)? on the remote display, or indirect, causeing a gdmchooser(8x)? to be opened.
When managing a display, gdm attempts to execute /etc/gdm/Init/display, or /etc/gdm/Init/Default if that does not exist. When a user logs in, gdm first attempts /etc/gdm/!PreSession?/display (or /etc/gdm/!PreSession?/Default), and then one of the sessions in /etc/gdm/Sessions. When the session has completed, gdm attempts to run /etc/gdm/!PostSession?/display, or /etc/gdm/!PostSession?/Default. Of all these files, only the /etc/gdm/Sessions one is required to exist.
gdm maintains information about the displays it is managing in /var/lib/gdm. This includes xauth information, so this directory is not readable to normal users.
Martin Kasper Petersen