ubuntu16.04安装nvidia驱动+cuda8.0+cuDnn5.0

来源:互联网 发布:汽车行业设计软件 编辑:程序博客网 时间:2024/05/17 08:03

本文参考了

http://www.cnblogs.com/5211314jackrose/p/7081020.html

https://jingyan.baidu.com/article/4853e1e55679491909f726f4.html

http://www.cnblogs.com/iloveblog/p/7683349.html

http://blog.csdn.net/nostandby/article/details/69383543


1. 检查自己的GPU是否是CUDA-capable

xtu@xtu-Precision-Tower-7910:~$ lspci | grep -i nvidia03:00.0 VGA compatible controller: NVIDIA Corporation Device 1b00 (rev a1)03:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1)


2.下载安装包

下载NVIDIA-Linux-x86_64-384.90.run

网址http://www.geforce.cn/drivers/results/123918

3.安装nvidia驱动

这里遇到了很多坑,有的比较独特,我在网上很难查到

3.1 禁用nouveau

ubuntu自带的nouveau驱动会影响cuda安装,不当操作会导致黑屏和登陆循环。 终端运行:

lsmod | grep nouveau
如果有输出则代表nouveau正在加载。则需要禁用nouveau,还需要将Ubuntu集成的开源驱动加入黑名单,即修改/etc/modprobe.d/blacklist.conf文件:sudo gedit /etc/modprobe.d/blacklist.conf
在文件中输入以下内容并保存:
blacklist nouveau  options nouveau modeset=0 

之后更新

sudo update-initramfs -u

此时重启,再用终端检测一下

lsmod | grep nouveau

没有输出即为禁用成功。

3.2 安装驱动

1) 卸载掉原有驱动

sudo apt-get remove --purge nvidia-*
2)安装一些依赖(不一定需要)

4)安装驱动

1 卸载掉原有驱动

sudo apt-get remove --purge nvidia-*

2 Ctrl+alt+F1进入字符界面,关闭图形界面

sudo service lightdm stop

安装nvidia driver

sudo chmod a+x NVIDIA-Linux-x86_64-384.90.run //获取权限sudo ./NVIDIA-Linux-x86_64-384.90.run –no-x-check –no-nouveau-check –no-opengl-files //安装驱动
  • –no-x-check 安装驱动时关闭X服务
  • –no-nouveau-check 安装驱动时禁用nouveau
  • –no-opengl-files 只安装驱动文件,不安装OpenGL文件

Accept->Continue installation->sign the kernel module(为内核模块签名)?选择是->使用已有的密钥给模块签名还是重新生成?选重新生成密钥->是否删除已生成的密钥文件?选择否->安装完成

问题:The target kernel has CONFIG_MODULE_SIG set,which means that it supports cryptographic signatures on kernel module. On some systems, the kernel may refuse to load modules without a valid signature from a trusted key.This system also UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is enabled. Would you like to sign the NVIDIA kernel module?

解决:禁用UEFI安全启动功能

启动电脑,然后按电脑的设置访问UEFI,本机器按[F2]键,不同的制造商可能有不同的设置,具体请参考主板说明书。

根据不同的UEFI版本,安全启动选项通常在一个选项卡下,这个选项卡可能被命名为“Boot”、“Security”或者“Authentication”,在类似的选项卡中查找,我们会发现一个“Secure Boot”选项,该选项默认设置为“Enabled”,选中它并回车,将其设置为“Disabled”,按[Apply]键存储设置,重新启动电脑即可安装我们需要的操作系统。(这一步特别重要,我就是因为没有禁用这个,导致安驱动总是出错)

检查 NVIDIA Driver是否安装成功

nvidia-smi


显示上图则说明成功

重启后会出现系统分辨率有问题:

问题描述:

ubuntu16.04最初的“系统设置 --> 显示 --> 分辨率”里面只有1024 x 768 和 800 x 600两个选项,

并且显示器显示“Unknown Display”。

这就很伤啦呀,

因为我的显示屏尺寸确实很大,而且在win10系统下分辨率选项有很多,最佳的是1920 x 1080。

但是ubuntu就是不吃这一套,它就没有那么多分辨率选项给你选!怎么办???

