Ubuntu 系统下安装 NVIDIA 驱动

安装步骤

卸载所有安装的nvidia驱动(可选)

如果之前没安装过nvidia驱动,可以不执行此步骤.

1
2
3
sudo service lightdm stop # 卸载之前应该先停止 lightdm
sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove "nvidia-*"

卸载完以后,重启。

禁用nouveau驱动和相关的驱动包

用编辑器打开blacklist.conf配置文件

1
sudo gedit /etc/modprobe.d/blacklist.conf

在文件的最后一行加入下面的命令,屏蔽有影响的驱动包

1
2
3
4
5
blacklist rivafb
blacklist vga16fb
blacklist nouveau
blacklist nvidiafb
blacklist rivatv

测试是否禁用成功

1
lsmod | grep nouveau

如果有输出则代表nouveau正在加载。修改blacklist-nouveau.conf(若没有则创建)

1
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

文件中输入以下内容并保存:

1
2
blacklist nouveau
options nouveau modeset=0

之后更新

1
sudo update-initramfs -u

重启

1
sudo reboot

再次查看

1
lsmod | grep nouveau

没有输出即为禁用成功,重启后很明显可以发现终端命令中打字体变大了

一定要禁用之后才能安装, 否则会报错, 错误内容在最后面的整理部分

安装显卡驱动

安装需要的依赖

1
2
3
4
5
6
sudo apt update
sudo apt install dkms build-essential linux-headers-generic

# 32 位库兼容性支持相关文件
sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1

安装驱动包
Ctrl+Alt+F1 进入命令提示符界面
然后,输入对应的username和passwd进入命令行.
最后,使用下面的指令 关闭图形界面

1
sudo service lightdm stop

更改执行权限, 进行安装, 不要忘了后面的选项

1
2
3
4
5
sudo chmod 755 NVIDIA-Linux-x86_64-384.111.run  #修改权限(否则没有访问权限,无法进行指令安装)
sudo ./NVIDIA-Linux-x86_64-384.111.run –no-x-check –no-nouveau-check –no-opengl-files #安装驱动
#–no-x-check 关闭X服务
#–no-nouveau-check 禁用nouveau
#–no-opengl-files 不安装OpenGL文件

安装过程中遇到 kernel-module, 选 yes, 32-兼容, 选 yes.

安装完成后, 更新重启

1
2
sudo update-initramfs -u
sudo reboot

判断显卡驱动是否安装成功

1
nvidia-smi #输入指令查看显卡信息

遇到问题

错误1.

1
the distribution-provided pre-install script failed!

这个问题源自nvidia驱动安装包自身的问题,这里我们可以直接点击yes或者continue继续安装
错误2.

1
2
3
4
5
6
7
8
ERROR: Unable to load the kernel module 'nvidia.ko'.  This happens most
frequently when this kernel module was built against the wrong or
improperly configured kernel sources, with a version of gcc that differs
from the one used to build the target kernel, or if a driver such as
rivafb/nvidiafb is present and prevents the NVIDIA kernel module from
obtaining ownership of the NVIDIA graphics device(s), or NVIDIA GPU
installed in this system is not supported by this NVIDIA Linux graphics
driver release.

遇到此问题, 要么是安装本身不匹配或者破损, 要么没有完全禁用nouveau, 根据上面的安装方式禁用即可.

错误3.
检测到系统已经安装了其他版本的nvidia驱动
驱动没卸载干净,可以使用sudo apt-get --purge remove nvidia-*命令,卸载所有的nvidia驱动,也可以点继续,这样在安装过程中会自动卸载旧驱动

错误4.
在安装的最后一步,没有提示安装成功,而是显示

1
Error:Unable to load the 'nvidia-drm' kernel module .

出现这个问题最有可能的原因是你安装的Ubuntu是UEFI模式启动的,但是在BIOS中却打开了Security BOOT选项. 正确做法是 禁用该选项

错误5.
安装过程中有可能会弹出X.org异常警告,以我的经验来说你可以无视该警告继续安装,这样并不会有什么问题

1
`pkg-config` utility and the X.Org SDK/development package for your distribution and reinstall the driver.

错误6.

就是安装完以后仍不能nvidia-smi,解决办法是去boot里将secureboot 设置成disable,这步操作完nvidia-smi就有结果了

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

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

1
2
3
4
5
6
sudo ./NVIDIA-Linux-x86_64-384.111.run -no-x-check -no-nouveau-check -no-opengl-files
-no-x-check:安装驱动时关闭X服务

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

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

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

其他问题: http://www.cnblogs.com/matthewli/p/6715553.html