I am using nvidia-driver-460 version 460.39-0ubuntu0.20.04.1. xserver-common version 2:1.20.9-2ubuntu1.2~20.04.1 xserver-xephyr version 2:1.20.9-2ubuntu1.2~20.04.1 xserver-xorg version 1:7.7+19ubuntu14 xserver-xorg-core version 2:1.20.9-2ubuntu1.2~20.04.1 The GDM screen would only appear after typing Ctrl+Alt+F2 followed by Ctrl+Alt+F1. The following seems to have fixed the issue for me, and the GDM screen now appears without having to resort to the above "trick". 1. Edit the file /lib/udev/rules.d/61-gdm.rules. sudo nano /lib/udev/rules.d/61-gdm.rules The original file looks like this: # disable Wayland on Hi1710 chipsets ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="/usr/lib/gdm3/gdm-disable-wayland" # disable Wayland when using the proprietary nvidia driver DRIVER=="nvidia", RUN+="/usr/lib/gdm3/gdm-disable-wayland" Comment all of the lines as shown: # disable Wayland on Hi1710 chipsets # ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="/usr/lib/gdm3/gdm-disable-wayland" # disable Wayland when using the proprietary nvidia driver # DRIVER=="nvidia", RUN+="/usr/lib/gdm3/gdm-disable-wayland" Type Ctrl+X to exit, then Y, and then Enter to save the file. 2. Ensure that the Wayland is not disabled in GDM. sudo nano /etc/gdm3/custom.conf Comment the "WaylandEnable" line, if it is not already commented, as shown: # WaylandEnable=false Type Ctrl+X to exit. If you made changes, type Y, and then Enter to save the file. 3. Finally, reboot. Explanation The /lib/udev/rules.d/61-gdm.rules file is supposed to prevent GDM from displaying the Wayland session option when the NVIDIA proprietary drivers are installed, since NVIDIA does not support Wayland. However, in Ubuntu 20.04, there seems to be another redundant mechanism or rule that also prevents GDM from displaying the Wayland session option. I suspect this, because even after making the above change, the Wayland session option is still not displayed in GDM. (Setting WaylandEnable=true in /etc/gdm3/custom.conf has no effect). Therefore, I have a hunch that there are two conflicting rules, and disabling one of the rules (i.e. /lib/udev/rules.d/61-gdm.rules) seems to remove the conflict. Here is the journalctl boot log before making the above changes. You can see there is an error loading the "fb" module. /usr/lib/gdm3/gdm-x-session[964]: (II) Loading sub module "fb" /usr/lib/gdm3/gdm-x-session[964]: (II) LoadModule: "fb" /usr/lib/gdm3/gdm-x-session[964]: (II) Loading /usr/lib/xorg/modules/libfb.so /usr/lib/gdm3/gdm-x-session[964]: (II) Module fb: vendor="X.Org Foundation" /usr/lib/gdm3/gdm-x-session[964]: compiled for 1.20.9, module version = 1.0.0 /usr/lib/gdm3/gdm-x-session[964]: ABI class: X.Org ANSI C Emulation, version 0.4 /usr/lib/gdm3/gdm-x-session[964]: Xorg: ../../../../dix/privates.c:384: dixRegisterPrivateKey: Assertion `!global_keys[type].created' failed. /usr/lib/gdm3/gdm-x-session[964]: (EE) /usr/lib/gdm3/gdm-x-session[964]: (EE) Backtrace: /usr/lib/gdm3/gdm-x-session[964]: (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x13c) [0x55936e23a59c] /usr/lib/gdm3/gdm-x-session[964]: (EE) 1: /lib/x86_64-linux-gnu/libpthread.so.0 (funlockfile+0x60) [0x7f70b994541f] /usr/lib/gdm3/gdm-x-session[964]: (EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (gsignal+0xcb) [0x7f70b978218b] /usr/lib/gdm3/gdm-x-session[964]: (EE) 3: /lib/x86_64-linux-gnu/libc.so.6 (abort+0x12b) [0x7f70b9761859] /usr/lib/gdm3/gdm-x-session[964]: (EE) unw_get_proc_name failed: no unwind info found [-10] /usr/lib/gdm3/gdm-x-session[964]: (EE) 4: /lib/x86_64-linux-gnu/libc.so.6 (?+0x0) [0x7f70b976171a] /usr/lib/gdm3/gdm-x-session[964]: (EE) 5: /lib/x86_64-linux-gnu/libc.so.6 (__assert_fail+0x46) [0x7f70b9772f36] /usr/lib/gdm3/gdm-x-session[964]: (EE) 6: /usr/lib/xorg/Xorg (dixRegisterPrivateKey+0x239) [0x55936e0f7ac9] /usr/lib/gdm3/gdm-x-session[964]: (EE) 7: /usr/lib/xorg/modules/libglamoregl.so (glamor_init+0xcf) [0x7f70b4b9735f] /usr/lib/gdm3/gdm-x-session[964]: (EE) unw_get_proc_name failed: no unwind info found [-10] /usr/lib/gdm3/gdm-x-session[964]: (EE) 8: /usr/lib/xorg/modules/drivers/modesetting_drv.so (?+0x0) [0x7f70b87fcc00] /usr/lib/gdm3/gdm-x-session[964]: (EE) unw_get_proc_name failed: no unwind info found [-10] /usr/lib/gdm3/gdm-x-session[964]: (EE) 9: /usr/lib/xorg/modules/drivers/modesetting_drv.so (?+0x0) [0x7f70b87f4dd0] /usr/lib/gdm3/gdm-x-session[964]: (EE) 10: /usr/lib/xorg/Xorg (AddGPUScreen+0xf5) [0x55936e0d92d5] /usr/lib/gdm3/gdm-x-session[964]: (EE) 11: /usr/lib/xorg/Xorg (xf86PlatformMatchDriver+0xa44) [0x55936e134cf4] /usr/lib/gdm3/gdm-x-session[964]: (EE) 12: /usr/lib/xorg/Xorg (xf86PlatformDeviceCheckBusID+0x225) [0x55936e13a035] /usr/lib/gdm3/gdm-x-session[964]: (EE) 13: /usr/lib/xorg/Xorg (config_fini+0xa4a) [0x55936e1368da] /usr/lib/gdm3/gdm-x-session[964]: (EE) 14: /usr/lib/xorg/Xorg (config_fini+0x15eb) [0x55936e13810b] /usr/lib/gdm3/gdm-x-session[964]: (EE) 15: /usr/lib/xorg/Xorg (config_init+0xd) [0x55936e1355dd] /usr/lib/gdm3/gdm-x-session[964]: (EE) 16: /usr/lib/xorg/Xorg (InitInput+0xb9) [0x55936e118c89] /usr/lib/gdm3/gdm-x-session[964]: (EE) 17: /usr/lib/xorg/Xorg (InitFonts+0x36d) [0x55936e0dcf7d] /usr/lib/gdm3/gdm-x-session[964]: (EE) 18: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xf3) [0x7f70b97630b3] /usr/lib/gdm3/gdm-x-session[964]: (EE) 19: /usr/lib/xorg/Xorg (_start+0x2e) [0x55936e0c6a2e] /usr/lib/gdm3/gdm-x-session[964]: (EE) /usr/lib/gdm3/gdm-x-session[964]: (EE) /usr/lib/gdm3/gdm-x-session[964]: Fatal server error: /usr/lib/gdm3/gdm-x-session[964]: (EE) Caught signal 6 (Aborted). Server aborting /usr/lib/gdm3/gdm-x-session[964]: (EE) /usr/lib/gdm3/gdm-x-session[964]: (EE) /usr/lib/gdm3/gdm-x-session[964]: Please consult the The X.Org Foundation support /usr/lib/gdm3/gdm-x-session[964]: at http://wiki.x.org /usr/lib/gdm3/gdm-x-session[964]: for help. /usr/lib/gdm3/gdm-x-session[964]: (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information. /usr/lib/gdm3/gdm-x-session[964]: (EE) /usr/lib/gdm3/gdm-x-session[964]: (EE) Server terminated with error (1). Closing log file. /usr/lib/gdm3/gdm-x-session[962]: Unable to run X server gdm-launch-environment][912]: pam_unix(gdm-launch-environment:session): session closed for user gdm Here is the journalctl boot log after making the above changes. You can see the "fb" module loads successfully. /usr/lib/gdm3/gdm-x-session[1357]: (II) Loading sub module "fb" /usr/lib/gdm3/gdm-x-session[1357]: (II) LoadModule: "fb" /usr/lib/gdm3/gdm-x-session[1357]: (II) Loading /usr/lib/xorg/modules/libfb.so /usr/lib/gdm3/gdm-x-session[1357]: (II) Module fb: vendor="X.Org Foundation" /usr/lib/gdm3/gdm-x-session[1357]: compiled for 1.20.9, module version = 1.0.0 /usr/lib/gdm3/gdm-x-session[1357]: ABI class: X.Org ANSI C Emulation, version 0.4 /usr/lib/gdm3/gdm-x-session[1357]: (II) Loading sub module "wfb"