centos-stream-9上安裝nvidia驅動和cuda-toolkit

這里寫目錄標題

    • 驅動安裝
      • 1. 更新系統
      • 2. NVIDIA GPU安裝
        • 檢查系統是否安裝了 NVIDIA GPU
        • 2.1 首先,使用以下命令更新 DNF 軟件包存儲庫緩存:
        • 2.2 安裝編譯 NVIDIA 內核模塊所需的依賴項和構建工具
        • 2.3 在 CentOS Stream 9 上添加官方 NVIDIA CUDA 軟件包存儲庫
        • 2.4 在 CentOS Stream 9 上安裝最新的 NVIDIA GPU 驅動程序
        • 2.5 為了使更改生效,請使用以下命令重新啟動計算機:
        • 2.6 測試
    • 2、cuda-toolkit安裝
      • 2.1 安裝
      • 2.2 環境配置
      • 測試

驅動安裝

參考:centos-stream-9-上安裝-nvidia-驅動程序

1. 更新系統

首先,確保你的系統是最新的:

sudo dnf update -y

2. NVIDIA GPU安裝

檢查系統是否安裝了 NVIDIA GPU

您可以使用以下命令檢查您的計算機是否安裝了 NVIDIA GPU:

lspci | egrep 'VGA|3D'

如您所見,我的計算機上安裝了 NVIDIA GeForce RTX 3060 GPU。您可能安裝了不同的 NVIDIA GPU。

[root@cheng ~]# lspci | egrep 'VGA|3D'
06:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)

默認情況下,CentOS Stream 9 上使用開源 Nouveau GPU 驅動程序1,而不是專有 NVIDIA GPU 驅動程序2。安裝專有 NVIDIA GPU 驅動程序后,您將看到它們被使用,而不是開源 Nouveau GPU 驅動程序。

lsmod | grep nouveau
lsmod | grep nvidia

[root@cheng ~]# lsmod | grep nouveau
lsmod | grep nvidia
nvidia_drm            143360  0
nvidia_modeset       1421312  1 nvidia_drm
nvidia_uvm           3899392  0
nvidia              70721536  2 nvidia_uvm,nvidia_modeset
video                  77824  1 nvidia_modeset
drm_kms_helper        274432  2 nvidia_drm
drm                   782336  4 drm_kms_helper,nvidia,nvidia_drm
[root@cheng ~]# lsmod | grep nvidia
lsmod | grep nouveau
nvidia_drm            143360  0
nvidia_modeset       1421312  1 nvidia_drm
nvidia_uvm           3899392  0
nvidia              70721536  2 nvidia_uvm,nvidia_modeset
video                  77824  1 nvidia_modeset
drm_kms_helper        274432  2 nvidia_drm
drm                   782336  4 drm_kms_helper,nvidia,nvidia_drm

從 BIOS 禁用安全啟動
要使 NVIDIA GPU 驅動程序在 CentOS Stream 9 上運行,如果主板使用 UEFI 固件啟動操作系統,則必須從主板的 BIOS 禁用安全啟動

在 CentOS Stream 9 上啟用 EPEL 存儲庫
要在 CentOS Stream 9 上安裝 NVIDIA GPU 驅動程序,您必須安裝所需的構建工具和編譯 NVIDIA 內核模塊所需的依賴庫。其中一些可以在 CentOS Stream 9 EPEL 存儲庫中找到。


在本節中,我將向您展示如何在 CentOS Stream 9 上啟用 EPEL 存儲庫。

2.1 首先,使用以下命令更新 DNF 軟件包存儲庫緩存:
sudo dnf makecache

使用以下命令啟用官方 CentOS Stream 9 CRB 軟件包存儲庫:

sudo dnf config-manager --set-enabled crb

使用以下命令安裝 epel-release 和 epel-next-release 軟件包:

sudo dnf install epel-release epel-next-release

要確認安裝,請按Y,然后按。

要確認 GPG 密鑰,請按 Y,然后按 。

應安裝 epel-release 和 epel-next-release 軟件包,并啟用 EPEL 存儲庫。

為了使更改生效,請使用以下命令更新 DNF 軟件包存儲庫緩存:

sudo dnf makecache
2.2 安裝編譯 NVIDIA 內核模塊所需的依賴項和構建工具

要安裝編譯 NVIDIA 內核模塊所需的構建工具和依賴庫,請運行以下命令:

sudo dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r) tar bzip2 make automake gcc gcc-c++ pciutils elfutils-libelf-devel libglvnd-opengl libglvnd-glx libglvnd-devel acpid pkgconfig dkms

要確認安裝,請按Y,然后按。

正在從互聯網下載所需的軟件包。需要一段時間才能完成。

