在linux上做深度学习,首先需要安装nvidia驱动,但该步骤容易出错,所以记录下来。
博客主页:http://blog.csdn.net/xs1102
文章地址:https://blog.csdn.net/xs1102/article/details/81665527
1、去官网下载nvidia驱动。
https://www.geforce.cn/drivers
根据自己的显卡型号和系统版本下载对应文件,非geforce系列的自行查找。
2、切换到文本模式,以root用户登录,接下来所有命令行都在文本模式下以root执行,图像界面下无法安装显卡驱动。
init 3
su root
3、如果以前装有旧驱动,先卸载
apt-get remove --purge nvidia*
如果以前使用系统自带的nouveau驱动,需要先禁用。如果不知道自己电脑是否安装该驱动,那就是默认安装了它。
Ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动。 Nouveau 是一个开源的 Nvidia 显卡驱动。相比之下 Nvidia 的官方驱动不是开源的,而开源的 xf86-video-nv 功能又很弱。对比官方驱动,Nouveau 的优势在于支持新内核的 Kernel Mode Setting 特性。 |
将Nouveau驱动(nouveau)添加到黑名单blacklist.conf中:(修改前记得备份!)
vim /etc/modprobe.d/blacklist.conf
blacklist nouveau
#若以上一条无法禁用,可以尝试也加入下边几条
blacklist vga16fb
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
更新initramfs 使刚才的禁用生效。
update-initramfs -u
4、修改重启选项
修改/etc/default/grub文件,修改前记得备份!
//图形模式
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
//文本模式
//把GRUB_CMDLINE_LINUX="" 改为 GRUB_CMDLINE_LINUX="text"
GRUB_CMDLINE_LINUX="text"
//去掉 GRUB_TERMINAL=console 的注释
GRUB_TERMINAL=console
//修改文版模式的分辨率
GRUB_GFXMODE=640x480
更新启动项,更改启动进入文本模式,重启
update-grub
systemctl set-default multi-user.target
reboot
5、开机后验证Nouveau是否被禁止,图形界面是否未启动
lsmod | grep nouveau
service lightdm status
#若图形界面加载了,则执行下边两句,立刻禁用
#init 3
#service lightdm stop
6、开始安装驱动
chmod +x ./NVIDIA-Linux-x86_64-375.20.run
#安装提示一步步安装,有error提示则说明上边几步有失败。其他的一直yes、continue、next、、就行。
./NVIDIA-Linux-x86_64-375.20.run
#验证安装结果
nvidia-smi
7、还原grub和系统启动项,重启即可。
cp /etc/default/grub.bak /etc/default/grub
update-grub
systemctl set-default graphical.target
init 6
2018-09-18更新:
linux更新后无法正常启动,可执行nvidia-xconfig命令。
2021-01-10更新:
联想Y9000K笔记本安装时,千万不要在Windows系统中选择独显模式,使用默认的混合模式就好。否则会在安装系统或者安装驱动时出现一些莫名其妙的ACPI崩溃。其他型号的电脑,只要是双显卡切换的,最好也留意这一点。
2021-01-10更新:
目前较新的笔记本带有Secure Boot功能,安装显卡时有两种解决方案:一是关掉该功能,在BIOS中设置为Disabled即可。二是将Nvidia生成的公钥注册到mok(Machine Owner Key)中。
需要使用mokutil命令,如果没有请安装:
apt install mokutil
在第6步安装过程中,驱动会生成公钥并提示存放位置,一般在/usr/share/nvdia/nvidia-modsign-*.der。
# 导入公钥,文件名自己视情况而定,我只做示意
mokutil --import /usr/share/nvidia/nvidia-modsign-*.der
# Enter password:
# Enter password again:
# 一定要记住这个密码,后续还要用。
安装结束后,驱动并不能使用,nvidia-smi会报错的。重启机器,此时在进入系统前会提示注册钥匙:选择 Enroll key,然后点击 Continue,输入之前的密码,然后 reboot 就好了。重启后便可以正常使用驱动了。