Linux篇之在Centos环境下搭建Nvidia显卡驱动

一、前提条件
1、首先确认内核版本和发行版本,再确认显卡型号

uname -a
// Linux localhost.localdomain 4.18.0-408.el8.x86_64 #1 SMP Mon Jul 18 17:42:52 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

1.2

cat /etc/redhat-release
// CentOS Stream release 8

1.3
查看Linux服务器上是否有GPU显卡可以使用lspci命令

PCI(Peripheral Component Interconnect,外设部件互连标准),即定义连接外部设备的一个标准;
主板上有很多 PCI 接口,用来连接显卡、网卡、声卡等外部设备,而 lspci 命令就是用来列出所有连接 PCI 接口的外部设备
安装lspci命令

yum install -y pciutils

1.4、Linux查看显卡信息:

lspci | grep -i vga 

1.5、使用nvidia GPU也可以:

lspci | grep -i nvidia
// 01:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080] (rev a1)

// 我的显卡是: GeForce RTX 2080

根据显卡类型下载驱动
下载驱动url:
https://www.nvidia.cn/Download/index.aspx?lang=cn
在这里插入图片描述
二、部署步骤
1、安装驱动

1.1、进入root 模式

su - root

1.2、进入命令行模式

init 3

2、安装依赖包

yum install -y kernel-devel
yum install gcc
yum install mak
yum install elfutils-libelf-devel
yum install libglvnd-devel pkg-config

注意:如果没有yum镜像源,需要mount镜像源
手动挂载镜像源,可参考我的这篇文章:
https://blog.csdn.net/xu710263124/article/details/134784226?spm=1001.2014.3001.5501
3、禁用自带的驱动项目nouveau
先查看nouveau驱动是否开启

lsmod | grep nouveau

注:默认情况下,Linux机器的nouveau驱动是开启的
执行以下动作关闭默认驱动:
修改dist-blacklist.conf文件

vim /lib/modprobe.d/dist-blacklist.conf
# 注释blacklist nvidiafb 
#blacklist nvidiafb 添加下面两句:
blacklist nouveau
options nouveau modeset=0

4、重建initramfs image
执行如下步骤

#备份一份成bak文件
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
#重启镜像
dracut /boot/initramfs-$(uname -r).img $(uname -r)
#修改运行级别为文本模式
systemctl set-default multi-user.target

5、重启机器

reboot

重启后:
检查nouveau是否开启
在这里插入图片描述
6、执行安装文件
将显卡安装文件的执行权限调至可运行

chmod u+x NVIDIA-Linux-x86_64-515.48.07.run

// 执行安装脚本
// 根据uname -r 输出的信息替换下面

uname -r

在这里插入图片描述

bash ./NVIDIA-Linux-x86_64-515.48.07.run  -no-x-check   -no-nouveau-check   -k $(uname -r)   --kernel-source-path=/usr/src/kernels/3.10.0-1160.el7.x86_64

注:请将上面内容改成你自己的位置,不要直接复制
开始安装
在这里插入图片描述

7、检查安装

nvidia-smi

在这里插入图片描述
至此i,说明Nvidia显卡驱动安装成功~

常见报错:
Using the kernel source path ‘/usr/src/kernels/3.10.0-1160.el7.x86_64’ as specified by the ‘–kernel-source-path’ commandline option.
ERROR: The kernel header file ‘/usr/src/kernels/3.10.0-1160.el7.x86_64/include/linux/kernel.h’ does not exist. The most likely reason for this is that the kernel source path ‘/usr/src/kernels/3.10.0-1160.el7.x86_64’ is incorrect. Please make sure you have installed the kernel source files for your kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the ‘kernel-source’ or ‘kernel-devel’ RPM installed. If you know the correct kernel source files are installed, you may specify the kernel source path with the ‘–kernel-source-path’ command line option.
ERROR: Installation has failed. Please see the file ‘/var/log/nvidia-installer.log’ for details. You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.
报错原因:没有安装kernel-devel

yum install -y kernel-devel

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机基础:一颗芯片是怎样诞生的?

