Ubuntu 16.04上的最新NVIDIA驱动程序

我使用的是Ubuntu 16.04,我注意到在"软件和更新"的"附加驱动程序"选项卡中,我可以安装的最新版本的NVIDIA驱动程序有:
1. nvidia-367(专有)的367.57版本 2. nvidia-370(开源)的370.28版本
除了我不知道这里的"专有"和"开源"是什么意思之外,我还没有看到根据我的实际显卡选择驱动程序版本的选项。我正在使用GTX 1080,当前的长期支持分支版本是375.20;Ubuntu图形PPA会被更新吗?还是我需要手动安装375版本?
5个回答

目前还无法找到支持nVidia 375的驱动程序的任何参考资料。但是手动安装并不像你想象中那么困难。

官方指南

  1. 此处下载驱动程序版本375.20
  2. $ chmod 777 NVIDIA-Linux-x86_64-375.20.run
  3. $ sudo sh NVIDIA-Linux-x86_64-375.20.run
  4. $ sudo apt-get update
  5. $ sudo apt-get upgrade

通过PPA安装

  1. $ sudo add-apt-repository ppa:graphics-drivers/ppa
  2. $ sudo apt update

可能出现的问题

关于登录循环问题的补充,来自@michael__treat:

确保在Windows引导管理器中禁用安全启动。Ubuntu提供的步骤可能不完整。在测试过程中,我发现我必须使用Windows系统引导管理器,并手动禁用安全启动。

这解决了我的登录循环问题。

简而言之:确保安全启动实际上已关闭。

  • 当你到达grub时,进入windows引导管理器
  • 按下e
  • 将secureboot从enabled更改为disabled

似乎对我来说不起作用。我必须去TTY,禁用mdlight,禁用nouveau(几乎破坏了图形界面),但仍然无法让它正常工作。 - Bono
我按照这里描述的官方指南使用了384.111版本,结果导致了登录循环。我的电脑上没有安装Windows系统。有人可以帮忙吗? - embe
根据这里的评论:https://lenovolinux.blogspot.ca/2016/05/bumblebee-on-lenovo-t440p-nvidia-gt.html,@embe,你需要在第一次重启后进入恢复模式,因为会出现登录循环。我无法通过ctrl-alt f1切换到tty...继续进行下一步操作后,对我来说是有效的。虽然这是关于安装Bumblebee的,但我觉得可能与你有关 :) - Frikster
每个人都使用PPA解决方案。这样做系统出错的机会就少了。 - DanMan

Proprietary : Owned/Provided by some company (In your case these are the 
              Graphics drivers provided by Nvidia)

Open Source: Developed/Provided by an open source community.

如果你想使用CUDA(nVidia的用于在GPU上执行函数的东西),你应该使用专有驱动程序。
如果你想使用OpenCL(类似于CUDA的东西,由Khronos开发),你必须使用开源驱动程序。
要安装最新的驱动程序,请添加PPA:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update 

现在,在“系统设置”下找到“软件和更新”,然后在“附加驱动程序”选项卡中选择所需的驱动程序版本,选择驱动程序并点击“应用更改”。重新启动并享受吧!
附注:有时候最好的驱动程序版本似乎不太好用,所以你必须检查是否享受到了提供的所有功能,并且是否存在错误,请确保已安装了“nvidia-prime”,因为在大多数导致黑屏的情况下它非常方便。

1相信我,只需按照以下步骤操作,不要加上任何引号或其他内容:"sudo apt-get update""sudo ubuntu-drivers autoinstall" - MeganFoxz
@MeganFoxz:谢谢。"sudo ubuntu-drivers autoinstall" 像魔法一样奏效。我将我的硬件从旧的 NVIDIA 显卡升级到了新的显卡。 - Seven

我成功地更新了Ubuntu 16.04上Asus NVIDIA 1080 8 GB GPU的驱动程序,并使用了CUDA Toolkit。
$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
$ wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/libcudnn6_6.0.21-1%2Bcuda8.0_amd64.deb
$ wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/libcudnn6-dev_6.0.21-1%2Bcuda8.0_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
$ sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_amd64.deb
$ sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda=8.0.61-1
$ sudo apt-get install libcudnn6-dev

重启后继续进行以下操作:
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
$ sudo apt-get install nvidia-367
$ sudo apt-get install mesa-common-dev
$ sudo apt-get install freeglut3-dev

我从长江的博客中摘录了上述内容,如果你有兴趣的话,它会为你的深度学习构建提供基础。 :D

最近我发现使用专有驱动程序更方便。下一个问题是,选择哪个版本?有一种系统化的方法来安装最合适的驱动程序,可能不一定是最新版本。我在this article中写了一个带注释的安装指南。简要步骤如下。
  1. 前往NVIDIA驱动程序下载页面

  2. 提供操作系统信息、显卡型号和CUDA工具包版本,并进行搜索。

  3. 在搜索结果页面中,将显示推荐的驱动程序版本。将其作为参考。

  4. 添加私有的NVIDIA ppa存储库后,更新apt索引。

    $ sudo apt-get update

  5. 从apt缓存中搜索可用的驱动程序

    $ sudo apt-cache search nvidia | grep -E "nvidia-[0-9]{3}"

  6. 从列表中安装NVIDIA推荐的版本(可能不是最新版本)。对于版本390,安装命令将简单如下:

    $ sudo apt-get install nvidia-390

  7. 重新启动系统,并使用nvidia-smi命令检查驱动程序版本。


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

这是最好的解决方案。执行这个命令并更新Nvidia驱动程序,它将与4.13内核兼容。 Nvidia 340.104在4.13内核上没有问题。我在Peppermint 8 respin上进行了测试。


问题是关于最新的驱动程序,当时是375版本。340显然不是最新的驱动程序。此外,它在Peppermint 8上工作并不能说明它在Ubuntu上也能工作。 - Chai T. Rex