centos7桌面卡死。解决:更换显示驱动


前言

刚买的centos服务器,桌面频繁卡死

暂时解决:
ps -ef|grep gnome-shell
kill -9 pid
之后系统会自动重启gnome-shell

已知,没有配置过显卡驱动,linux默认会用自带的nouveau显卡驱动,而这个开源驱动的性能很差
所以,现在要给centos安装一个合适的显卡驱动替换掉nouveau


一、确定用哪个驱动

厂家NVIDIA提供的,支持多个版本,不过要注意和显卡的型号对应
NVIDIA下载驱动
进入后,可以看到
请添加图片描述

  • 确定显卡信息
[root@localhost ~]# lspci | grep -i vga
02:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)

显卡型号就是GeForce GT 710

  • 确定内核系统版本
[root@localhost ~]# cat /etc/system-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]# uname -r
3.10.0-1160.el7.x86_6

内核版本是3.10.0-1160.el7.x86_6

  • 查看显卡驱动
[root@localhost ~]# cat /proc/driver/nvidia/version
cat: /proc/driver/nvidia/version: 没有那个文件或目录

表示当前没有写显卡驱动,那就是默认的nouveau在工作

查看正在工作驱动中的nouveau驱动
[root@localhost drm]# lsmod |grep nouveau
nouveau              1899494  16 
mxm_wmi                13021  1 nouveau
wmi                    21636  2 mxm_wmi,nouveau
i2c_algo_bit           13413  1 nouveau
ttm                    96673  1 nouveau
drm_kms_helper        186531  1 nouveau
drm                   456166  8 ttm,drm_kms_helper,nouveau
video                  24538  1 nouveau

或者

[root@localhost etc]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  470.182.03  Fri Feb 24 03:29:56 UTC 2023
GCC version:  gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 

根据以上信息下载对应版本的驱动(.run)

二、安装前

1. 屏蔽自带的nouveau

它与nvidia显卡官方驱动会产生冲突,所以要安装nvidia官方驱动必须先禁止nouvea驱动;

vim /usr/lib/modprobe.d/dist-blacklist.conf
注释掉blacklist nvidiafb
添加:
blacklist nouveau 
options nouveau modeset=0
  • 重建initramfs images步骤,给当前镜像备份
# 备份
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak 
# 重新生成
dracut /boot/initramfs-$(uname -r).img $(uname -r)

要等一会...

reboot
  • 可以看是否屏蔽成功
lsmod | grep nouveau

啥都没有,则表示屏蔽成功

2. 安装依赖

yum install kernel-devel kernel-headers gcc dkms gcc-c++

需要注意 kernel-devel的版本和kernel内核的版本一致

可以事先查看一下

 [root@k8s-node3 dev]# yum list | grep kernel-devel

三、安装

  • 驱动上传到根目录
  • 赋予权限
chmod u+x NVIDIA-Linux-x86_64-470.182.03.run
  • 执行
# 停止X服务 
init 3​

./NVIDIA-Linux-x86_64-470.182.03.run  --kernel-source-path=/usr/src/kernels/3.10.0-1160.66.1.el7.x86_64 -k $(uname -r)


注意格式:
【驱动文件】 --kernel-source-path=/usr/src/kernels/【内核版本】-k $(uname -r)
例:./NVIDIA-Linux-x86_64-550.54.14.run  --kernel-source-path=/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64 -k $(uname -r)


​​​重启

重启之前会进入几个选择
1、Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No
2、Install nvidia’s 32-bit compatibility libraries?选择 No
3、Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes
请添加图片描述

  • 最后检查一下
nvidia-smi

四、更换驱动

1. 是否要更新驱动,更新哪版的驱动

安装elrepo源
yum -y install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
yum -y install nvidia-detect
[root@localhost gdm]# nvidia-detect -v
Probing for supported NVIDIA devices...
[10de:1cb1] NVIDIA Corporation GP107GL [Quadro P1000]
This device requires the current 525.85.05 NVIDIA driver kmod-nvidia

探测当前的英伟达设备,Quadro P1000,发现这个设备需要525.85.05版本以上的显卡驱动
但是当前显卡驱动是 470.182.03

2. 找到合适的显卡驱动

在官网中根据显卡型号找到了对应的显卡驱动

在这里插入图片描述
看一下,这里的版本默认显示的都是最新的版本,看一下是符合当前显卡需要的要求的

下载

大概几百M

(1) . 查看当前显卡信息

显卡型号:

[root@localhost gdm]#  lspci | grep -i nvidia
02:00.0 VGA compatible controller: NVIDIA Corporation GP107GL [Quadro P1000] (rev a1)
02:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)

当前显卡型号是英伟达公司的【Quadro P1000】显卡

(2) . 查看当前显卡驱动信息

[root@localhost gdm]# nvidia-smi --query-gpu=driver_version --format=csv,noheader --id=0
470.182.03
驱动(程序)版本:
主版本号:次版本号:修订版本号


[root@localhost gdm]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  470.182.03  Fri Feb 24 03:29:56 UTC 2023
GCC version:  gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
内核版本 Kernel Module 为  470.182.03 , 系统内核Red Hat 4.8.5-44

以上信息给出,显卡驱动版本是 470.182.03
在这里插入图片描述

3. 删除旧驱动

nvidia-uninstall

./驱动脚本 --uninstall

4. 安装新驱动

# 授权
chmod +x NVIDIA-Linux-x86_64-510.68.02.run
# 停止X服务 
init 3
# 执行
./NVIDIA-Linux-x86_64-470.182.03.run  --kernel-source-path=/usr/src/kernels/3.10.0-1160.66.1.el7.x86_64 -k $(uname -r)
# 确认
nvidia-smi




# 启动X服务 
init 5

异常

在这里插入图片描述

印象中记得,这个问题只需要根据它的提示装一些东西就ok了,所以大胆的ok吧!

  • yumcache 异常

在这里插入图片描述

主要看最后一行
for repository: epel/x86_64. 说明是这个仓储出了问题。

删除这个仓库

rm -rf /etc/yum.repos.d/epel.repo

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值