下載軟件包后,系統會要求您確認 CentOS 官方軟件包存儲庫的 GPG 密鑰。

要確認 GPG 密鑰,請按 Y,然后按 。

要確認 EPEL 存儲庫的 GPG 密鑰,請按 Y,然后按 。

安裝應該繼續。

至此,編譯NVIDIA內核模塊所需的依賴庫和構建工具就應該安裝完畢了。

2.3 在 CentOS Stream 9 上添加官方 NVIDIA CUDA 軟件包存儲庫

要在 CentOS Stream 9 上添加官方 NVIDIA CUDA 軟件包存儲庫,請運行以下命令:

sudo dnf config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo

為了使更改生效,請使用以下命令更新 DNF 軟件包存儲庫緩存:

sudo dnf makecache
2.4 在 CentOS Stream 9 上安裝最新的 NVIDIA GPU 驅動程序

要在 CentOS Stream 9 上安裝最新版本的 NVIDIA GPU 驅動程序,請運行以下命令:

sudo dnf module install nvidia-driver:latest-dkms

要確認安裝,請按Y,然后按。

所有NVIDIA GPU驅動程序包和所需的依賴包都是從互聯網上下載的。需要一段時間才能完成。

下載軟件包后,系統會要求您確認官方 NVIDIA 軟件包存儲庫的 GPG 密鑰。按 Y,然后按 確認 GPG 密鑰。

安裝應該繼續。需要一段時間才能完成。

我在這步執行中報錯:

Last metadata expiration check: 0:05:51 ago on Fri 11 Apr 2025 03:30:46 PM CST.
Error: Problem 1: package nvidia-driver-libs-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires egl-wayland(x86-64) >= 1.1.13.1-3, but none of the providers can be installed- cannot install the best candidate for the job- package egl-wayland-1.1.13.1-3.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering- package egl-wayland-1.1.19~20250313gitf1fd514-1.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filteringProblem 2: package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires nvidia-driver-libs(x86-64) = 3:570.124.06, but none of the providers can be installed- package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-glvkspirv.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-gpucomp.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-driver-libs-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires egl-wayland(x86-64) >= 1.1.13.1-3, but none of the providers can be installed- cannot install the best candidate for the job- package egl-wayland-1.1.13.1-3.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering- package egl-wayland-1.1.19~20250313gitf1fd514-1.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filteringProblem 3: package xorg-x11-nvidia-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-glcore.so.570.124.06()(64bit), but none of the providers can be installed- package xorg-x11-nvidia-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-tls.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-xconfig-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires xorg-x11-nvidia(x86-64) >= 3:570.124.06, but none of the providers can be installed- package nvidia-driver-libs-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires egl-wayland(x86-64) >= 1.1.13.1-3, but none of the providers can be installed- cannot install the best candidate for the job- package egl-wayland-1.1.13.1-3.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering- package egl-wayland-1.1.19~20250313gitf1fd514-1.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filteringProblem 4: package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires nvidia-driver-libs(x86-64) = 3:570.124.06, but none of the providers can be installed- package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-glvkspirv.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-driver-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires libnvidia-gpucomp.so.570.124.06()(64bit), but none of the providers can be installed- package nvidia-settings-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires nvidia-driver(x86-64) = 3:570.124.06, but none of the providers can be installed- package nvidia-driver-libs-3:570.124.06-1.el9.x86_64 from cuda-rhel9-x86_64 requires egl-wayland(x86-64) >= 1.1.13.1-3, but none of the providers can be installed- cannot install the best candidate for the job- package egl-wayland-1.1.13.1-3.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering- package egl-wayland-1.1.19~20250313gitf1fd514-1.el9.x86_64 from cuda-rhel9-x86_64 is filtered out by modular filtering
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

問了大模型的解決辦法都不行,最后發現錯誤日志最后括號內的提示,改成如下命令就成功了:

sudo dnf module install nvidia-driver:latest-dkms --skip-broken
2.5 為了使更改生效,請使用以下命令重新啟動計算機:
sudo reboot

檢查 NVIDIA 驅動程序是否安裝正確
計算機啟動后,您應該會看到使用專有的 NVIDIA GPU 驅動程序1,而不是開源的 Nouveau GPU 驅動程序2。

lsmod | grep nvidia
lsmod | grep nouveau

您還應該在 CentOS Stream 9 的應用程序菜單中找到NVIDIA X Server Settings應用程序。單擊它。

NVIDIA X 服務器設置應用程序運行時應該沒有任何錯誤,并且應該顯示與您安裝的 NVIDIA GPU 相關的大量信息。

2.6 測試

您還應該能夠運行 NVIDIA 命令行程序,例如 nvidia-smi

