在双GPU(核显+NVIDIA)计算机中正确安装Ubuntu 18.04下的NVIDIA驱动程序(解决循环登录等问题)
目录
- 前三次安装:各种坑
- 第一次安装:CUDA可用,但无法启动Steam
- 第二次安装:遇到循环登录问题
- 第三次安装:CUDA可用,可以启动Steam,但3D性能差
- 第四次安装:CUDA可用,Steam正常启动,3D性能正常
机器配置为: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+,性能发挥正常。
在双GPU(核显+NVIDIA)计算机中正确安装Ubuntu 18.04下的NVIDIA驱动程序(解决循环登录等问题)相关推荐
- NVIDIA Jetson Nano B01 安装Ubuntu 18.04.3 LTS
几乎完美安装! NVIDIA Jetson Nano B01 Ubuntu 18.04.3 LTS 的 ROS 安装和菜鸟的踩坑记录 NVIDIA Jetson Nano B01技术规格 Ubuntu ...
- 虚拟机linux 8.04汉化,在虚拟机中快速安装 Ubuntu 18.04
1.准备工作:安装前的准备 2.快速安装及认识界面:安装并认识 Ubuntu,知道最常规操作 3.系统设置:添加中文支持,设置系统时区 4.安装常用软件:选择国内的镜像服务器,安装常用软件 1.准备工 ...
- 在虚拟机中快速安装 Ubuntu 18.04
2019独角兽企业重金招聘Python工程师标准>>> 原文链接https://mp.weixin.qq.com/s/Mjz_KNnhPeBaXxHB_G729Q 内容列表 1.准备 ...
- 双系统下卸载ubuntu 20.04再安装ubuntu 18.04的相关方法、软件以及出现ACPI Error错误和解决办法
文章目录 前言 一.删除原来的ubuntu 20.04系统和开机引导 二.制作ubuntu18.04系统盘 三.安装ubuntu 18.04(已经有一个windows 10系统情况下) 四.安装完重启 ...
- 苹果系统 macOS Mojave 10.14.4上安装 Ubuntu 18.04 双系统
macOS Mojave 10.14.4 安装Ubuntu 18.04 双系统 0. 准备工作 & 系统情况 1. 制作Ubuntu安装盘(U盘) 2. 硬盘分区 3. 安装Ubuntu 4. ...
- 记一次安装 ubuntu 18.04 双系统 (双硬盘)
安装 ubuntu 18.04 奉劝那些没装双系统的都装装,昨天一个晚上+今天一个早上+一会下午就弄完了.虽然感觉不是百分百弄完了,但是起码可以用了- 简明要点 就直接说要点了,大话就不聊了.同时默认 ...
- Linux学习笔记(一) -- 在虚拟机中安装Ubuntu 18.04
1.安装平台 1.操作系统:Win7 X64 2.虚拟机版本:VMware Workstation 14 Pro 3.ubuntu版本:Ubuntu 18.04 2.安装步骤 ubuntu下载 1.下 ...
- 在ubuntu 18.04下安装Nvidia显卡驱动的黑屏问题
目录 安装环境 问题 解决办法 更新 安装环境 ubuntu 18.04 ROG 幻16 3060 问题 禁用ubuntu 自带显卡驱动Nouveau,具体流程网上查询 根据系统推荐,安装了nvidi ...
- ubuntu 15.04 下的 nvidia(待续)
检查自己的GPU是否支持CUDA,linux可用以下命令来查看GPU型号: lspci | grep –i nvidia 本机显示结果如下 03:00.0 3D controller: NVIDIA ...
最新文章
- fragment的基本使用
- ASP.NET MVC下使用SWFUpload完成剪切头像功能
- http协议之request
- C++文件交互(txt、excel)
- kafka分区与分组原理_Kafka工作原理
- (进阶)LeetCode(766)——托普利茨矩阵(JavaScript)
- 破解无线网络密码(蹭网教程
- 【非标自动化】2017年的最NB的非标自动化内容都在这了
- 计算机与信息技术基础上机指导答案,信息技术基础学习指导——实验和习题解答(第3版)...
- The following paths are ignored by one of your .gitignore
- Android系统应用---SystemUI之三:状态栏电池图标的显示和Android电池管理的探讨
- JavaSE基础笔记——File概述、方法递归、字符集、IO流
- java牛奶订购系统,Java IO系统
- ImportError: Couldn‘t import Django
- Groovy~Groovy的方法
- CF221C Circling Round Treasures
- 三种批量删除PLSQL写法效率的比对
- vmware蓝牙识别不到问题:shared buletooth 不要勾就好了
- STM32——TIM输出比较
- 使用Font-Awesome图标字体库
热门文章
- 强化学习笔记-01强化学习介绍
- 雾里看菊:热点IP是怎么生成的
- 航空工业直升机与泰雷兹签订战略合作备忘录
- perl(Time::HiRes) is needed mysql5.7
- 网易租赁服务器怎么添加组件,《我的世界》租赁服添加MOD教程 租赁服怎么添加小精灵MOD?...
- 找工作经验贴----转自cc98 (作者ID:qzz88 ) 仅为收藏,感谢原作者的经验分享
- Gala concert held to commemorate Andersen
- 3秒钟解决windows字符间距变大,输入字母间距变大问题
- 《 Socket.IO》 解决 WebSocket 通信
- php异步执行shell脚本