我正在使用 nvidia-driver-460 版本 460.39-0ubuntu0.20.04.1。
GDM 屏幕仅在键入Ctrl+ Alt+后键入+ +F2后才会出现。CtrlAltF1
请发表评论并告诉我以下内容是否可以解决您的问题?另外,请在 Launchpad 中将自己标记为受Bug #1811023影响,以便解决此问题。
解决方案
下面的内容似乎已经解决了我的问题,并且现在显示 GDM 屏幕,而无需诉诸上述“技巧”。
编辑文件/lib/udev/rules.d/61-gdm.rules。
sudo nano /lib/udev/rules.d/61-gdm.rules
Run Code Online (Sandbox Code Playgroud)
原始文件如下所示:
# 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"
Run Code Online (Sandbox Code Playgroud)
注释所有行,如图所示:
# 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"
Run Code Online (Sandbox Code Playgroud)
键入Ctrl+X退出,然后键入Y,然后Enter保存文件。
确保 GDM 中未禁用Wayland 。
sudo nano /etc/gdm3/custom.conf
Run Code Online (Sandbox Code Playgroud)
注释“WaylandEnable”行(如果尚未注释),如下所示:
# WaylandEnable=false
Run Code Online (Sandbox Code Playgroud)
输入Ctrl+X退出。如果您进行了更改,请键入Y,然后Enter保存文件。
最后,重新启动。
解释
该/lib/udev/rules.d/61-gdm.rules文件旨在防止 GDM 在安装 NVIDIA 专有驱动程序时显示 Wayland 会话选项,因为 NVIDIA 不支持 Wayland。
然而,在 Ubuntu 20.04 中,似乎还有另一个冗余机制或规则也阻止 GDM 显示 Wayland 会话选项。我怀疑这一点,因为即使进行上述更改后,GDM 中仍然不显示 Wayland 会话选项。(设置WaylandEnable=true无效/etc/gdm3/custom.conf)。
因此,我有一种预感,有两个相互冲突的规则,禁用其中一个规则(即/lib/udev/rules.d/61-gdm.rules)似乎可以消除冲突。
这是进行上述更改之前的journalctl启动日志。您可以看到加载“fb”模块时出错。
/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:
Run Code Online (Sandbox Code Playgroud)
这是进行上述更改后的journalctl启动日志。可以看到“fb”模块加载成功。
/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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12501 次 |
| 最近记录: |