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

Reply via email to