Ubuntu安装NVIDIA驱动和CUDA

Ubuntu16.04 安装NVIDIA驱动和CUDA实例

自己在安装以前查阅了很多网上的资料,并没有一一都试,这里重点记录一下自己的安装过程和中间的体会。

1. 准备工作

查看显卡型号以及适合的驱动程序版本,网上的资料中涉及到好几个命令,主要是下面两个:

lspci | grep -i VGA
或者
sudo lshw -C display

注意这里主要是lspci和lshw这两个命令,后面都是参数用于筛选只跟显卡有关的信息,也可以不要参数,就用这两个命令,然后在一大串输出中自己找,具体的命令详解网上很多,这里就省略啦。

另外,对于lspci命令,由于有些NVIDIA显卡在pci设备信息中不一定会有VGA字样,有可能是3D Controler,所以如果只关心查询NVIDIA显卡型号,可以用这个命令:
lspci | grep -i NVIDIA

进入下面网站查询自己的显卡型号支持的驱动版本
https://www.geforce.cn/drivers

以我自己的为例(740M的老笔记本),最高支持418.74,实际上记住是418就行,小版本号不重要(如果是下载run文件的话,还是要选,一般选最高的吧,我直接用命令安装的,所以没有用到小版本号。

2. 禁用nouveau驱动并删除旧的NVIDIA驱动

这一步很关键,决定了最终安装的成败以及会不会装完后无限循环登录。

网上说的比较多的方法是修改系统的黑名单配置,有的是新建一个配置文件,有的是直接在现有的blacklist.conf文件里增加,我个人认为应该都可以,具体步骤如下:

ps:网上有些地方说要先修改blacklist.conf文件的权限,另外网上很多命令都是用VI或者VIM去修改,但是估计很多新手用不惯VI,容易出错。我直接用sudo gedit(基本上Ubuntu系统都会预装这个编辑器),也没有先修改权限(反正修改完后又查看了这个文件,确定确实修改成功后才重启的)

a. 修改文件,执行命令:
sudo gedit /etc/modprobe.d/blacklist.conf
打开文件后,在文件末尾加入如下内容:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

网上也有说只用加blacklist nouveauoption nouveau modset=0的,但是之前这样没成功(安装驱动成功但是分辨率无法调整了),后来也没再试具体怎么解决。

b. 更新系统,执行命令:
sudo update-initramfs -u

c. 重启
sudo reboot

d. 确认禁用成功

执行命令
lsmod | grep nouveau
如果没有任何显示,则禁用成功

3. 安装NVIDIA驱动

之前已经查看过,我要装的是418版本的。网上有三种安装方式:1. 命令安装;2.下载run file安装;3.源码编译,一般常见的也是比较简单的是前两种,第二种我试过一次没成功,用第一种成功了,所以也就没再继续研究第2种了。

a. 添加nvidia的PPA源
执行命令
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

b. 安装驱动
执行命令
sudo apt-get install nvidia-418

b2. 有可能需要的步骤(添加并更新软件源)\

我在第二次使用命令安装的时候,遇到了缺少依赖项且依赖项无法安装的情况,我就不列举具体是什么依赖项了,因为每个人情况不一样,我第一次命令安装的时候就没有遇到这个问题

为Ubuntu添加清华的源,执行以下命令打开源文件
sudo gedit /etc/apt/sources.list

在文件最后面加入如下内容

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse\
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

保存之后,运行一下命令sudo apt-get update更新源,然后再执行上面b步骤的安装命令,就可以成功安装了。

4. 测试驱动是否安装成功

首先,我用上面的方法,没有遇到无限循环登录和分辨率的问题。
安装完后重启系统,在终端查看驱动信息,主要是以下三个命令:
终端显示显卡信息
nvidia-smi(中间没有空格哦)

启动NVIDIA控制面板(需要在图形界面的终端中执行,服务器版无图形界面的会启动失败)
nvidia-settings
启动后可以看到GPU0的选项,里面会显示详细的显卡信息

查看NVIDIA显卡驱动
cat /proc/driver/nvidia/version

5. 安装CUDA

以我自己机器安装cuda10.0为例,各版本应该没啥差别,重点是cuda版本和驱动版本以及显卡型号对应,对应关系官网上有(https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html)。

如果驱动安装没有问题,这一步应该问题都不大了

5.1 下载安装文件(我用的是runfile安装,没有尝试deb安装包)

进入下面网站查找自己需要安装cuda版本
https://developer.nvidia.com/cuda-toolkit-archive
进入对应版本的下载链接后按照需要选择下载的文件。

5.2 执行安装

在终端中打开runfile所在的目录,执行下列命令进行安装
sudo sh cuda_10.0xxxxxx.run
网上很多说要把文件改成可执行权限,然后执行,我个人不太喜欢,直接用SH命令执行啦。

执行后会先出来一堆说明,终端下面显示more(0%),按空格“看完”说明,会弹出来输入选择,输入“accept”开始安装。

期间会有几个选项,别无脑选“y",根据自己需要来。尤其要注意第一个询问是否安装驱动的时候,要选"n",因为我们是先装好驱动再安装的。(网上有直接跳过前面自己装驱动,在这一步直接装驱动的,个人认为也是可以的,但是没有试,这样装驱动同样要先禁用nouveau的哦)

以下是我的选择情况:
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48? (y)es/(n)o/(q)uit: n(这里不要再安装驱动了!!!)

Install the CUDA 10.0 Toolkit?(是否安装CUDA 10 ,这里必须要安装) (y)es/(n)o/(q)uit: y

Enter Toolkit Location(安装路径,使用默认,直接回车就行) [ default is /usr/local/cuda-10.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?(同意创建软链接) (y)es/(n)o/(q)uit: y

Install the CUDA 10.0 Samples? (y)es/(n)o/(q)uit: y

Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...(开始安装)

5.3 配置环境变量

添加环境变量的命令如下:
export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH

注意这里cuda的目录路径与名称根据自己的版本和前面安装时设置的目录来写

添加完以后可以用命令env来查看。

这种方式每次重启以后,环境变量都会还原,所以最好是修改文件,网上有说修改.bashrc文件的,也有说修改profile文件的,我是修改的profile文件。

执行下面命令打开profile文件:
sudo gedit /etc/profile
然后把上面两条添加环境变量的命令加到文件末尾。

最后,运行下面命令查看CUDA版本,显示正常就是安装成功啦
nvcc -V

发布了7 篇原创文章 · 获赞 3 · 访问量 3398

猜你喜欢

转载自blog.csdn.net/yl19870518/article/details/99698413