当前位置: 首页 > news >正文

ubuntu18.04下安装nvidia3090显卡驱动

前言:之前安装过4090的显卡,但是是使用20.04直接在第三方驱动里面安装的,这回使用的是18.04,版本估计是21年以前的,附加驱动直接没有,整整卡了两天,最后再查询多篇资料后最终安装好,特此记录以下完整的安装过程,以便未来。------20240819

系统:ubuntu18.04

显卡:3090公版

驱动:535.183.01

时间:2024年8月15日

目录:

第一章 准备部分
第二章 相关环境依赖下载
第三章 安装
第四章 确定成功安装的判断方法
附录 参考资料


第一章 准备部分

准备部分主要包括相关硬件的连接,确定显卡的型号、相匹配驱动的下载。

1.1 确定相关硬件连接

硬件连接主要看两点,
①显卡的供电线是否插上,一般而言服务器在运输的过程中会将显卡拆下到货后。由专门的安装人员进行安装,但也不能保证,所以需要先判断显卡的供电线是否插入。
供电线为6pin,40系列好像时12pin插进即可,如图1-1所示。

图1-1 显卡供电线连接确认

②连接外接显示器的HDMI或者DP线需要确定是否插在显卡的HDMI接口或者DP接口,如图1-2所示。

图1-2 确定外接显示器的HDMI或DP线连接显卡的接口

如果说服务器外接的是单显示器的话,且显示器的线接在了主板的HDMI接口处,那么会导致ubuntu系统始终使用的是核显,即在settings里面显示为llvmpipe 256bit,如图1-3所示。

图1-3 ubuntu里settings显示

确定完上述两点,硬件连接部分就算完成。

1.2 确定显卡型号

一般而言,服务器会在机箱外部贴有相应的型号,根据型号可以直接去服务器厂家官网去查询就可以。如果这个方法行不通,就采用如下方法:
①打开终端(Ctrl+Alt+T)
输入:lspci | grep -i nvidia
显示如图1-4所示,

图1-4 输入lspci | grep -i nvidia显示

记住NVIDIA Corporation Device 后面的代码:xxxx。将它复制下来。

②进入官网查询

进入Nividia的官网:https://admin.pci-ids.ucw.cz/read/PC/10de/2208

如图1-5所示,在红框处输入上面所保存的4位标识符。

图1-5 输入4位标识符

结果如图1-6所示,

 图1-6 输出显卡型号

 ③直接查询
使用在终端使用命令:nvidia-smi -L,
输出结果如图1-7所示,

图1-7 使用命令nvidia-smi -L

经过以上步骤显卡的型号就可以确定下来,下面是对于显卡驱动的安装。

1.3 安装显卡驱动
①搜索驱动
还是要进入nvidia官网: https://www.nvidia.cn/drivers/lookup/
如图1-8所示,然后输入前面获得的型号,即可获得可以使用的显卡驱动包。注意系统不要选错了,选择对应的系统,ubuntu18.04位Linux系统,选择Linux 64-bit。

图1-8 官方推荐显卡驱动包

②选择合适的驱动
如图1-9所示,官方会显示很多的驱动包,在这里选择适合的驱动包,我选择的是驱动版本535.183.01。一般而言不要选择较新的驱动,可能会产生CUDA和torch等相关的不适配,建议安装稳定版本的。

图1-9 官方驱动包列表

再点击查看就可以直接下载了,下载前再次确定系统是否位Linux 64-bit。
下载完成后,会得到一个后缀为run的文件,如图1-10所示。

 图1-10 下载后得到一个后缀为run的文件

 1.4 禁用BIOS相关

在BIOS部分主要修改两处。
①禁用secure boot
禁用BIOS中的安全启动模式secure boot,开机进入BIOS模式,主要是按F2或者Delete,然后找到secure boot按钮选择uneable就行。
②启动独显模式
在GRAPHIC界面选择ONLY NVIDIA HD。
到此为止,我们的准备部分就完成了。下面进行相关环境依赖的安装。


第二章 相关环境依赖的安装


本章的主要内容包括移除之前安装的nvidia包、自带的nouveau包、安装gcc、安装cmake以及安装lightdm相关依赖。

2.1 移除之前安装的nvidia包

