Nvidia 驱动程序已安装但无法在 ubuntu 18.04 上加载

Nvidia 驱动程序已安装但无法在 ubuntu 18.04 上加载

Nvidia 驱动程序 384 在 Ubuntu 17.04 和 17.10 上运行良好。我切换到 Ubuntu 18.04(全新安装),并安装了 nvidia-driver-396这个很好的答案

然后我使用 .run 文件安装了 cuda toolkit 9.2。无论是否选择同时安装 nvidia 驱动程序,安装都失败。重新启动并重试,然后 cuda 安装成功。但 nvidia 没有运行。

$ nvidia-settings
ERROR: NVIDIA driver is not loaded


ERROR: Unable to load info from any available system


$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

$ lspci -v | grep VGA
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 5500 (rev 09) (prog-if 00 [VGA controller])

到目前为止我已经尝试过:

  1. 卸载 nvidia ( nvidia-uninstall) 成功但出现警告:“无法删除某些符号链接。我删除了 cuda 并rm -rf /usr/local/cuda*安装了 nvidia-driver-396,但仍然出现相同的错误

  2. 删除了 nvidia-396,从 nvidia 的网站(.run 文件)安装了 396。它以警告“分发提供的预脚本失败”开始。我继续操作,安装成功。它还自动将 nouveau 添加到黑名单。结果与 1 相同。

  3. 卸载了上一个,删除了黑名单条目,安装了 nvidia-390 结果仍然相同

  4. 卸载了之前的版本,从 GUI 中的“附加驱动程序”中安装了它。没有变化。

  5. 进入控制台模式。停止 gdm。然后安装 396。没有变化。同样安装 390。没有变化。

  6. 尝试使用 xorg-edgers ppa(是的,据说它们与图形驱动程序 ppa 相同,但我现在很绝望)未满足依赖性问题。因此恢复为删除所有内容。

  7. 卸载了所有东西,进入恢复模式,然后安装了 nvidia-driver-390。没运气。

  8. 我觉得官方网站上的 nvidia 驱动程序做了一些不可逆转的更改。因此尝试再次安装它,以便我可以按照好答案中的建议使用 --unistall 选项从恢复模式正确卸载它。但现在无法安装。错误消息显示 nouveau 正在运行,尽管被列入了黑名单。我后来删除了黑名单条目

我有配备英特尔高清显卡的英特尔 i5随着NVIDIA GeForce 940M。是的,nvidia-prime 已安装。与 Windows 10 双启动,安全启动已禁用

在所有这些步骤中,我曾经能够启动 nvidia x 服务器应用程序,尽管 nvidia-smi 给出了相同的错误。有一次,当 cuda 运行 nvidia-xconfig 时,出现了分辨率问题。我删除了 xorg.conf 来修复它。现在我的电脑正在运行 nouveau,没有安装其他驱动程序,没有将 nvidia 列入黑名单,也没有 xorg.conf。

有人能帮忙吗?我看不出它为什么不能工作。据报道,nvidia 驱动程序 390.12 与内核 4.15 配合良好,但它仍然无法在我的系统上运行。

答案1

终于安装好了!:D

主要原因是 cuda 工具包安装的驱动程序。它从未正确卸载。因此,为了修复它,我执行了以下操作:

  1. 卸载所有 nvidia 相关软件包并删除所有黑名单。
  2. sudo update-initramfs -u
  3. 重启
  4. 进入控制台模式(Ctrl + Alt + F3),从 Nvidia 网站安装 Nvidia 驱动程序(.run 文件)
  5. sudo update-initramfs -u
  6. 重启
  7. 进入恢复模式,nvidia-uninstall
  8. # update-initramfs -u
  9. 重启
  10. nvidia-driver-396从图形驱动程序 ppa安装软件包

现在一切正常

更新:在更新重建内核和所有 dkms 模块后,它坏了。问题出在编译 nvidia-drm 模块上。如果有人有永久解决方案,请发布它,我会更新已接受的答案

答案2

谢谢@sziraqui - 根据您的建议以及其他一些建议,我终于在 Ubuntu 18.04 上安装了 Nvidia 驱动程序。以下是我必须做的。

  1. 卸载/清除所有 Nvidia 驱动程序

    sudo apt-get remove --purge nvidia* && sudo apt autoremove

  2. 从 Nvidia 网站下载 Nvidia 驱动程序(.run 文件)

  3. 禁用/将 Noveau 驱动程序列入黑名单 https://linuxconfig.org/how-to-disable-nouveau-nvidia-driver-on-ubuntu-18-04-bionic-beaver-linux

  4. 以文本模式重新启动输入 Grub 启动参数 - 这可以通过在启动时进入 grub 菜单来完成(在启动时按 Esc 或 Shit)在这里按 e。启用文本模式启动 - 在这里在 quiet splash 后添加 3,然后按 F10 使用新参数重新启动。

  5. 在运行步骤 2 中下载的 Nvidia 安装程序时,识别用于我的内核的 gcc 并设置环境变量 CC。

    sudo CC=gcc-7 ./[Nvidia 安装程序.run 文件]

安装程序会提示您预安装失败 - 忽略并继续。我允许 NVidia 配置 X11 并安装 32 位库。重新启动后,我的双显示器可以正常工作,分辨率也恢复到 1920x1080。

似乎主要原因是 Ubuntu 和 Nvidia 驱动程序使用的 gcc 编译器不同,因此自动安装程序永远无法工作。我希望这可以帮助其他人在 Ubuntu 上安装他们的 Nvidia 驱动程序!

答案3

就我而言,在 Synaptic 上安装模块“linux-modules-nvidia390-XXXXXX”(其中 XXXXXX 是内核版本)解决了这个问题。

答案4

我遇到了类似的问题。就我而言,安装与正在运行的内核相关的标头可以解决此问题。

sudo apt-get install linux-headers-`uname -r`

相关内容