linux系统3090&4090显卡驱动安装&检查

知悉:本文只涉及run程序安装,不涉及cuda安装,不涉及升级内核,只在现有内核下操作,内核版本3.10-generic

一、检查3090驱动是否异常(centos和ubuntu均适用)

(1)nvidia -smi 

1.首先确认系统是否有安装3090驱动   nvidia -smi

(2)环境变量,NVIDIA内核模块

1.这个时候也可能是因为环境变量没有配置,因为我们创建云主机的时候如果选择的系统自带GPU,默认是没有添加环境变量的,但是驱动已经存在,需要查看程序中是否有加载nvidia内核模块 lsmod | grep nvidia,图例是已经有显卡驱动的情况下,只需要增加环境变量就可以全局运行

find / -name nvidia-smi 找到路径

~/.profile内加入export PATH=$PATH:/usr/bin后保存,source ~/.profile即可

2.如果没有输出,但是选择的是自带GPU显卡驱动的系统,表示内核模块没有加载,尝试手动加载:modprobe nvidia 图例为重新加载

(3)检查nouveau驱动冲突

如果不了解nouveau是什么请参考官方nvidia文档:nouveau是什么

1.确保nouveau驱动已被禁用且没有加载lsmod | grep nouveau,图例为没有

2.如果nouveau驱动仍在加载,需要重新生成initramfs并重启系统(注:initramfs(initial RAM filesystem)是一个初始的文件系统,用于在系统启动时加载内核模块和驱动程序。如果 nouveau 驱动在禁用后仍然加载,可能是因为它在 initramfs 中保留了旧的配置。

重新生成 initramfs 是为了确保新生成的 initramfs 不包含 nouveau 驱动模块,从而彻底禁用 nouveau 驱动。)

sudo bash -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf"

sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"                       (这两步是禁用nouveau驱动)

dracut -f /boot/initramfs-$(uname -r).img $(uname -r)    如果有问题直接 dracut -f 一样                                  (重新生成initramfs文件系统)

reboot                                                      (重启后可以再次lsmod | grep nouveau验证是否有加载

(4)确认版本兼容性

确认gcc,kernel-devel,内核版本是否互相适配,这是一个必要条件

1.gcc是一个支持多种编程语言的编译器集合,包括C C++ GO等等

2.kernel-devel是包含内核头文件和Makefile,这些是编译内核模块时必须的,可以让第三方模块(NVIDIA驱动)可以与当前运行的内核编译和链接

4.1检查gcc版本是否适配内核

uname -r 检查当前内核版本

gcc --version 查看gcc版本(但是这个只能检查环境变量里目前用的gcc,不能说是内核适配的acc) 所以这个是看不出来的

cat /proc/version 可以查看内核支持的gcc是哪个版本,然后可以通过上面的gcc --version来判断是否一致   ,,,, 这样就可以判断gcc 和 内核是适配的

如果gcc不适配,下面还有gcc安装说明

4.2检查kernel-devel版本是否适配内核

uname -r 检查当前内核版本

rpm -qa | grep kernel-devel 查看kernel-devel包的版本(centos)                       很显然适配

rpm -qa | grep kernel-headers 查看kernel-headers包的版本(centos)                

dpkg -l | grep "linux-headers-$(uname -r)"   查看kernel-devel包的版本(ubuntu) 这条直接针对系统版本

如果kernel-devel不适配,可以通过  yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)方式准确安装正确的版本    apt-get install linux-headers-$(uname -r)是ubuntu的方式

有可能装的都是对的但是损坏了

yum reinstall -y kernel-devel-$(uname -r) kernel-headers-$(uname -r) 重新安装下

确保之前的构建文件被完全清除,以防止冲突:

cd /usr/src/kernels/$(uname -r)

4.3其他检查

Chapter 2. Minimum Requirements

这个是系统本身有的,重要的是要考虑内核和这些是否适配,如果升级了内核,很有可能导致的是内核和软件的不适配,而不是版本没有达到要求

二、centos 安装3090显卡驱动过程

(1)安装前工作

正常云主机创建的centos7.9不含GPU的时候,是没有gcc和kernel-devel的,需要安装对应的版本

cd /                                   确保没有环境变量的问题

gcc --version                                       查看gcc的版本

rpm -qa | grep kernel-devel                        查看kernel-devel包的版本

发现都没有,需要安装对应的版本,yum我这边试过了,wangsu的yum源有点问题,更换阿里云yum源参考这篇文档 

更换完以后我们一般依据客户的使用习惯基本都会 yum update,操作完以后会遇到无法ssh远程登录,解决参考这篇文章

1.1安装kernel-devel

yum install -y kernel-devel-$(uname -r) 方式准确安装正确的版本

1.2安装gcc

cat /proc/version 可以查看内核支持的gcc是哪个版本

yum groupinstall -y "Development Tools"安装 Development Tools 组包,这个组包包含了 GCC 以及其他开发工具 也可以直接 yum install gcc-4.8.5,如果不行可以 yum list gcc 看下库里的是什么,正常是有的

1.3nouveau驱动程序的禁用

*创建一个名字为blacklist-nouveau.conf的文件,

*添加blacklist nouveau和options nouveau modeset=0到文件中,

