ubuntu18.04下安装nvidia3090显卡驱动

news2024/9/23 1:26:02

前言:之前安装过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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2055279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考-软件设计师 (计算机网络习题)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

Impala 与 Hive 的比较

Impala 与 Hive 的关系 impala是基于hive的大数据分析查询引擎,直接使用hive的元数据库metadata,意味着impala元数据都存储在hive的metastore当中,并且impala兼容hive的绝大多数sql语法。所以需要安装impala的话,必须先安装hive&…

​高德离线API如何加载高清卫星影像

我们有客户遇到这样一个问题,现有平台基于高德API开发,但希望将地图更新为高清卫星影像。 我估计你可能也会遇到这个问题,因此特撰此文与大家分享。 项目背景 高德API有着比较广泛的用户群体,有不少系统为了业务数据的呈现&…

大数据应用整理

1.架构划分 1.1.数据抽取转换加载层(ETL) 从源系统抽取、转换、加载到所需的源数据,存储到系统的数据仓库中。ETL的设计和实施占整体工作的50%以上。ETL层的主要职责是将原始数据源中的数据提取出来,经过清洗、转换等处理后&…

小白学AI,新手也能轻松掌握的LLM Agent工作原理基础知识全览!

摘要 本文深入解释了大型语言模型(Large Language Model,LLM)代理(Agent)的工作原理,详细阐述了它们的结构、能力和应用。 摘要 LLM代理是一种先进的数字助手,它们超越了传统的聊天机器人&am…

Postman数据驱动之CSV文件和JSON文件的处理

数据驱动 数据驱动:通过在测试过程中使用不同的输入数据来执行相同的测试脚本或流程。 适用场景:当一个接口需要测试多个场景用例(正例、反例),可以使用数据驱动的形式实现。 CSV文件 CSV(Comma-Separ…

verilog实现STFT

短时傅里叶变换(STFT, Short Time Fourier Transform),是处理采样数据、获取信号时频特征的一种常用方法。然而其消耗的计算资源较为庞大,在数据采集设备全速运行时,若在上位机进行 STFT 的计算,则很难做到…

vue2使用天地图

需求:用vue2使用天地图展示对应点位数据以及开发中出现的问题等,其实天地图的写法和百度地图差不多 注意!!!天地图的接口不稳定,时常报错418,官网也是一样的情况,推荐还是使用百度或…

一种基于物联网(IoT)的生物多样性监测系统

目录 摘要 第一部分:引言 第二部分:相关工作 第三部分:贡献 第四部分:提出的系统架构 第五部分:BN使用的消息框架 第六部分:系统实施 第七部分:实验场景和结果 第八部分:结…

游戏开发之性能优化

游戏开发中的性能优化是一个复杂且多方面的过程,涉及到多个层面的改进和调整。以下是一些主要的优化技巧和方法: 代码优化: 缓存计算结果:对于那些耗费大量CPU计算而计算结果无需每帧变化的逻辑,使用缓存可以显著提高性…

Java——反射(4/4):反射的作用、应用场景(案例需求、实现步骤、代码实现)

目录 作用 应用场景 案例需求 实现步骤 代码实现 作用 基本作用:可以得到一个类的全部成分然后操作。可以破坏封装性。最重要的用途是:适合做Java的框架,基本上,主流的框架都会基于反射设计出一些通用的功能。 通过反射能够…

Springboot+vue 建筑资质证书管理系统

建筑企业资证管理系统,简称证书管理软件,基于springbootvue开发,数据库采用mysql,。以建筑企业证书管理为核心,包含投证书管理、证书过期提醒,辅助建筑企业高效完成证书管理、人员信息、投标经营活动等管理…

全功能知识付费小程序源码系统 支持视频课程、音频课程、图文课程 附带代码包以及搭建部署教程

系统概述 “全功能知识付费小程序源码系统”是一款专为知识创作者、教育机构及企业内训部门设计的全方位解决方案。该系统基于当前最流行的小程序技术构建,无需下载安装,用户只需通过微信等社交平台即可轻松访问,极大地降低了使用门槛。同时…

CentOS 7 安装流程详细教程

目录 前言1. CentOS 7 概述2. 安装环境准备2.1 硬件要求2.2 安装介质准备 3. CentOS 7 安装步骤3.1 引导安装程序3.2 选择语言和键盘布局3.3 配置安装源和软件包3.4 配置分区3.5 设置网络和主机名3.6 设置时间和日期3.7 设置 root 密码和创建用户3.8 开始安装并完成配置 4. 安装…

8-11章节复习总结

文章目录 数据库技术三级模式两级映射数据设计数据模型E-R模型关系模型练习题 关系代数关系代数运算符练习题 SQL语句练习题 数据库控制练习题 数据库故障和备份函数依赖函数依赖的公理系统键与约束 规范化第一范式1NF第二范式2NF第三范式3NF练习题 模式分解练习题 标准化与知识…

R语言统计分析——回归诊断2

参考资料:R语言实战【第2版】 R语言的car包提供的大量函数,大大增强了拟合和评价回归模型的能力。如下: 函数目的qqPlot()分位数比较图durbinWatsonTest()对误差自相关性做Durbin-Watson检验crPlots()成分与残差图ncvTest()对非恒定的误差方…

如何构建Java SpringBoot+Vue的宽带业务管理系统:一步一脚印教程

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

贝叶斯推理:分步指南

一、说明 让我们深入了解贝叶斯推理的迷人世界。我将通过易于遵循的示例向您介绍其实际应用。 贝叶斯推理为统计分析提供了一个强大而灵活的框架,特别是在存在不确定性和先验知识的情况下。通过结合先前的分布并使用贝叶斯定理根据新证据更新这些信念,贝…

可视耳勺值不值得买?精心总结六大选购技巧

随着生活品质逐渐提高,很多家庭越来越关注个护健康,其中包括耳道的清洁方式。以前人们常用棉签或者挖耳勺进行掏耳朵,但这种方式很容易导致清洁不干净引发中耳炎。可视耳勺应运而生,能通过可视化的操作帮助用户看清耳垢位置进行精…

python之matplotlib (4 图例)

图例 方法一 import matplotlib.pyplot as plt import numpy as npxnp.arange(1,10) yx2 yy2*x1figplt.figure() axplt.gca() ax.plot(x,y,labela,ccoral) ax.plot(x,yy,labelb,cy) plt.legend() plt.show() 在plot中的参数label注明标注名称即可实现图例的绘制,但…