本文参考了
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 nvidia 03:00.0 VGA compatible controller: NVIDIA Corporation Device 1b00 (rev a1) 03:00.1 Audio device: NVIDIA Corporation Device 10ef (rev a1)
下载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-*
4)安装驱动
1 卸载掉原有驱动
sudo apt-get remove --purge nvidia-*
2 Ctrl+alt+F1进入字符界面,关闭图形界面
sudo service lightdm stop
3 安装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 //安装驱动
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就是不吃这一套,它就没有那么多分辨率选项给你选!怎么办???
所选模式均不匹配可能的模式:
为 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 fbterm
vi .fbtermrc
font-size=16 #修改字体大小
font-names=Ubuntu Mono #修改字体类型
sudo fbterm #运行