安装了 CUDA 的 NVIDIA 驱动程序可能导致登录循环

安装了 CUDA 的 NVIDIA 驱动程序可能导致登录循环

几天前,我在 Ubuntu 16.04 上运行了sudo apt update+ upgrade。我已经大约 2 个月没有这样做了。在此期间,我将显卡从 GTX 1060 换成了 GTX 1070。

今天当我尝试登录时,我发现我进入了一个烦人的无限登录循环。这是我的日志内容xsessions-errors

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  155 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0x3d0
  Serial number of failed request:  46
  Current serial number in output stream:  46
openConnection: connect: No such file or directory
cannot connect to brltty at :0
[...]

看看这个问题有希望的答案问题,我尝试了以下方法:

  1. 检查所有权是否.Xauthority属于我,以及不属于我root(它确实属于我)
  2. 重新配置lightdm
  3. 重新安装lightdm
  4. 检查我的是否/home/已满(使用率为 44%)

全部失败。然后我开始相信我的问题出在 NVIDIA 驱动程序更新上,因为我在各个网站上读到多个来源,解释这是一个常见问题。值得补充的是,我最近没有做过任何修改或./profile类似的事情,也从来没有运行过这个命令startx

我发现以下与 NVIDIA 驱动程序相关的问题的潜在解决方案:

  • 根据建议安装nvidia-current驱动程序(比 NVIDIA 支持的最新驱动程序更旧)这里
  • nvidia-installer.sh按照建议运行重新安装 NVIDIA 驱动程序这里

我的问题是,我在电脑上花了数十个小时配置 CUDA,与 NVIDIA 驱动程序和各种软件包保持微妙的平衡。为了安装 CUDA,我还必须安装特定的 Ubuntu 内核版本 (4.4)。

如果我接触驱动程序,我的 CUDA 环境是否有可能崩溃?我实际上还可以尝试其他方法来解决此问题吗?

答案1

解决方案是尝试重新安装驱动程序并重新配置 lightdm。在最坏的情况下,您将需要再次安装 CUDA,但请先尝试通过从 nvidia 下载安装程序(shell 脚本)重新安装驱动程序。

如果我接触驱动程序,我的 CUDA 环境是否有可能崩溃?我实际上还可以尝试其他方法来解决此问题吗?

不一定。只要您的驱动程序到位,nvcc就应该可以正常运行。

答案2

对于面临同样问题的其他人,我建议尝试以下操作:

mv .Xauthority .Xauthority-backup

重命名.Xauthority并在下次登录尝试时强制创建新的。如果问题出在这里,那么登录就可以正常工作。

然而,就我而言,真正有效的方法是重新安装 NVIDIA 驱动程序。对于 CUDA 用户,需要安装的驱动程序版本由文档。就我而言,由于我拥有 CUDA 9.1,因此它的驱动程序版本至少是 390.46(当然,根据我写这个答案的时间)。

我按照本网站重新安装我需要的驱动程序。我实际上还发现了这篇来自CUDA 论坛,由一位版主撰写,解释了他使用此来源获取驱动程序的经验,这些驱动程序可能并不总是有效,因为它们不是由 NVIDIA 正式发布的。就我而言,它仍然有效,因此我分享了它。

首先,删除已安装的 NVIDIA 驱动程序:

sudo apt-get purge nvidia*

添加图形驱动程序的存储库:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

然后安装正确版本的驱动程序(在我的情况下,xxx = 390)

sudo apt install nvidia-xxx

最后

reboot

现在登录问题应该已经解决了。就我而言,CUDA 环境没有受到影响,我的所有项目仍然正常运行。

相关内容