[root@cheng ~]# nvidia-smiSun Dec 22 14:37:55 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.57.01              Driver Version: 565.57.01      CUDA Version: 12.7     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3060        Off |   00000000:06:00.0 Off |                  N/A |
| 31%   23C    P8              6W /  170W |      18MiB /  12288MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

2、cuda-toolkit安裝

2.1 安裝

參考官網:CUDA Toolkit 12.8 Update 1 Downloads

2.2 環境配置

全局配置,對所有用戶生效:

[chenfeng@iZ2ze8ss1mj33afx13mulcZ temp]$ sudo vim /etc/profile
在文件末尾追加:export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

然后,重啟終端 或 執行 source /etc/profile

測試

nvcc --version

[chenfeng@iZ2ze8ss1mj33afx13mulcZ temp]$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/76439.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76439.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/76439.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LDAP高效數據同步:Syncrepl復制模式實戰指南

#作者:朱雷 文章目錄 一、Syncrepl 復制簡介1.1. 什么是復制模式1.2. 什么是 syncrepl同步復制 二、Ldap環境部署三、配置復制類型3.1. 提供者端配置3.2. 消費者端配置3.3.啟動服務3.4.測試同步是否生效 四、總結 一、Syncrepl 復制簡介 1.1. 什么是復制模式 Ope…

Linux 內核網絡協議棧中的 struct packet_type:以 ip_packet_type 為例

在 Linux 內核的網絡協議棧中,struct packet_type 是一個核心數據結構,用于注冊特定協議類型的數據包處理邏輯。它定義了如何處理特定協議的數據包,并通過協議類型匹配機制實現協議分發。本文將通過分析 ip_packet_type 的定義和作用,深入探討其在網絡協議棧中的重要性。 …

QT Sqlite數據庫-教程001 創建數據庫和表-下

【1】創建帶名稱的數據庫 #include <QtSql/QSqlDatabase> #include <QtSql/QSqlQuery> #include <QtSql/QSqlRecord> QString path QDir::currentPath(); QApplication::addLibraryPath(pathQString("/release/plugins")); QPluginLoader loader…

Cannot find module ‘vue‘ or its corresponding type declarations

在使用vue3vite創建新的工程時&#xff0c;在新增.vue文件時會出現Cannot find module vue這個錯誤。 只需要我們在項目中的.d.ts文件中添加以下代碼即可 declare module *.vue {import { defineComponent } from vue;const component: ReturnType<typeof defineComponent&…

SSRF打靶總結

文章目錄 一. PortSwigger1、本地服務器的基本SSRF2、基本的目標不是漏洞機3、Referer標頭的外帶SSRF4、簡單黑名單的SSRF黑名單繞過思路&#xff1a; 5、重定向的SSRF6. 簡單的白名單SSRF白名單繞過思路&#xff1a; 二、BWAPP1. SSRF 文件包含漏洞 | 內網探測2. XXE -> S…

STL-函數對象

1.函數對象 1.1 概念 重載函數調用操作符的類&#xff0c;其對象被稱為函數對象 函數對象使用重載的&#xff08;&#xff09;時&#xff0c;行為類似函數調用&#xff0c;也成為仿函數 本質&#xff1a;函數對象&#xff08;仿函數&#xff09;是一個類&#xff0c;不是一…

多線程(Java)

注&#xff1a;本文為本人學習過程中的筆記 1.導入 1.進程和線程 我們希望我們的程序可以并發執行以提升效率&#xff0c;此時引入了多進程編程。可是創建進程等操作開銷太大&#xff0c;于是就將進程進一步拆分成線程&#xff0c;減少開銷。進程與進程之間所涉及到的資源是…

在 Dev-C++中編譯運行GUI 程序介紹(三)有趣示例一組

在 Dev-C中編譯運行GUI程序介紹&#xff08;三&#xff09;有趣示例一組 前期見 在 Dev-C中編譯運行GUI 程序介紹&#xff08;一&#xff09;基礎 https://blog.csdn.net/cnds123/article/details/147019078 在 Dev-C中編譯運行GUI 程序介紹&#xff08;二&#xff09;示例&a…

【高校主辦】2025年第四屆信息與通信工程國際會議(JCICE 2025)

重要信息 會議網址&#xff1a;www.jcice.org 會議時間&#xff1a;2025年7月25-27日 召開地點&#xff1a;哈爾濱 截稿時間&#xff1a;2025年6月15日 錄用通知&#xff1a;投稿后2周內 收錄檢索&#xff1a;EI,Scopus 會議簡介 JCICE 2022、JCICE 2023、JCICE 2…

【Linux】Linux 操作系統 - 03 ,初步指令結尾 + shell 理解

