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


20

Nvidia驱动程序384在Ubuntu 17.04和17.10上运行良好。我切换到Ubuntu 18.04(全新安装),并按照以下最佳答案安装了nvidia-driver-396

然后,我使用.run文件安装了cuda工具包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的网站上安装了396(.run文件)。它以警告“分发提供的脚本失败”开始。我继续进行,安装成功。它还将nouveau自动添加到黑名单中。结果仍然与1。

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

  4. 卸载前一个,然后从GUI的“其他驱动程序”中安装它。没变。

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

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

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

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

我有配备Intel HD图形芯片的Intel 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上可以很好地工作,但是在我的操作系统上仍然不能正常工作。


确保您只有/etc/apt/sources.d.list/文件中的发行版,我有多个发行版(bionic / cosmic / xenial等),并且导致发行失败
Jonathan

@Jonathan我在该文件中只有一个发行版
sziraqui

Answers:


5

终于安装好了!: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模块。如果有人有永久解决方案,请发布该解决方案,我会更新接受的答案


1
因此,我可以理解:在从图形PPA安装一个二进制驱动程序之前,手动安装它并删除它的目的是什么?
奥尔本·德里克堡

.run文件对系统进行了一些未知的更改。.run文件的卸载脚本无法完全卸载(未还原所有更改)。卸载脚本是二进制文件的一部分,所以在恢复模式再次使用它,我不得不再次安装二进制
sziraqui

1

感谢@sziraqui-我终于在Ubuntu 18.04上安装了Nvidia驱动程序,并附上了您的建议。这就是我要做的。

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

    sudo apt-get remove --purge nvidia * && sudo apt自动删除

  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来完成。启用文本模式引导-在此处安静启动后添加3,然后按F10使用新参数重新引导。

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

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

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

罪魁祸首似乎是Ubuntu和Nvidia驱动程序一起使用的gcc编译器有所不同,因此自动安装程序永远无法运行。我希望这可以帮助其他人在Ubuntu上安装其Nvidia驱动程序!


您是否更改了默认的c编译器?
sziraqui

现在我了解了为什么我的驱动程序在更新后会损坏。由于当前项目,我将默认GCC更改为gcc-5。每次dkms重建内核时,nvidia-drm模块均无法构建,因为它需要与用于构建OS内核相同的编译器(对于Ubuntu 18.04为gcc-7)。这会导致驱动程序安装失败。dkms或dpkg均未将其报告为错误。
sziraqui

将gcc重新设置为gcc-7不能解决我的问题。
sziraqui

有谁成功解决了这个问题。我为此尝试了各种修复方法,但无济于事。我真的不想在此计算机上使用Windows。如果有人成功解决了该问题,请帮助我!
Sachin Borkar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.