适用于之前安装过nvidia的包,按如下的步骤卸载,分为两种情况:
①在ubuntu软件与更新部分安装的附加驱动,如图2-1所示,

 图2-1 软件与更新部分附加驱动

 卸载这种形式安装的nvidia驱动输入命令:sudo apt-get purge nvidia*
②是按照自己在官网下载驱动自己安装就是本文的情况
在所下载的驱动文件夹内打开终端,输入sudo ./NVIDIA-Linux-x86_64-*.run –uninstall
即可将这种模式下安装的驱动卸载。

2.2 禁用自带的nouveau驱动

输入指令:sudo /etc/modprobe.d/blacklist.conf

在文件末尾加入:

blacklist nouveau
options nouveau modeset=0

如图2-2所示,

图2-2 在blacklist-nouveau.conf文件中加入禁用命令

再保存文本,然后再更新以下:

sudo update-initramfs -u

然后重启,reboot,重启成功后在终端输入lsmod | grep nouveau 如果没有输出,说明nouveau禁用成功。

2.3 安装相关依赖

主要安装gcc、g++、cmake以及lightdm,特别是lightdm,如果不安装会导致重启后卡在循环登录界面,就是左上角一个横杠一直闪烁。
①安装gcc
输入命令:sudo apt-get install gcc

sudo apt-get install gcc

②安装g++
输入命令:sudo apt-get install g++

sudo apt-get install g++

③安装cmake
输入命令:sudo apt-get install make

sudo apt-get install make

④安装lightdm(重要)
输入命令:sudo apt-get install lightdm

sudo apt-get install lightdm

安装完成后,输入sudo /etc/init.d/lightdm status查看状态,如图2-3所示,

 图2-3 lightdm status查看状态

 输入sudo /etc/init.d/lightdm stop或者sudo service lightdm stop

sudo /etc/init.d/lightdm stop
# 或者 sudo service lightdm stop

这时屏幕会黑,因为关闭了桌面图形化,下面开始正式的安装。
也今天输入命令:sudo telinit 3关闭图形化。


第三章 安装驱动

本章主要分为进行文本tty界面、安装驱动两大部分。

3.1登录命令行版ubuntu

①进入tty界面
按住Ctrl+Alt+F1即进入tty界面(如果进不去,就按Ctrl+Alt+F2~F6的任何一个分别对应tty2~tty6,任何一个都可以),如图3-1所示,

图3-1 tty界面

tty界面为Ubuntu最原始的界面,没有图形化的显示,我们需要用它来完成Nvidia显卡驱动的安装。
②登录tty终端
输入主机名和密码,如图3-2所示,

图3-2 输入主机名和密码

即正常进入到了无桌面版的ubuntu。

3.2 安装驱动

①进入到下载好的驱动的目录
输入命令:cd /xxx,再使用ls命令验证。如图3-3所示,

图3-3 进入驱动所在目录并使用ls命令验证

②赋予驱动可执行权限
输入命令:sudo chmod 777 ./NVIDIA-Linux-x86_64-*.run(这里的*换上所下载的不同版本的驱动)。

sudo chmod 777 ./NVIDIA-Linux-x86_64-*.run

然后使用ls验证,它会变成绿色,有些也不会变成绿色,那么使用ll命令看它是否有可读写的权限,如图3-4所示,

图3-4 验证是否具有可执行权限

③执行安装
输入命令:sudo ./NVIDIA-Linux-x86_64-*.run -no-x-check -no-nouveau-check
其中-no-x-check参数表示不检查x服务,
-no-nouveau-check参数表示不检查nouveau

sudo ./NVIDIA-Linux-x86_64-*.run -no-x-check -no-nouveau-check

注意台式机不要输入-no-opengl-files会影响后面的安装。
输入命令且执行后,它会出现如下图3-4所示的四个白色的方块,这是输入密码的标志,不是等待命令执行。第③步有可能也会出现需要注意。

图3-4 输入密码

密码输入后,即进入安装部分,会出现几个选择一般来说按如下部分进行选择:
会询问是否安装32位的,选择no
会询问是否执行nvidia-xconfig选择no
剩下的就是默认就好了,然后等待安装完成。一般不会有什么问题。安装完成后输入nvidia-smi一般而言会出现如下图3-5所示的内容,这表示显卡驱动安装好80%,需要再到系统里面验证才可以完成剩下的20%。

