在双GPU(核显+NVIDIA)计算机中正确安装Ubuntu 18.04下的NVIDIA驱动程序(解决循环登录等问题)

机器配置为: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性能正常

以下是步骤记录。

  1. 安装Ubuntu 18.04 : 在显卡直连模式下进入安装(选择显卡直连模式可能是非必要的,我的猜想是这样可以让Ubuntu在安装的时候不去安装)。这时候可能无法进入,提示ACPI BIOS Error。这可能是由于Ubuntu 18.04没有自带较新的显卡驱动导致的。解决方法参考这篇博客

  2. 选择最小安装,并且不安装附加驱动程序;

  3. 如果安装快结束时遇到错误“无法将grub-efi-amd64-signed软件包安装到/target/”,导致无法引导进入系统,解决方法参考这篇博客。需要注意的是,根据我自己的经验,遇到报错后,要先重启,进入Try Ubuntu without installing模式,才能正确执行boot repair,否则程序会认为安装程序还在运行(即便你已经退出了);

  4. 下载驱动:为了避免最新版驱动可能引起的稳定性问题,我这次下载的是450.57版驱动。(之前几次都使用的是最新版的455版本);

  5. 安装驱动时的几个注意事项
    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暂时没有发现什么问题。
  1. 驱动安装完成后重启计算机。
    输入nvidia-smi命令,检查一下是否可以正常显示GPU状态。
    在系统的Settings --> Details --> About里,查看Graphics一栏,可以看到信息变成了GPU型号,不再是llvmpipe。

在这里插入图片描述
尝试执行torch.cuda.is_available(),返回True
尝试启动Steam,并运行《古墓丽影:崛起》的benchmark test,平均帧数在100fps+,性能发挥正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值