*重新生成initramfs文件系统,

*重启系统

sudo bash -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf"

sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"                       (这两步是禁用nouveau驱动)

dracut -f /boot/initramfs-$(uname -r).img $(uname -r)            如果这条命令有异常可以直接执行     dracut -f                              (重新生成initramfs文件系统)

reboot                                                      

lsmod | grep nouveau验证是否有加载

(2)安装3090驱动过程

2.1正式安装NVIDIA 3090显卡驱动包(客户思路,可以看下,但是命令不要执行)

官网:NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA

按正常思维正常都是装最新的,点击获取下载,立即下载,右键点击复制链接https://us.download.nvidia.com/XFree86/Linux-x86_64/555.58.02/NVIDIA-Linux-x86_64-555.58.02.run  要有.run是正确的

wget https://us.download.nvidia.com/XFree86/Linux-x86_64/555.58.02/NVIDIA-Linux-x86_64-555.58.02.run 下载3090驱动

chmod +x NVIDIA-Linux-x86_64-555.58.02.run 增加执行权限

./NVIDIA-Linux-x86_64-440.64.00.run 运行

  1. NVIDIA Proprietary(NVIDIA 专有):这是 NVIDIA 提供的专有驱动程序模块,通常提供更好的性能和功能支持,但它是闭源的。
  2. MIT/GPL(开源):这是根据 MIT 或 GPL 许可证发布的开源内核模块,可能提供更好的兼容性和社区支持,但性能可能不如专有驱动。

正常是选择第一个,然后报错了,提示我们需要进入log查看报错日志

                         
 cat /var/log/nvidia-installer.log            查看到核心是当前内核版本太旧,NVIDIA 驱动程序不支持 Linux 内核版本低于 4.15。然而,CentOS 7.9 的默认内核版本是 3.10.x,导致无法直接安装最新版的 NVIDIA 驱动。  所以这个驱动不能使用,只能升级内核以及其他软件包的版本,才能使用这个3090驱动                                  

2.2正式安装NVIDIA 3090显卡驱动包(正确过程)

NVIDIA官网搜寻版本

由于我们的内核是3.10过于早,所以直接在官网下载最新的驱动是无法正常应用的,而我们又不知道什么版本能适配,我们直接开一台带gpu的镜像然后在根目录/执行nvidia -smi查看版本 535.54.03

进入nvidia官网直接搜索这个版本

找到后使用wget进行下载

wget https://cn.download.nvidia.com/XFree86/Linux-x86_64/535.54.03/NVIDIA-Linux-x86_64-535.54.03.run 下载3090驱动

chmod +x NVIDIA-Linux-x86_64-535.54.03.run.1增加执行权限

./NVIDIA-Linux-x86_64-535.54.03.run.1 运行

请知悉后面安装的时候还会鱼洞一些报错,解决方法也附上了

出现报错,我安装的时候是纯centos7.9系统安装,提示是无法自动检测到 X 库和 X 模块的路径。通常,这是因为系统缺少某些必要的软件包,如 pkg-config X.Org SDK/development 包。

yum install pkgconfig -y

yum groupinstall "X Window System" -y

yum install xorg-x11-server-devel -y

./NVIDIA-Linux-x86_64-535.54.03.run.1 运行

虽然 NVIDIA 驱动程序包包含了 Vulkan 组件,但系统上缺少 Vulkan ICD(Installable Client Driver)加载器。Vulkan ICD 加载器是 Vulkan 运行时的一部分,用于加载和管理 Vulkan 驱动程序。

要解决这个问题,你需要安装 Vulkan ICD 加载器。(可以不用管直接OK,不安装不会影响安装成功)

yum install vulkan vulkan-tools -y     (这是安装方法)

在安装 NVIDIA 驱动程序时,系统会提示你是否要运行 nvidia-xconfig 工具来自动更新你的 X 配置文件,使 NVIDIA X 驱动程序在你重新启动 X 服务器时可以被使用。这个工具会自动生成一个新的 /etc/X11/xorg.conf 文件,并备份任何已有的 X 配置文件。

./NVIDIA-Linux-x86_64-535.54.03.run.1 运行

恭喜你成功安装了 NVIDIA 加速图形驱动程序版本 535.54.03,并且 X 配置文件已成功更新。

reboot后

nvidia -smi就可以正常显示了

三、 ubuntu安装3090显卡驱动过程

(1)安装前工作

还是先更新apt镜像源,参考文档 apt换源

一些依赖包会在下面的安装程序中一次性下载完全,不需要再提前下载,相对简单

1.1nouveau驱动程序的禁用

sudo bash -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf"

sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"                       (这两步是禁用nouveau驱动)

update-initramfs -u                                           (这边ubuntu有些不一样,重新生成initramfs文件系统)

reboot                                                      (重启后可以再次lsmod | grep nouveau验证是否有加载

(2)安装3090驱动程序

不同于centos,ubuntu安装相对简单

apt install nvidia-driver-535 这一条就会将所有的依赖都会下载完成,535版本,默认是没有加入环境变量的,加一下环境变量即可。

find / -name nvidia-smi 找到路径

~/.profile内加入export PATH=$PATH:/usr/bin后保存,source ~/.profile即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值