rocky linux9.6英伟达显卡驱动安装

在 Rocky Linux 9.6 上安装英伟达显卡驱动,需根据显卡型号选择适配的驱动版本,并完成禁用开源驱动、安装依赖、加载专有驱动等操作。以下是详细步骤:

一、确认显卡型号与驱动兼容性

1. 安装依赖
dnf install -y wget vim tar telnet tmux pciutils epel-release
2. 查看显卡型号
lspci | grep -i nvidia

记录输出中的显卡型号(如  NVIDIA Corporation Device 2d04)。

3. 访问 NVIDIA 官网

二、禁用开源驱动 nouveau

1. 编辑黑名单文件
echo -e 'blacklist nouveau\noptions nouveau modeset=0' > /etc/modprobe.d/blacklist-nvidia.conf
2. 更新 initramfs 并重启
dracut --force reboot
3. 验证禁用是否成功
lsmod | grep nouveau
  • 重启后执行以上命令若无输出,则禁用成功。

三、安装依赖工具与内核头文件

1. 更新系统软件包
dnf update -y
2. 安装开发工具与内核头文件
    dnf groupinstall -y "Development Tools" dnf install -y epel-release kernel-devel kernel-headers gcc make dkms acpid libglvnd-opengl libglvnd-glx libglvnd-devel elfutils-libelf-devel reboot
    • 确保内核头文件版本与当前运行内核一致(通过 uname -r 确认)
    3. 检查kernel是否安装成功
    rpm -qa | grep kernel-devel rpm -qa | grep kernel-headers uname -r

    注意:

    • 查看 kernel-devel 内核版本 是否一样,如果不一样 需要卸载之后手动下载

      四、安装 NVIDIA 驱动

      1. 切换至文本模式
      systemctl isolate multi-user.target
      2. 赋予驱动文件执行权限并运行安装
      chmod +x NVIDIA-Linux-x86_64-570.153.02.run ./NVIDIA-Linux-x86_64-570.153.02.run

      安装过程中:

      • 选择 Accept 接受许可协议。
      • 若提示是否安装 32 位兼容库,根据需求选择(通常选 No)。
      • 忽略 nouveau 相关警告(已禁用)。
      3. 完成安装后再次重启
      reboot

      五、验证驱动安装

      1. 检查显卡状态
      nvidia-smi

      • 成功输出应显示显卡型号、驱动版本、温度及显存使用情况。
      1. 检查 X Server 日志(可选)

      cat /var/log/Xorg.0.log | grep -i nvidia

      • 无错误信息表明驱动加载正常。

      六、可选配置

      1. 配置 DKMS(动态内核模块支持)
      • 确保内核更新后驱动仍有效:

      ./NVIDIA-Linux-x86_64-570.153.02.run --dkms

      1. 安装 CUDA 工具包(如需 GPU 计算)
      • 添加 CUDA 存储库:
      dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-rhel9-12-8-local-12.8.0_570.86.10-1.x86_64.rpm
      • 安装指定版本 CUDA(如 12.8):
      dnf install -y cuda-12-8

      常见问题解决

      1. update-initramfs 命令未找到
      • Rocky Linux 使用 dracut,替换命令为:
      dracut /boot/initramfs-$(uname -r).img $(uname -r)
      1. 安装后卡住或光标闪烁
      • 进入命令行模式(Ctrl+Alt+F2),卸载驱动并重新安装:
      ./NVIDIA-Linux-x86_64-570.153.02.run --uninstall reboot
      1. Secure Boot 导致驱动加载失败
      • 禁用 Secure Boot 或手动注册 MOK 密钥:
      mokutil --disable-validation reboot
      • 在 MOK 管理界面选择 Enroll MOK → Continue → Yes。

      Read more

      【C++】B2113 输出亲朋字符串

      【C++】B2113 输出亲朋字符串

      博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳]本文专栏: C++ 文章目录 * 💯前言 * 💯题目描述 * 示例输入输出 * 💯思路分析 * 💯我的做法及分析 * 代码实现 * 运行分析 * 优点与不足 * 💯老师的第一种做法及分析 * 代码实现 * 优点与不足 * 💯老师的第二种做法及分析 * 代码实现 * 优点与不足 * 示例分析 * 💯方法对比总结 * 💯拓展与优化 * 💯小结 💯前言 C++ 参考手册 💯题目描述 如下图所示,题目要求生成一个“亲朋字符串”,具体规则如下: B2113 输出亲朋字符串 亲朋字符串定义如下: 给定字符串s,它的“亲朋字符串”按以下规则生成:第1个字符等于s中第1个字符的ASCII值加第2个字符的ASCII值;第2个字符等于s中第2个字符的ASCII值加第3个字符的ASCII值;…以此类推;如果是字符串的最后一个字符,则与字符串第1个字符相加。 输入格式: * 一行字符串,长度大于2且小于等于100。 输出格式: * 一行“亲朋字

      By Ne0inhk
      C++ 二叉搜索树(BST)完全指南:从概念原理、核心操作到底层实现

      C++ 二叉搜索树(BST)完全指南:从概念原理、核心操作到底层实现

      🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 二叉搜索树的核心概念:什么是 BST? * 二. 二叉搜索树的性能分析:理想与最差情况 * 三. 二叉搜索树的实战实现:基于 BinarySearchTree.h * 3.1 节点结构定义:BSTreeNode * 3.2 BST 类核心操作:Insert、Find、Erase * 3.2.1 插入操作(Insert) * 3.2.2 查找操作(Find) * 3.2.3 删除操作(

      By Ne0inhk

      SwiftTerm完全指南:打造高效跨平台VT100/Xterm终端模拟器

      SwiftTerm完全指南:打造高效跨平台VT100/Xterm终端模拟器 【免费下载链接】SwiftTermXterm/VT100 Terminal emulator in Swift 项目地址: https://gitcode.com/gh_mirrors/sw/SwiftTerm SwiftTerm是一款基于Swift开发的高效VT100/Xterm终端模拟器,支持macOS、iOS和visionOS等多平台,为开发者提供了强大的终端模拟功能。无论是构建本地终端应用还是远程SSH连接工具,SwiftTerm都能满足你的需求。 为什么选择SwiftTerm? SwiftTerm作为一款现代化的终端模拟器,具有以下核心优势: * 跨平台支持:完美运行于macOS 13+、iOS 13+和visionOS 1+系统 * 轻量级设计:核心引擎高效紧凑,资源占用低 * 高度可定制:支持字体、颜色、光标样式等个性化设置 * 完整兼容性:全面支持VT100/Xterm标准,确保与各类终端应用兼容 * 灵活扩展:可轻松集成SSH、网络

      By Ne0inhk
      【C++ STL栈和队列下】deque(双端队列) 优先级队列的模拟实现与仿函数的介绍

      【C++ STL栈和队列下】deque(双端队列) 优先级队列的模拟实现与仿函数的介绍

      🔥个人主页:爱和冰阔乐 📚专栏传送门:《数据结构与算法》 、C++ 🐶学习方向:C++方向学习爱好者 ⭐人生格言:得知坦然 ,失之淡然 博主简介 文章目录 * 前言 * 一、deque(双端队列) * 1.1 list和vector的优缺点 * 1.2 deque的原理介绍 * 1.3 deque和vector的性能对比 * 二、优先级队列 * 2.1 定义及其作用 * 2.2 模拟实现优先级队列 * 2.3 仿函数 * 三、总结 前言 本文聚焦STL双端队列(deque)与优先级队列的底层实现,深度剖析deque如何融合vector与list的优势,通过中控数组与分段缓存实现高效头尾操作;结合优先级队列的堆结构,详解仿函数在自定义排序规则中的核心作用。通过模拟实现代码与性能对比,让大家容器适配器,,希望读完本文可以让大家对栈和队列有更深刻理解

      By Ne0inhk