目录
机器配置为:Intel Core i7-10875H, RTX 2070 Super Max-Q。一共经历了三次驱动安装过程,最终实现了:1)解决循环登录问题;2)能启动Steam并以正常性能运行3D游戏和程序。
前三次安装:各种坑
读者可跳过这部分直接看第四次成功安装的记录。
第一次安装:CUDA可用,但无法启动Steam
主要参考了这篇知乎的第7节。
结果:
- 可以正常进入系统,执行
torch.cuda.is_available()
结果为True
; - 由于安装驱动时没有安装32位兼容库,导致Steam无法启动。
第二次安装:遇到循环登录问题
卸载后仍然按照第一次的方式重装,但安装完毕重新启动系统后,遇到了循环登录问题。反复调试以后发现:在BIOS中设置为屏蔽核显的独显直连模式,就会出现循环登录;改为独显+核显的混合模式,就能进入系统,但无法调节笔记本显示屏亮度,也无法识别外接显示器。
尝试了多种方法解决,有修改GRUB文件,屏蔽Nouveau驱动,
第三次安装:CUDA可用,可以启动Steam,但3D性能差
这次安装驱动时,安装了32位兼容库,且仍然添加了–no-opengl-files参数。
结果:
- Steam可以启动,但打开任何游戏都非常卡顿。尝试启动了一些较老的游戏,如《传送门2》《两个世界》,性能都非常不理想。
- 打开系统中的Settings --> Details --> About,可以发现Graphics一栏写的并不是NVIDIA的GPU型号,而是llvmpipe (LLVM 6.0, 256 bits)
第四次安装:CUDA可用,Steam正常启动,3D性能正常
以下是步骤记录。
-
安装Ubuntu 18.04 : 在显卡直连模式下进入安装(选择显卡直连模式可能是非必要的,我的猜想是这样可以让Ubuntu在安装的时候不去安装)。这时候可能无法进入,提示ACPI BIOS Error。这可能是由于Ubuntu 18.04没有自带较新的显卡驱动导致的。解决方法参考这篇博客;
-
选择最小安装,并且不安装附加驱动程序;
-
如果安装快结束时遇到错误“无法将grub-efi-amd64-signed软件包安装到/target/”,导致无法引导进入系统,解决方法参考这篇博客。需要注意的是,根据我自己的经验,遇到报错后,要先重启,进入Try Ubuntu without installing模式,才能正确执行boot repair,否则程序会认为安装程序还在运行(即便你已经退出了);
-
下载驱动:为了避免最新版驱动可能引起的稳定性问题,我这次下载的是450.57版驱动。(之前几次都使用的是最新版的455版本);
-
安装驱动时的几个注意事项:
1)建议在纯命令行模式下执行安装过程,这样可以避免安装时出现 X Server正在运行的报错提示。在GRUB操作系统选择界面,选中Ubuntu,按e,进入参数编辑,在以linux开头的那一行,结尾加上空格和数字3,按Ctrl + X退出,即可进入纯命令行模式。
2)禁用nouveau驱动。编辑/etc/modprobe.d/blacklist.conf
文件,在文本最后添加:blacklist nouveau options nouveau modeset=0
然后执行
sudo update-initramfs -u
,完成修改。
重启计算机后,执行lsmod | grep nouveau
,如果没有输出任何内容,说明禁用成功。3)为了正确安装OpenGL,根据之前直接执行驱动安装程序的报错信息(大意是无法定位OpenGL的安装位置)得知,,需要先安装下面两个包:
sudo apt install pkg-config sudo apt install libglvnd-dev
4)为了正确安装32位兼容库,则需要在安装前先执行下列命令:
sudo dpkg --add-architecture i386 sudo apt update sudo apt install libc6:i386
5)切换到安装程序所在目录,执行
sudo chmod u+x NVIDIA-Linux-x86_64-450.57.run
(名字根据你自己的文件名自行更改)
6) 执行安装程序:sudo ./NVIDIA-Linux-x86_64-450.57.run
。安装过程中有一系列的选项和提示:
a) The distribution-provided pre-install script failed! Are you sure you want to continue?
选择Yes。
b) 询问你是否安装32-bit compatibility libraries,也就是32位兼容库,
选择Yes。(否则Steam无法正常启动。)
c)Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you restart X ? Any pre-existing X configuration file will be backed up?
我选择了Yes,但我并不确定这个选项的实际影响。从结果来看选Yes暂时没有发现什么问题。
- 驱动安装完成后重启计算机。
输入nvidia-smi
命令,检查一下是否可以正常显示GPU状态。
在系统的Settings --> Details --> About里,查看Graphics一栏,可以看到信息变成了GPU型号,不再是llvmpipe。
尝试执行torch.cuda.is_available()
,返回True
。
尝试启动Steam,并运行《古墓丽影:崛起》的benchmark test,平均帧数在100fps+,性能发挥正常。