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"
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1811023
Title:
Xorg aborts with ../../../../dix/privates.c:384:
dixRegisterPrivateKey: Assertion `!global_keys[type].created' failed.
To manage notifications about this bug go to:
https://bugs.launchpad.net/xorg-server/+bug/1811023/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs