Ubuntu16安装Nvidia驱动(GTX1060显卡)

欢迎访问我的GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
本篇概览

  • 台式机是2018年购买的惠普暗隐精灵3代,显卡GTX1060,本文记录了此机器安装Ubuntu 16.04.7 LTS,再安装Nvidia驱动的过程;
  • 另外还有一些避坑的小结,如果您遇到了类似问题可以拿来参考;
纯净Ubuntu系统
  • 先安装Ubuntu16 LTS桌面版
  • U盘安装,我这里是惠普台式机,启动时出现惠普LOGO的时候,多次点击F10,进入bios,启动顺序选择U盘启动,然后在页面指导下顺利安装Ubuntu系统
需要注意的地方
  • 网上很多安装文档中提到了要在BIOS设置中关闭secure boot,我这里没有找到这个选项,所以就跳过了没做,依然可以安装成功,只是在安装完驱动后的几步操作必不可少,需要按照文章中的操作执行;
开启远程ssh
  • 登录进入Ubuntu桌面,打开控制台,执行以下命令,安装ssh服务:
sudo apt-get install openssh-server

  • 启动ssh服务
sudo service ssh start

  • 接下来的操作,我全都是从另一台电脑ssh远程连接到这个Ubuntu16电脑上操作的
换源
  • 备份:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bk

  • 修改/etc/apt/sources.list为以下内容:
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

准备工作
  • 删除旧的驱动
sudo apt-get remove --purge nvidia*

  • 屏蔽开源驱动nouveau,首先创建新文件:
sudo vi /etc/modprobe.d/blacklist-nouveau.conf

  • 添加的内容如下:
blacklist nouveau options nouveau modeset=0

  • 更新上述配置:
sudo update-initramfs -u

  • 此时执行命令lsmod | grep nouveau还可以看见以下内容,证明刚才的配置还没有生效:
will@ubuntu-hp:~$ lsmod | grep nouveau nouveau17121284 mxm_wmi163841 nouveau i2c_algo_bit163841 nouveau ttm1064961 nouveau drm_kms_helper1720321 nouveau drm4014087 drm_kms_helper,ttm,nouveau wmi245764 hp_wmi,wmi_bmof,mxm_wmi,nouveau video450561 nouveau

  • 为了使刚才的配置生效,请立即重启电脑sudo reboot
  • 重启后再次ssh登录,再执行命令lsmod | grep nouveau已经看不见内容了,证明刚才的配置已经生效;
安装驱动
  • 添加官方ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa

  • 更新
sudo apt-get update

  • 查看推荐驱动:
ubuntu-drivers devices

  • 选择驱动后边有(recommended)字样的,如下图红框,我这边是nvidia-430
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 开始安装驱动,注意使用您自己看到的推荐驱动:
sudo apt-get install nvidia-430 nvidia-settings nvidia-prime

  • 遇到下图,输入回车:
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 遇到下图,输入八位数密码,然后还会弹出确认密码的页面,继续输入同样的密码:
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 安装完成后,重启电脑,然后会有至关重要的一步,请务必要做好
重启时的设置
  • 弹出提示时选择Enroll MOK
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 选择Continue
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 弹出的菜单选择Yes
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 输入刚才设定的密码:
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 选择reboot
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 重启完成后,ssh登录,执行命令nvidia-smi,如下所示,终于装好了:
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

安装NCVV
  • nvcc是CUDA的编译器,安装命令如下:
sudo apt install nvidia-cuda-toolkit

  • 验证:
will@ubuntu-hp:~$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2015 NVIDIA Corporation Built on Tue_Aug_11_14:27:32_CDT_2015 Cuda compilation tools, release 7.5, V7.5.17

附录一:反复重启
  • 最开始用我用的是双头hdmi线,分别连接显卡和显示器,结果会不停的重启,改用双头DP线后问题不再现
附录二:nvidia-smi命令失败
  • 输入nvidia-smi检查驱动,却遇到以下问题:
will@ubuntu-hp:~$ 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.

  • 执行ls /usr/src/,会看到名为nvidia-xxx的文件夹,如下图红框,我这里是nvidia-430.64
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 执行命令:
sudo dkms install -m nvidia -v 430.64

附录三:反复要求输入密码
  • 此时在Ubuntu电脑上输入密码后,等待几秒钟又会回到输入密码的页面,始终无法登录
  • 这是因为GRUP中设定的是使用集成显卡,而此时我们已经安装了Nvidia驱动,所以无法再用集成显卡驱动登录了,需要修改设定
  • 此时ssh远程连接是正常的,先连上去,打开文件/etc/default/grub,找到GRUP_CMDLINE_LINUX_DEFAULT这一行,将值修改成下图红框的内容:
Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 重启,顺利登录
附录四:获取Kernel source
  • 安装linux-source:
sudo apt-get install linux-source

  • 执行上述命令时,注意下面红框内的内容:
【Ubuntu16安装Nvidia驱动(GTX1060显卡)】Ubuntu16安装Nvidia驱动(GTX1060显卡)
文章图片

  • 上述红框中是4.4.0-210.242,因此接下来要执行的命令是(第三个小数点之后的内容不关注):
sudo apt-get install linux-headers-4.4.0-210-generic

你不孤单,欣宸原创一路相伴
  1. Java系列
  2. Spring系列
  3. Docker系列
  4. kubernetes系列
  5. 数据库+中间件系列
  6. DevOps系列
欢迎关注公众号:程序员欣宸
微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos

    推荐阅读