欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 【OS安装与使用】part3-ubuntu安装Nvidia显卡驱动+CUDA 12.4

【OS安装与使用】part3-ubuntu安装Nvidia显卡驱动+CUDA 12.4

2025/2/22 2:06:16 来源:https://blog.csdn.net/lxlyhwl/article/details/145698551  浏览:    关键词:【OS安装与使用】part3-ubuntu安装Nvidia显卡驱动+CUDA 12.4

文章目录

  • 一、待解决问题
    • 1.1 问题描述
    • 1.2 解决方法
  • 二、方法详述
    • 2.1 必要说明
    • 2.2 应用步骤
      • 2.2.1 更改镜像源
      • 2.2.2 安装NVIDIA显卡驱动:nvidia-550
        • (1)查询显卡ID
        • (2)PCI ID Repository查询显卡型号
        • (3)安装显卡驱动
        • (4)检测驱动安装是否成功
      • 2.2.3 安装NVIDIA显卡计算平台:CUDA 12.4
        • (1)查看可安装CUDA最高版本
        • (2)查看设备安装的操作系统版本、linux内核版本、硬件架构
        • (3)安装CUDA 12.4
        • (4)检测CUDA安装是否成功
  • 三、疑问
    • 3.1 显卡驱动安装好后,CUDA安装报错。
    • 3.2 显卡驱动安装时,报错“build kernel module error ”
  • 四、总结


一、待解决问题

1.1 问题描述

新装了ubuntu 22.04 LTS 系统后,除了系统自带的基础软件外,都是空白。
为了运行MARL算法,安装其必要的基础运行环境。

1.2 解决方法

(1)更改镜像源
(2)安装NVIDIA显卡驱动:nvidia-550
(3)安装NVIDIA显卡计算平台:CUDA 12.4

二、方法详述

2.1 必要说明

暂无

2.2 应用步骤

2.2.1 更改镜像源

(1)登录清华镜像源网站,并基于ubuntu版本复制内容。
链接:清华大学开源软件镜像站
在这里插入图片描述(2)进入sourcelist文件路径,备份原文件,并更改镜像源

cd /etc/apt/
sudo cp -i sources.list sources-backup.list
ls
sudo gedit sources.list

将镜像链接内容复制,并保存
在这里插入图片描述(3)应用镜像源

sudo apt update

2.2.2 安装NVIDIA显卡驱动:nvidia-550

(1)查询显卡ID
lspci | grep -i nvidia

在这里插入图片描述

(2)PCI ID Repository查询显卡型号

链接:PCI ID Repository Nvidia 显卡型号查询
下拉到底部,有个搜索框,输入显卡ID
在这里插入图片描述

(3)安装显卡驱动

使用ubuntu自带的Software&Updates工具安装

#检测可安装的驱动程序
ubuntu-drivers devices

在这里插入图片描述
选择推荐的 nvidia-driver-550 版本驱动。

在正式开始安装之前,先更新一下make、gcc、g++。
(这里更新gcc-12、g+±12的原因是nvidia-550要求最新版本的gcc、g++)

#查看当前gcc版本,果然为11.4
gcc --version
#安装依赖项
sudo apt-get install build-essential
sudo apt-get install make
#安装gcc-12
sudo apt-get install gcc-12
sudo apt install g++-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 60
g++ --version
gcc --version

安装之前查看是否已有安装nvdia驱动,有的话直接删除。

nvidia-smi
#卸载Nvidia驱动及相关组件
sudo apt-get remove --purge '^nvidia-.*'
sudo apt-get autoremove
#自动下载安装nvidia-550驱动程序
sudo apt-get install -y cuda-drivers-550

安装过程弹出UEFI secure boot阻拦,大致意思是:

在安装 NVIDIA 显卡驱动时遇到此错误是因为启用了 UEFI 安全启动,导致系统无法加载第三方驱动程序。
然后,按照提示说:
(1)会生成一个MOK密钥,然后需要录入到固件内。
(2)过程中会设置一个password。
(3)重启后可选择 “Enroll MOK”(录入密钥) 或者 “Change Secure Boot”(改变安全启动项)的选项。

在这里插入图片描述

❓什么是UEFI安全启动呢?

说白了,其实就是设备的一种安全机制。它通过验证启动组件的数字签名来防止未经授权的软件(如恶意软件或未经授权的驱动程序)在系统启动时运行。

由于,我们是双系统,直接关闭Secure Boot可能会存在风险,先尝试 “Enroll MOK”的选项。

设置一个password。
在这里插入图片描述
程序跑完,直接重启

sudo reboot

重启后,进入“蓝色”界面,选择“Enroll MOK”
在这里插入图片描述下一个页面选择 “Continue” ,再选择 “Yes”
在这里插入图片描述输入 设置好的Password,没有报错的话直接选择 Reboot。
在这里插入图片描述重启!
在这里插入图片描述