一颗芯片是怎样诞生的? 芯片属于半导体。半导体是介于导体和绝缘体之间的一类物质,元素周期表中硅、锗、硒、硼的单质都属于半导体。这些单质通过掺杂其他元素生成的一些化合物,也属于半导体的范畴。这些化合物在常温下可激发载流子的能力大…

在 JavaScript 中导入和导出 Excel XLSX 文件:SpreadJS

在 JavaScript 中导入和导出 Excel XLSX 文件 2023 年 12 月 5 日 使用 MESCIUS 的 SpreadJS 将完整的 JavaScript 电子表格添加到您的企业应用程序中。 SpreadJS 是一个完整的企业 JavaScript 电子表格解决方案,用于创建财务报告和仪表板、预算和预测模型、科学、工…

从 Kindle 文件中提取内容:GroupDocs.Parser V23.11

从 Kindle 文件中提取内容 2023 年 12 月 6 日 GroupDocs.Parser V23.11 增加了对 Kindle 文档格式的支持,支持从 Kindle 电子书和文档中提取文本和元数据。 GroupDocs.Parser 是一款全面的文档解析解决方案,使您能够从多种文档格式中提取文本、元数据和…

JS基础面试题之手写bind

JS基础面试题之手写bind 手写bind返回函数的模拟实现传参的模拟实现构造函数效果的模拟实现构造函数效果的优化实现最终版 手写bind bind()方法会创建一个新的函数。当这个函数被调用时,bind()的第一个参数将作为它的运行时的this,之后的一序列参数将会在…

【征稿倒计时十天】第三届高性能计算与通信工程国际学术会议(HPCCE 2023)

【有ISSN、ISBN号!!往届均已完成EI检索】 第三届高性能计算与通信工程国际学术会议(HPCCE 2023) 2023 3rd International Conference on High Performance Computing and Communication Engineering (HPCCE 2023) 2023年12月22-24日 | 中国哈尔滨 第三…

【LeetCode】2723. 两个 Promise 对象相加

两个 Promise 对象相加 题目题解 题目 给定两个 promise 对象 promise1 和 promise2,返回一个新的 promise。promise1 和 promise2 都会被解析为一个数字。返回的 Promise 应该解析为这两个数字的和。 示例 1: 输入: promise1 new Promise…

MySQL数据库,函数与分组

单行函数: 操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以嵌套 参数也可以是一列或一个值 数值函数 基本函数: 注:ROUND(x,y)函数的y是负数时,即往高位进行四舍五入,如-3就是按百位…

创建vue项目:vue脚手架安装、vue-cli安装,vue ui界面创建vue工程(vue2/vue3),安装vue、搭建vue项目开发环境(保姆级教程二)

今天讲解 Windows 如何利用脚手架创建 vue 工程,以及 vue ui 图形化界面搭建 vue 开发环境,这是这个系列的第二章,有什么问题请留言,请点赞收藏!!! 文章目录 1、安装vue-cli脚手架2、vue ui创建…

UI自动化测试工具的定义及重要性

UI自动化测试工具在现代软件开发中起着不可或缺的作用。它们能够提高测试效率、减少人为错误、提供全面的测试覆盖,并支持持续集成。通过有效使用UI自动化测试工具,开发团队可以提高软件质量,提供更可靠的应用程序,满足用户的需求…

Java网络编程,使用UDP实现TCP(一), 基本实现三次握手

简介: 首先我们需要知道TCP传输和UDP传输的区别,UDP相当于只管发送不管对方是否接收到了,而TCP相当于打电话,需要进行3次握手,4次挥手,所以我们就需要在应用层上做一些功能添加,如:…

408——知识点大杂烩

在完成专业课的一轮复习以及历年真题的学习后,发现选择题甚至个别大题的考点就单纯考对概念的理解,会就是会,不会想到脑壳疼都做不出来,而408的知识点主打一个多杂,所以过来整理一下笔记。本文的知识点主要是在我做题过…

2002-2021年全国各地级市环境规制18个相关指标数据

2002-2021年全国各地级市环境规制18个相关指标数据 1、时间:2002-2021年 2、来源:城市年鉴 3、指标:行政区划代码、地区、年份、工业二氧化硫排放量(吨)、工业烟粉尘排放量(吨)、工业废水排放量(万吨)、工业废水排放达标量(万吨)、工业二氧…