文章目錄 前言一、打包和壓縮二、有關體系結構 (考)面試題 三、重要的熱鍵四、shell 命令及運行原理初步理解五、本節命令總結總結 前言 本篇文章 , 筆者記錄的筆記內容包含 : 基礎指令 、重要熱鍵 、shell 初步理解 、權限用戶的部分問題 。 內容皆是重要知識點 , 需要認真理…

Python: sqlite3.OperationalError: no such table: ***解析

出現該錯誤說明數據庫中沒有成功創建 reviews 表。以下是完整的解決方案: 步驟 1:創建數據庫表 在插入數據前,必須先執行建表語句。請通過以下任一方式創建表: 方式一:使用 SQLite 命令行 bash 復制 # 進入 SQLite 命令行 sqlite3 reviews.db# 執行建表語句 CREATE T…

VSCode CLine 插件自定義配置使用 Claude 3.7 模型進行 AI 開發

一個互聯網技術玩家&#xff0c;一個愛聊技術的家伙。在工作和學習中不斷思考&#xff0c;把這些思考總結出來&#xff0c;并分享&#xff0c;和大家一起交流進步。 本文介紹如何在 Visual Studio Code (VSCode) 中安裝和自定義配置 CLine 插件&#xff0c;并使用 Claude 3.7 模…

【VSCode配置】運行springboot項目和vue項目

目錄 安裝VSCode安裝軟件安裝插件VSCode配置user的全局設置setting.jsonworkshop的項目自定義設置setting.jsonworkshop的項目啟動配置launch.json 安裝VSCode 官網下載 安裝軟件 git安裝1.1.12版本&#xff0c;1.2.X高版本無法安裝node14以下版本 nvm安裝&#xff08;github…

linux shell編程之條件語句(二)

目錄 一. 條件測試操作 1. 文件測試 2. 整數值比較 3. 字符串比較 4. 邏輯測試 二. if 條件語句 1. if 語句的結構 (1) 單分支 if 語句 (2) 雙分支 if 語句 (3) 多分支 if 語句 2. if 語句應用示例 (1) 單分支 if 語句應用 (2) 雙分支 if 語句應用 (3) 多分支 …

榕壹云在線商城系統:基于THinkPHP+ Mysql+UniApp全端適配、高效部署的電商解決方案

項目背景&#xff1a;解決多端電商開發的痛點 隨著移動互聯網的普及和用戶購物習慣的碎片化&#xff0c;傳統電商系統面臨以下挑戰&#xff1a; 1. 多平臺適配成本高&#xff1a;需要同時開發App、小程序、H5等多端應用&#xff0c;重復開發導致資源浪費。 2. 技術依賴第三方…

神經動力學系統與計算及AI拓展

大腦&#xff0c;一個蘊藏在我們顱骨之內的宇宙&#xff0c;以活動脈動&#xff0c;如同由電信號和化學信號編織而成的交響樂&#xff0c;精巧地協調著思想、情感和行為。但是&#xff0c;這種復雜的神經元舞蹈是如何產生我們豐富多彩的精神生活的呢&#xff1f;這正是神經動力…

K8s常用基礎管理命令(一)

基礎管理命令 基礎命令kubectl get命令kubectl create命令kubectl apply命令kubectl delete命令kubectl describe命令kubectl explain命令kubectl run命令kubectl cp命令kubectl edit命令kubectl logs命令kubectl exec命令kubectl port-forward命令kubectl patch命令 集群管理命…

本地化部署DeepSeek-R1蒸餾大模型:基于飛槳PaddleNLP 3.0的實戰指南

目錄 一、飛槳框架3.0&#xff1a;大模型推理新范式的開啟1.1 自動并行機制革新&#xff1a;解放多卡推理1.2 推理-訓練統一設計&#xff1a;一套代碼全流程復用 二、本地部署DeepSeek-R1-Distill-Llama-8B的實戰流程2.1 機器環境說明2.2 模型與推理腳本準備2.3 啟動 Docker 容…

單片機方案開發 代寫程序/燒錄芯片 九齊/應廣等 電動玩具 小家電 語音開發

在電子產品設計中&#xff0c;單片機&#xff08;MCU&#xff09;無疑是最重要的組成部分之一。無論是消費電子、智能家居、工業控制&#xff0c;還是可穿戴設備&#xff0c;小家電等&#xff0c;單片機的應用無處不在。 單片機&#xff0c;簡而言之&#xff0c;就是將計算機…

【位運算】兩整數之和

文章目錄 371. 兩整數之和解題思路&#xff1a;位運算 371. 兩整數之和 371. 兩整數之和 ? 給你兩個整數 a 和 b &#xff0c;不使用 運算符 和 - &#xff0c;計算并返回兩整數之和。 示例 1&#xff1a; 輸入&#xff1a;a 1, b 2 輸出&#xff1a;3示例 2&#xff1…