ubuntu18.04安装nvidia驱动,3种方式图文详解+卸载教程

Posted 振华OPPO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu18.04安装nvidia驱动,3种方式图文详解+卸载教程相关的知识,希望对你有一定的参考价值。

教程目录

笔记本类型Ubuntu系统显卡版本
联想拯救者Y7000win10+Ubuntu18.04双系统GTX1050Ti

一、关闭secure boot

重启电脑,开机前一直按Ctrl + F2进入Bios界面,将secure boot设置为Disabled,因为secure boot会阻止第三方源安装的驱动,禁用不会带来多大隐患。

二、禁用nouveau驱动

2.1 创建配置文件

sudo gedit /etc/modprobe.d/blacklist_nouveau.conf

2.2 添加内容

blacklist nouveau
options nouveau modeset=0

2.3 重启电脑

reboot

2.4 输入命令验证

lsmod | grep nouveau

没有输出结果,则表明禁用成功。

三、安装显卡驱动

全网总结下来一共有3种方式可以安装:

  1. 从“软件和更新”安装。
  2. 从PPA源安装。
  3. 使用NVIDIA官网的安装包。

3种方法我全都试过,对于我的environment和setting,只有最后一种方法能安装成功。

3.1 软件和更新(失败)

附加驱动会根据你的显卡信息,显示所有可用的开源驱动,选择最适配的525,点击应用,安装失败。

3.2 PPA源安装

1、添加和更新源

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

这一步是回车安装PPA源。

2、 查看适合的驱动

ubuntu-drivers devices

ppa源会推荐给你可以用于本机的驱动版本,建议选择系统recommend(推荐即最适合)的版本。


3、安装驱动

sudo apt-get install nvidia-driver-525

这里我一直依赖报错,查阅资料与Ubuntu内核有关,因为之前有过升级内核导致无法开机的经历,所以果断放弃本方法。

依赖: libnvidia-gl-525 (= 525.89.02-0ubuntu0.18.04.1) 但是它将不会被安装

如果你没有报错,可以正常进行安装,安装过程可以参考第3节,然后回来继续执行。

sudo apt-get install mesa-common-dev
sudo reboot
nvidia-smi 

如果能显示显卡信息则安装成功。

3.3 官网安装包安装

1、进入NVIDIA官网:,选择自己的电脑类型和显卡型号,然后Search得到适配的版本,下载压缩包到英文路径下。

安装相关依赖:

sudo apt install gcc & make # 同时安装gcc和make

2、先给驱动.run文件赋予执行权限,然后执行:

sudo chmod  777 NVIDIA-Linux-x86_64-525.105.17.run -no-x-check -no-nouveau-check -no-opengl-files
sudo ./NVIDIA-Linux-x86_64-525.105.17.run

禁用opengl后安装才不会出现循环登录的问题,后缀的参数说明如下:
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件


3、The distribution-provided pre-install script failed! Are you sure you want to continue?选择 continue installation。

4、Nvidia's 32-bit compatibility libraries?选择 No 继续。

5、Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes

6、等待安装完成,安装完成点击OK。


7、输入nvidia-smi验证驱动是否安装成功,如果出现显卡信息则安装成功。

四、卸载显卡驱动

如果在安装驱动后,重启电脑进入Ubuntu出现黑屏、紫屏等问题,不要慌,按下面步骤做。

1、Ctrl + Alt +F6进入命令行界面,输入你的用户名和密码回车,进入终端模式。

2、输入删除命令删除前缀为nvidia的文件。

sudo apt-get purge nvidia-*

3、接着输入nvidia-smi,如果没有显示GPU信息,说明卸载成功,直接reboot重启。

4、如果还能输出GPU信息,输入sudo /usr/bin/nvidia-uninstall卸载,中间会再次进入类似安装时的提示窗口,询问你是否恢复原先的X文件,我们选择Yes。然后直接reboot重启。

5、重启应该就正常登录使用Ubuntu了,考虑内核或系统和驱动冲突,无法安装nvidia驱动。

https://blog.csdn.net/wjjwangde/article/details/109807435
https://blog.csdn.net/qcz1024/article/details/118874277
https://blog.csdn.net/xiaojinger_123/article/details/120888777
https://blog.csdn.net/Left_control_right/article/details/106984925

ubuntu上安装NVIDIA驱动CUDACUDNN

Ubuntu18.04环境下的安装:

主要参考下面这个博客:

https://blog.csdn.net/u010801439/article/details/80483036

https://blog.csdn.net/ice__snow/article/details/80144503

1.安装GPU英伟达驱动(针对ubuntu18.04)

step .1:首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:

$ ubuntu-drivers devices
输出结果为:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001180sv00001458sd0000353Cbc03sc00i00
vendor   : NVIDIA Corporation
model    : GK104 [GeForce GTX 680]
driver   : nvidia-304 - distro non-free
driver   : nvidia-340 - distro non-free
driver   : nvidia-384 - distro non-free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin

== cpu-microcode.py ==
driver   : intel-microcode - distro free

从中可以看到,这里有一个设备是GTX 680 ,对应的驱动是NVIDIA -304,340,384 ,而推荐是安装384版本的驱动。

step.2,安装驱动

你可以选择,安装所有推荐的驱动,如下命令

$ sudo ubuntu-drivers autoinstall

你也可以选择,只安装其中一个驱动,命令如下

$ sudo apt install nvidia-340
OK 驱动安装完成,重新启动

4.安装CUDA(针对18.04)

安装CUDA 这里需要注意;

咱们需要根据cuDNN 来选择,如图,首先,cuda只能支持17.04,16.04的ubuntu 下载安装,但,实际上,有点类似于word一样(高版本word能打开低版本的word文件 .)18.04版本的系统,能够安装16.04版本对应的CUDA。

目前cuda 最高版本为9.2,且只支持 16.04,17.04 这两个系统,而且,我们安装完CUDA 之后还需要安装cuDNN。

那么cuDNN 的版本又有什么选择呢,如下

首先,根据cuDNN 的版本,目前,较为完善的,是cuDNN v7.0.5 ,其适用于 CUDA 9.1 版本,所以,咱们在选择安装cuda的时候,选择 CUDA 9.1。下载地址

按下图进行选择

对应的有一下四个文件,需要统统下载,第一个是主文件,后3个相当于补丁。

开始安装:

step .1  GCC 降级

由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,

故手动进行降级:

step .1  GCC 降级

由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,

故手动进行降级:

sudo apt-get install gcc-4.8 
sudo apt-get install g++-4.8

装完后进入到/usr/bin目录下 

  $ls -l gcc* 
会显示以下结果
lrwxrwxrwx 1 root root 7th May 16 18:16 /usr/bin/gcc -> gcc-7.3

发现gcc链接到gcc-7.0, 需要将它改为链接到gcc-4.8,方法如下:

sudo mv gcc gcc.bak #备份 
sudo ln -s gcc-4.8 gcc #重新链接

同理,对g++也做同样的修改:

ls -l g++* 

lrwxrwxrwx 1 root root 7th May 15:17 g++ -> g++-7.3

需要将g++链接改为g++-4.8:

sudo mv g++ g++.bak 
sudo ln -s g++-4.8 g++

再查看gcc和g++版本号:

gcc -v 
g++ -v

均显示gcc version 4.8 ,说明gcc 4.8安装成功。

step. 2 安装cuda ,及其补丁

输入命令安装Base Installer:

sudo sh cuda_9.1.85_387.26_linux.run
需要注意的是,之前已经安装过显卡驱动程序,故在提问是否安装显卡驱动时选择no,其他 选择默认路径或者yes即可。

然后,继续执行以下操作安装3个 patch :

sudo sh cuda_9.1.85.1_linux.run
sudo sh cuda_9.1.85.2_linux.run
sudo sh cuda_9.1.85.3_linux.run

安装完毕之后,将以下两条加入.barshrc文件中.

export PATH=/usr/local/cuda-9.1/bin${PATH:+:$PATH}}      #注意,根据自己的版本,修改cuda-9.2/9.0...
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} #注意,根据自己的版本,修改cuda-9.2/9.0...

OK ,那么,到这一步,cuda 就安装完成了

确认CUDA工作

找到samples,一般在home目录下

cd ~/NVIDIA_CUDA-9.1_Samples/
make

等待编译完成,

cd ./bin/x86_64/linux/release 

使用deviceQuery 测试

$ ./deviceQuery

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 960M"
  CUDA Driver Version / Runtime Version          9.1 / 9.1
  CUDA Capability Major/Minor version number:    5.0
  Total amount of global memory:                 2004 MBytes (2101870592 bytes)
  ( 5) Multiprocessors, (128) CUDA Cores/MP:     640 CUDA Cores
  GPU Max Clock rate:                            1176 MHz (1.18 GHz)
  Memory Clock rate:                             2505 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 2097152 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Supports Cooperative Kernel Launch:            No
  Supports MultiDevice Co-op Kernel Launch:      No
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 9.1, NumDevs = 1
Result = PASS

 

3.安装cuDNN(针对18.04)

cuDNN 的安装,就是将 cuDNN 包内的文件,拷贝到cuda文件夹中即可。

step.1按照第四点分析的内容,我们需要下载的cuDNN 版本为

cuDNN v7.0.5 library for liunx,下载地址(需要注册才能进行下载)

下载完毕后,切到默认的Downloads文件夹,可以看到 cudnn-9.1-linux-x64-v7.tgz 压缩包 

先解压,然后将其中的内容复制到CUDA安装文件夹里面.

step.2 复制cuDNN内容到cuda相关文件夹内

sudo cp cuda/include/cudnn.h    /usr/local/cuda/include      #注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
sudo cp cuda/lib64/libcudnn*    /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn.h   /usr/local/cuda/lib64/libcudnn*

到此处,所以的安装就完成。

接下来就可以安装相应的软件,如:anaconda,pycharm tensorflow 等。。。

 

Ubuntu16.04环境下的安装:

安装nvdia驱动和cuda:

主要参考了下面这个博客

https://blog.csdn.net/u010837794/article/details/63251725

下面是所有CUDA版本的网页链接

https://developer.nvidia.com/cuda-toolkit-archive

然后cd指令进入/usr/local/cuda/samples,执行下面的命令来build samples

sudo make all -j64

全部编译完成后,cd进

入/usr/local/cuda/samples/bin/x86_64/linux/release,运行deviceQuery

./deviceQuery

如果出现显卡信息,则驱动及显卡安装成功,结果如下:

 

 

安装CUDNN:

把cudnn压缩包下载下来后,按照如下步骤安装即可:

1、删除原来的cudnn系统路径下的一些文件

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*   #这里*是通配符,libcudnn*指的是名字中带有libcudnn的所有文件

2、安装刚才解压的cudnn版本,在终端cd到刚解压的cuda文件夹,然后继续输入下面两个指令,这两个指令相当于把解压后的cuda文件夹下的一些文件拷到系统路径下面

sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/       #这里*是通配符,lib*指的是名字中带有lib的所有文件

3、在系统路径下建立软链接(解压出来的lib64下面有3个so文件。分别是

libcudnn.so 和 libcudnn.so.5以及 libcudnn.so.5.1.3文件。 并且这3个点so文件大小都一样。其实都是软连接!libcudnn.so链接到libcudnn.so.5,而

libcudnn.so.5.又链接到libcudnn.so.5.1.3。 真正的文件只有

libcudnn.so.5.1.3)

cd /usr/local/cuda/lib64
sudo chmod +r libcudnn.so.5.1.10
sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so

接下来设置环境变量:

sudo gedit /etc/profile

在打开的文件中加入如下两句话

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

保存后,使环境变量立即生效,

source /etc/profile

 

以上是关于ubuntu18.04安装nvidia驱动,3种方式图文详解+卸载教程的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu18.04安装Nvidia驱动全网不坑,超全步骤(亲测~)

Ubuntu18.04 安装 nvidia2080Ti显卡驱动

Ubuntu18.04 安装 nvidia2080Ti显卡驱动

Ubuntu18.04 安装 nvidia2080Ti显卡驱动

在Ubuntu18.04上安装Nvidia驱动

ubuntu18.04 安装Nvidia驱动的三种方式(必看)