图3-5 nvidia-smi显示

3.3 可能遇到的问题

一般按照上面的步骤后,应该不会出现问题,这里记录下我遇到的问题,以及解决的办法。
①安装过程中,报you appear to be running an x server please exit x before installing什么什么的,主要是因为x服务没有关闭,输入命令:

sudo /etc/init.d/lightdm stop
sudo /etc/init.d/lightdm status

最好不要使用gdm类型,会与nvidia显卡驱动产生冲突,出现一些不必要的问题。
②安装完显卡驱动,reboot后左上角一直光标在跳动,即进入了循环登录的界面。有两种解决方法:
第一种:进入tty模式,安装ubuntu desktop
输入命令:sudo apt install ubuntu-desktop

sudo apt install ubuntu-desktop

然后重启reboot
第二种:进入tty模式,
输入命令:cd /etc/X11
输入命令:ls,查看是否有xorg.conf,xorg.cong-nvidia-xconfig这两个文件。

cd /etc/X11
ls

删除xorg.conf,将xorg.cong-nvidia-xconfig重命名位xorg.conf。命令如下:
输入命令:sudo rm ./xorg.conf
输入命令:sudo mv xorg.cong-nvidia-xconfig xorg.conf

sudo rm ./xorg.conf
sudo mv xorg.cong-nvidia-xconfig xorg.conf

然后重启reboot。
这里出现这个的原因,可能是xorg.conf是驱动安装过程中被修改过的(选择Yes的后果),修改了系统的X服务器配置文件/etc/X11/xorg.conf,来让X服务器自动指向NVIDIA X来作为图形驱动。xorg.cong-nvidia-xconfig是备份的原文件。简单来说就是这个配置文件时核显的,但核显关闭了,找不到核显,就只能循环的登录了。


第四章 验证成功安装

在ubuntu系统中验证成功安装的方式只有一种,就是settings->设备那里显示处显卡的型号或者Nvidia corporator如图4-1所示,才能算显卡安装成功,其它的都是假的。

图4-1 setting显示

最后看一下成功安装显卡驱动后的vtd的ig,60帧流畅运行。

图4-2 60帧流畅运行的ig

备注:csdn写文章格式好难用,还是得学一下markdown。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据结构----栈
  • C语言指针详解-上
  • (七)Activiti-modeler中文支持
  • 『Z-Workshop』 The Graph workshop mini hackathon活动
  • IBERT 眼图机制
  • 使用Poi-tl对word模板生成动态报告
  • 利用 Python 的包管理和动态属性获取(`__init__.py` 文件和 `getattr` 函数)特性来实现工厂方法模式
  • RHEL8 配置epel源
  • 深入探讨C语言中的高级指针操作
  • 生产环境中MapReduce的最佳实践
  • 微信小程序在不同移动设备上的差异导致原因
  • Startup-SBOM:一款针对RPM和APT数据库的逆向安全工具
  • Jenkins使用Publish Over SSH插件远程部署程序到阿里云服务器
  • vue3+ts+vite+pinia+element-plus搭建一个项目
  • 使用Docker-compose一键部署Wordpress平台
  • 【node学习】协程
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 10个最佳ES6特性 ES7与ES8的特性
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Android组件 - 收藏集 - 掘金
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Python 反序列化安全问题(二)
  • uni-app项目数字滚动
  • 从输入URL到页面加载发生了什么
  • 分布式事物理论与实践
  • 欢迎参加第二届中国游戏开发者大会
  • 力扣(LeetCode)56
  • 码农张的Bug人生 - 见面之礼
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 深入浅出webpack学习(1)--核心概念
  • 消息队列系列二(IOT中消息队列的应用)
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 我们雇佣了一只大猴子...
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​香农与信息论三大定律
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • !$boo在php中什么意思,php前戏
  • #APPINVENTOR学习记录
  • #Java第九次作业--输入输出流和文件操作
  • #pragma multi_compile #pragma shader_feature
  • (160)时序收敛--->(10)时序收敛十
  • (2.2w字)前端单元测试之Jest详解篇
  • (39)STM32——FLASH闪存
  • (pojstep1.3.1)1017(构造法模拟)
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)计算机毕业设计ssm电影分享网站
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (算法)Travel Information Center
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?