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"
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 9-2ubuntu1. 2~20.04. 1 xorg-core version 2:1.20. 9-2ubuntu1. 2~20.04. 1
xserver-xephyr version 2:1.20.
xserver-xorg version 1:7.7+19ubuntu14
xserver-
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 vendor} =="0x19e5" , ATTR{device} =="0x1711" , RUN+="/ usr/lib/ gdm3/gdm- disable- wayland" ="nvidia" , RUN+="/ usr/lib/ gdm3/gdm- disable- wayland"
ATTR{
# disable Wayland when using the proprietary nvidia driver
DRIVER=
Comment all of the lines as shown:
# disable Wayland on Hi1710 chipsets =="0x19e5" , ATTR{device} =="0x1711" , RUN+="/ usr/lib/ gdm3/gdm- disable- wayland" usr/lib/ gdm3/gdm- disable- wayland"
# ATTR{vendor}
# disable Wayland when using the proprietary nvidia driver
# DRIVER=="nvidia", RUN+="/
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" gdm3/gdm- x-session[ 964]: (II) LoadModule: "fb" gdm3/gdm- x-session[ 964]: (II) Loading /usr/lib/ xorg/modules/ libfb.so gdm3/gdm- x-session[ 964]: (II) Module fb: vendor="X.Org Foundation" gdm3/gdm- x-session[ 964]: compiled for 1.20.9, module version = 1.0.0 gdm3/gdm- x-session[ 964]: ABI class: X.Org ANSI C Emulation, version 0.4 gdm3/gdm- x-session[ 964]: Xorg: ../../. ./../dix/ privates. c:384: dixRegisterPriv ateKey: Assertion `!global_ keys[type] .created' failed. gdm3/gdm- x-session[ 964]: (EE) gdm3/gdm- x-session[ 964]: (EE) Backtrace: gdm3/gdm- x-session[ 964]: (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+ 0x13c) [0x55936e23a59c] gdm3/gdm- x-session[ 964]: (EE) 1: /lib/x86_ 64-linux- gnu/libpthread. so.0 (funlockfile+0x60) [0x7f70b994541f] gdm3/gdm- x-session[ 964]: (EE) 2: /lib/x86_ 64-linux- gnu/libc. so.6 (gsignal+0xcb) [0x7f70b978218b] gdm3/gdm- x-session[ 964]: (EE) 3: /lib/x86_ 64-linux- gnu/libc. so.6 (abort+0x12b) [0x7f70b9761859] gdm3/gdm- x-session[ 964]: (EE) unw_get_proc_name failed: no unwind info found [-10] gdm3/gdm- x-session[ 964]: (EE) 4: /lib/x86_ 64-linux- gnu/libc. so.6 (?+0x0) [0x7f70b976171a] gdm3/gdm- x-session[ 964]: (EE) 5: /lib/x86_ 64-linux- gnu/libc. so.6 (__assert_ fail+0x46) [0x7f70b9772f36] gdm3/gdm- x-session[ 964]: (EE) 6: /usr/lib/xorg/Xorg (dixRegisterPri vateKey+ 0x239) [0x55936e0f7ac9] gdm3/gdm- x-session[ 964]: (EE) 7: /usr/lib/ xorg/modules/ libglamoregl. so (glamor_init+0xcf) [0x7f70b4b9735f] gdm3/gdm- x-session[ 964]: (EE) unw_get_proc_name failed: no unwind info found [-10] gdm3/gdm- x-session[ 964]: (EE) 8: /usr/lib/ xorg/modules/ drivers/ modesetting_ drv.so (?+0x0) [0x7f70b87fcc00] gdm3/gdm- x-session[ 964]: (EE) unw_get_proc_name failed: no unwind info found [-10] gdm3/gdm- x-session[ 964]: (EE) 9: /usr/lib/ xorg/modules/ drivers/ modesetting_ drv.so (?+0x0) [0x7f70b87f4dd0] gdm3/gdm- x-session[ 964]: (EE) 10: /usr/lib/xorg/Xorg (AddGPUScreen+0xf5) [0x55936e0d92d5] gdm3/gdm- x-session[ 964]: (EE) 11: /usr/lib/xorg/Xorg (xf86PlatformMa tchDriver+ 0xa44) [0x55936e134cf4] gdm3/gdm- x-session[ 964]: (EE) 12: /usr/lib/xorg/Xorg (xf86PlatformDe viceCheckBusID+ 0x225) [0x55936e13a035] gdm3/gdm- x-session[ 964]: (EE) 13: /usr/lib/xorg/Xorg (config_fini+0xa4a) [0x55936e1368da] gdm3/gdm- x-session[ 964]: (EE) 14: /usr/lib/xorg/Xorg (config_ fini+0x15eb) [0x55936e13810b] gdm3/gdm- x-session[ 964]: (EE) 15: /usr/lib/xorg/Xorg (config_init+0xd) [0x55936e1355dd] gdm3/gdm- x-session[ 964]: (EE) 16: /usr/lib/xorg/Xorg (InitInput+0xb9) [0x55936e118c89] gdm3/gdm- x-session[ 964]: (EE) 17: /usr/lib/xorg/Xorg (InitFonts+0x36d) [0x55936e0dcf7d] gdm3/gdm- x-session[ 964]: (EE) 18: /lib/x86_ 64-linux- gnu/libc. so.6 (__libc_ start_main+ 0xf3) [0x7f70b97630b3] gdm3/gdm- x-session[ 964]: (EE) 19: /usr/lib/xorg/Xorg (_start+0x2e) [0x55936e0c6a2e] gdm3/gdm- x-session[ 964]: (EE) gdm3/gdm- x-session[ 964]: (EE) gdm3/gdm- x-session[ 964]: Fatal server error: gdm3/gdm- x-session[ 964]: (EE) Caught signal 6 (Aborted). Server aborting gdm3/gdm- x-session[ 964]: (EE) gdm3/gdm- x-session[ 964]: (EE) gdm3/gdm- x-session[ 964]: Please consult the The X.Org Foundation support gdm3/gdm- x-session[ 964]: at http:// wiki.x. org gdm3/gdm- x-session[ 964]: for help. gdm3/gdm- x-session[ 964]: (EE) Please also check the log file at "/var/log/ Xorg.0. log" for additional information. gdm3/gdm- x-session[ 964]: (EE) gdm3/gdm- x-session[ 964]: (EE) Server terminated with error (1). Closing log file. gdm3/gdm- x-session[ 962]: Unable to run X server environment] [912]: pam_unix( gdm-launch- environment: session) : session closed for user gdm
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
gdm-launch-
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" gdm3/gdm- x-session[ 1357]: (II) LoadModule: "fb" gdm3/gdm- x-session[ 1357]: (II) Loading /usr/lib/ xorg/modules/ libfb.so gdm3/gdm- x-session[ 1357]: (II) Module fb: vendor="X.Org Foundation" gdm3/gdm- x-session[ 1357]: compiled for 1.20.9, module version = 1.0.0 gdm3/gdm- x-session[ 1357]: ABI class: X.Org ANSI C Emulation, version 0.4 gdm3/gdm- x-session[ 1357]: (II) Loading sub module "wfb"
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/
/usr/lib/