Ubuntu 20.04:安装 nvidia 驱动程序后,启动时光标闪烁

Ubuntu 20.04:安装 nvidia 驱动程序后,启动时光标闪烁

我刚刚安装了 NVIDIA 专有驱动程序(来自附加驱动程序的 nvidia-driver-460)。重启后,屏幕变黑,光标闪烁。几秒钟后,我使用 Ctl + Alt + F2 移动到 tty,没等我登录,图形界面就启动了。

我重新启动了几次,但这种现象似乎仍在继续:它会给我一个黑屏,光标闪烁,直到我移动到不同的 tty,然后 X 启动并要求我正常登录。

有没有什么办法解决这一问题?

答案1

我正在使用 nvidia-driver-460 版本 460.39-0ubuntu0.20.04.1。

Ctrl仅在键入+ Alt+F2随后Ctrl+ Alt+后才会出现 GDM 屏幕F1

请评论并告诉我以下内容是否能帮您解决问题?另外,请将自己标记为受以下影响Launchpad 中的 Bug #1811023所以这个问题已经得到解决。


解决方案

下面的办法似乎已经为我解决了这个问题,现在无需借助上述“技巧”就可以显示 GDM 屏幕。

  1. 编辑文件/lib/udev/rules.d/61-gdm.rules

    sudo nano /lib/udev/rules.d/61-gdm.rules
    

    原始文件如下所示:

    # 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"
    

    注释掉所有如下所示的行:

    # 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"
    

    输入Ctrl+X退出,然后输入Y,然后Enter输入 保存文件。

  2. 确保 Wayland不是在 GDM 中禁用。

    sudo nano /etc/gdm3/custom.conf
    

    如果尚未注释,请注释“WaylandEnable”行,如下所示:

    # WaylandEnable=false
    

    输入Ctrl+X退出。如果进行了更改,请输入Y,然后Enter输入 保存文件。

  3. 最后,重新启动。


解释

/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:

这是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"

答案2

遇到此问题时,您是否有多个显示器?我遇到了类似的问题(我必须Ctrl-Alt-F2回到Cltr-Alt-F1)但我找到了不同的答案/解决问题的方法..基本上与“主显示器“ 是。

如果我有主显示器设置为外部显示器(通过 HDMI 连接),然后我遇到了同样的问题。也就是说,我必须使用这个技巧,然后Ctrl-Alt-F2返回Cltr-Alt-F1才能显示 Gnome 桌面登录。

如果我换主显示器到笔记本电脑显示器,那么我就不需要这么做了,Gnome 桌面登录就会毫无问题地出现:

多显示器:切换控制台后,黑屏闪烁光标,仅显示 GNOME 桌面登录信息

相关内容