(4)检测驱动安装是否成功
nvidia-smi

看到驱动版本为550.120,并且有对应的可安装的CUDA最高版本为 12.4

在这里插入图片描述

查看软件&更新内的驱动使用情况

software-properties-gtk

在这里插入图片描述

至此,nvidia-550显卡驱动安装成功。

2.2.3 安装NVIDIA显卡计算平台:CUDA 12.4

(1)查看可安装CUDA最高版本
nvidia-smi

看到驱动版本为550.120,并且有对应的可安装的CUDA最高版本为 12.4

在这里插入图片描述
也可以上官方网站上查看驱动型号下支持的CUDA版本。
链接:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-toolkit-major-component-versions

在这里插入图片描述

(2)查看设备安装的操作系统版本、linux内核版本、硬件架构
lsb_release -a
uname -rp

在这里插入图片描述
在这里插入图片描述

(3)安装CUDA 12.4

前往nvidia官网下载CUDA安装包,链接:CUDA Toolkit发行版下载
在这里插入图片描述
选择对应系统版本和硬件架构。

在这里插入图片描述

按照指令安装

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.1-550.54.15-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.1-550.54.15-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-4

安装无报错后,重启

sudo reboot
(4)检测CUDA安装是否成功

CUDA官方也给出安装和检测教程。
链接:https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#debian-installer
在这里插入图片描述设置环境变量,这里由于安装的是12.4,对应修改一下。
打开编辑 ~/.bashrc 文件。

sudo gedit ~/.bashrc

将下面环境变量代码添加至最后一行,并点击“保存”。

#cuda12.4 envirionment
#cuda12.4 environment
export PATH=/usr/local/cuda-12.4/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

在这里插入图片描述

应用环境变量,生效

#让环境变量生效
source ~/.bashrc

使用下面代码,能够查看CUDA版本,即安装成功

nvcc -version
./__nvcc_device_query

在这里插入图片描述
其中,89与我设备GPU型号RTX 4060匹配。

89 代表你的 GPU 架构版本为 8.9
在 NVIDIA 的 CUDA 开发中,GPU 架构通过计算能力(Compute Capability)来定义,通常以 sm_XX 或 compute_XX 的形式表示。
sm_89 表示 GPU 的架构版本为 8.9。这是 NVIDIA 对 Ada Lovelace 架构 的计算能力标识,如 RTX 4060 等显卡。

💐💐💐 完结撒花! 💐💐💐

三、疑问

3.1 显卡驱动安装好后,CUDA安装报错。

报错信息如下:
在这里插入图片描述感觉是显卡驱动存在问题,尝试卸载显卡驱动重新下载推荐的驱动版本。

#检测可安装的驱动程序
ubuntu-drivers devices

在这里插入图片描述
选择推荐的 nvidia-driver-550 版本驱动。

#卸载Nvidia驱动及相关组件
sudo apt-get remove --purge '^nvidia-.*'
sudo apt-get autoremove
sudo apt install nvidia-driver-550

3.2 显卡驱动安装时,报错“build kernel module error ”

解决流程:
(1)卸载原先驱动

#查看当前已安装驱动
ubuntu-drivers devices
#卸载Nvidia驱动及相关组件
sudo apt-get remove --purge '^nvidia-.*'
sudo apt-get autoremove

(2)前往nvidia官网查找对应驱动
链接:https://www.nvidia.cn/drivers/lookup/
在这里插入图片描述找到对应驱动下载,我依然下载535版本的驱动。
在这里插入图片描述开始安装驱动

sudo apt update && sudo apt upgrade
sudo chmod 777 NVIDIA-Linux-x86_64-535.183.01.run
sudo ./NVIDIA-Linux-x86_64-535.183.01.run 

安装过程中,提示需关闭 Nouveau ,程序自动创建了一个文件,然后重启。重启后继续执行安装文件,看到如下报错:
在这里插入图片描述
去对应文件查找原因,发现第一条报错信息如下:

cc: error: unrecognized command-line option ‘-ftrivial-auto-var-init=zero’

在这里插入图片描述网上搜索了一下,咨询大模型,原因如下:

该错误通常是由于 GCC(GNU Compiler Collection)版本不兼容导致的。Nvidia 显卡驱动程序在安装过程中需要编译内核模块,而某些较新的内核版本需要更高版本的 GCC 才能正确编译。

开始升级GCC版本

#查看当前gcc版本,为11.4
gcc --version
#安装gcc-12
sudo apt-get install gcc-12
sudo apt install g++-12
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 60
g++ --version
gcc --version

至此,再尝试安装nvidia显卡驱动

四、总结

  • 安装新的软件或系统时,注意记录,以便分析!!!
  • 安装过程最好按照软件的官方教程!!!
  • 安装过程遇到错误不要随意搜索,仔细分析过程中的报错信息,按图索骥!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词