方案(永久性,重启也不失效):
添加 /etc/X11/xorg.conf 文件,将此模式保存为默认分辨率。
$ sudo vim /etc/X11/xorg.conf
(如果没有安装vim,可以使用“sudo gedit /etc/X11/xorg.conf”)
粘贴以下内容:
Section "Monitor"
Identifier "Configured Monitor"
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
Option "PreferredMode" "1920x1080_60.00"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
EndSection
Section "Device"
Identifier "Configured Video Device"
EndSection
保存。重启后就变成1920x1080了。
ps:我的系统是16.04的,默认没有xorg.conf文件。但是没关系,将上述内容保存为xorg.conf文件就行了。
如果只做了第一步,重启之后可能会出现类似下面的错误:
Ubuntu 无法应用原保存的显示器配置

所选模式均不匹配可能的模式:
为 CRTC 63 尝试模式
CRTC 63:尝试 800x600@60Hz 模式输出在 1366x768@60Hz (通过 0)
CRTC 63:尝试 2560x1600@60Hz 模式输出在 1366x768@60Hz (通过 0)
CRTC 63:尝试 1920x1440@60Hz 模式输出在 1366x768@60Hz (通过 0)
CRTC 63:尝试 1856x1392@60Hz 模式输出在 1366x768@60Hz (通过 0)
CRTC 63:尝试 1792x1344@60Hz 模式输出在 1366x768@60Hz (通过 0)
CRTC 63:尝试 1920x1200@60Hz 模式输出在 1366x768@60Hz (通过 0)
CRTC 63:尝试 1600x1200@60Hz 模式输出在 1366x768@60Hz (通过 0)
CRTC 63:尝试 1680x1050@60Hz 模式输出在 1366x768@6

解决方法:删除/home/用户名/.config/monitors.xml,重启电脑即可。(.config是隐藏文件夹

我遇到的几个坑:

一、循环登录

主要表现为在登录界面输入密码后依然跳转回登陆界面,无限循环,这是我在使用.run文件安装时遇到的问题,这里有一个亲测有效的解决方案:

当输入安装指令时,不要简单地输入 sudo ./....run,而是输入:

sudo ./NVIDIA.run -no-x-check -no-nouveau-check -no-opengl-files

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件

这样再reboot,就不会出现循环登录的问题。

二、重启黑屏

主要表现为reboot后开机无法进入图形界面,而是直接黑屏,但是还可以进入命令行界面。亲测有效的解决方案:

sudo cp ~/tmp/xorg.conf.nvidia-xconfig-original /etc/X11/xorg.conf

sudo gedit /etc/X11/xorg.conf

确保xorg.conf.nvidia-xconfig-original(也可能在etc/X11路径中)与xorg.conf的内容为:

Section "ServerLayout"     Identifier "layout"     Screen 0 "nvidia"     Inactive "intel"EndSection   Section "Device"     Identifier "intel"     Driver "intel"    BusID "PCI:0@0:2:0"     Option "AccelMethod" "SNA" EndSection   Section "Screen"    Identifier "intel"     Device "intel" EndSection   Section "Device"    Identifier "nvidia"     Driver "nvidia"     BusID "PCI:1@0:0:0"    Option "ConstrainCursor" "off" EndSection   Section "Screen"     Identifier "nvidia"    Device "nvidia"     Option "AllowEmptyInitialConfiguration" "on"    Option "IgnoreDisplayDevices" "CRT" EndSection   然后reboot,就可以解决黑屏问题。  

 三、驱动不工作   主要表现为可以进入图形界面,但是驱动不工作,无论是nvidia-smi还是nvidia-prime都是无效的。   出现这个问题的可能原因是没有Disable掉Secure Boot(就是安装驱动时提示你Disable的东西),解决方法也很简单,在安装完驱动后,reboot时,在开机出现一个全蓝界面 时按任意键,选择第二项,也就是改变Secure Boot的状态,然后依据提示将它Disable掉,然后boot就好。 如果之后要Enable这个东西的话,输入指令: sudo mokutil --enable-validation   然后reboot,在开机的时候就会再次出现那个全蓝的界面,依然选择第二项,根据提示Enable,然后boot即可。   总的来说Ubuntu和NVIDIA之间还是挺不对付的,上面三个问题也是比较常见的三个问题,因此将问题及解决方案记录下来,希望能帮助到各位。

tty不能显示中文 

由于不能进入图形界面,首先应该Ctrl+Alt+F1进入tty,发现tty竟然不能显示中文,需要安装fbterm来支持中文显示。顺便提一下从tty返回图形界面命令是Ctrl+Alt+F7

安装fbterm

sudo apt-get install fbtermvi .fbtermrcfont-size=16    #修改字体大小font-names=Ubuntu Mono  #修改字体类型sudo fbterm #运行
阅读全文
0 0