问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

深度学习之NVIDIA驱动程序550的手动安装和配置(成功版)

创作时间:
作者:
@小白创作中心

深度学习之NVIDIA驱动程序550的手动安装和配置(成功版)

引用
CSDN
1.
https://blog.csdn.net/weixin_53036073/article/details/140626620

在使用深度学习训练数据集时,经常会遇到驱动程序与CUDA版本不匹配的问题。本文将详细介绍如何在Linux系统上手动安装NVIDIA 550驱动程序,解决驱动程序与CUDA-11.8版本不匹配导致的训练失败问题。

在训练数据集时遇到了驱动程序和cuda-11.8版本不匹配导致训练失败,检查驱动程序显示没有,重新下载驱动程序发现电脑上的驱动程序自动下载安装的话只能到384,所以这篇文章主要是教大家如何手动安装和配置NVIDIA-550版本。

手动安装高版本的 NVIDIA 驱动程序(如 550版本)到电脑上通常可以正常使用,但需要确保安装过程正确且与现有系统和 CUDA 版本兼容。以下是官网查询到的版本兼容性列表:

驱动程序本身并不决定计算能力,而是显卡的架构和型号决定的。NVIDIA 驱动程序版本 520.61.05 及以上版本支持 CUDA 11.8。显卡型号是 NVIDIA GeForce GTX 1080 Ti。根据 NVIDIA 的规格,GeForce GTX 1080 Ti 基于 Pascal 架构,其计算能力(Compute Capability)是 6.1。CUDA 11.8 的最低计算能力要求是 3.5,计算能力为 6.1 的 GTX 1080 Ti 完全满足这一要求。

如上表所示,下载高于520版本的nvidia比较合适,这里选择下载550版本。

以下是下载安装的详细步骤:

1.卸载旧的 NVIDIA 驱动程序


sudo apt-get purge nvidia-*
sudo apt-get autoremove  

2. 禁用 Nouveau 驱动程序:


sudo bash -c "echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf"
sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist.conf"
sudo update-initramfs -u
sudo reboot  

3.下载NVIDIA 550(这里第一种方法不适用,选择了手动下载)

添加 NVIDIA PPA 并安装驱动程序 550


sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-525
sudo reboot  

能直接下载的可以通过这种方式下载安装,电脑上没有这个版本的就从 NVIDIA 官方网站手动下载并安装驱动程序:
Official Drivers | NVIDIA
点击“搜索”按钮,然后点击“下载”按钮以获取最新的驱动程序(版本 550)。

4. 切换到控制台模式:

在安装 NVIDIA 驱动程序时,需要退出图形界面并切换到控制台模式。按
Ctrl+Alt+F1

Ctrl+Alt+F2
,然后登录。

停止图形界面:


sudo service lightdm stop  # 对于 Ubuntu 16.04 使用 lightdm  

如果无法输入的话,使用两个控制台同时进行安装。

步骤 1:切换到控制台并停止图形界面

  1. 切换到第一个控制台: 按
    Ctrl+Alt+F1

    Ctrl+Alt+F2
    切换到第一个控制台,然后登录。

  2. 停止图形界面


sudo service lightdm stop  

步骤 2:切换到另一个控制台进行安装

  1. 切换到另一个控制台: 按
    Ctrl+Alt+F3

    Ctrl+Alt+F4
    切换到第二个控制台。

  2. 登录新的控制台: 使用您的用户名和密码登录。

  3. 安装 NVIDIA 驱动程序

  4. 确保下载的驱动程序文件具有执行权限


chmod +x NVIDIA-Linux-x86_64-550.100.run  
  1. 运行安装程序

sudo ./NVIDIA-Linux-x86_64-550.100.run  
  1. 按照安装程序的提示进行安装
    当前系统中已经安装了一个版本的 NVIDIA 驱动程序(版本 465.31)。安装新的驱动程序(版本 550.100)将卸载现有的驱动程序。

  2. 选择 "Continue Installation":这将会卸载现有的驱动程序并安装新的驱动程序。
    您可以使用键盘上的箭头键(↑ 或 ↓)来选择 "Continue Installation" 选项,然后按
    Enter
    键确认。

在出现 “The distribution-provided pre-install script failed” 提示时,选择继续安装通常是可以的,尤其是如果您确信先前已经正确禁用了 Nouveau 驱动程序并停止了图形界面服务。

  1. 选择 "Continue Installation"
  • 使用箭头键选择 "Continue Installation"。

  • Enter
    键确认。
    这将会忽略预安装脚本的失败并继续安装 NVIDIA 驱动程序。

系统已启用 UEFI Secure Boot,并且内核模块签名选项(CONFIG_MODULE_SIG)已设置。此设置意味着系统可能会拒绝加载未签名的内核模块,除非它们有有效的签名。

选择 "Sign the kernel module"

  • 使用箭头键选择 "Sign the kernel module"。

  • Enter
    键确认。
    签名内核模块将确保在启用 Secure Boot 的情况下,系统可以加载 NVIDIA 驱动程序模块。

现在系统提示您选择是使用现有的密钥对还是生成一个新的密钥对来签署 NVIDIA 内核模块。

  1. 生成新的密钥对
  • 使用箭头键选择 "Generate a new key pair"。

  • Enter
    键确认。
    生成新的密钥对会更简单,因为这将创建一个新密钥对并自动配置。

成功地使用新生成的密钥对 NVIDIA 内核模块进行了签名。系统现在询问您是否要删除私有签名密钥。
选择“No”以保留私有签名密钥。保留密钥的原因如下:

  • 未来使用:如果将来需要重新签署或更新内核模块,保留密钥将非常有用。
  • 安全性:除非有明确的安全政策要求删除密钥,保留它是较为安全和方便的选择。
    使用箭头键选择“No”,然后按
    Enter
    键确认。

图片显示,签名的内核模块无法加载,因为内核无法信任任何可以验证模块签名的密钥。这意味着在启用 Secure Boot 的情况下,您需要将密钥添加到内核信任的数据库中。

继续安装并添加密钥

  1. 选择 "Install signed kernel module"
  • 使用箭头键选择 "Install signed kernel module"。

  • Enter
    键确认。
  1. 重启并添加密钥到 MOK 管理器
  • 安装完成后,重新启动系统。
  • 在启动时,进入 MOK 管理器以添加签名密钥。通常,启动时系统会提示您按某个键(例如
    ESC

    F1

    F2
    等)进入 MOK 管理器。

是否要使用 DKMS(Dynamic Kernel Module Support)来注册内核模块源文件。如果选择使用 DKMS,那么在内核更新时,DKMS 会自动重新编译和安装 NVIDIA 驱动程序模块。这对于保持系统和驱动程序的兼容性是非常有用的,尤其是在系统内核可能会更新的情况下。

  1. 选择 "Yes"
  • 使用箭头键选择 "Yes"。

  • Enter
    键确认。
    这样可以确保在内核更新时,NVIDIA 驱动模块会自动重新编译和安装,从而避免手动重新安装驱动程序的麻烦。

现在的提示是关于是否需要重新生成
initramfs
文件,因为系统检测到
initramfs
中存在 Nouveau 驱动程序。

  1. 选择 "Rebuild initramfs"
  • 使用箭头键选择 "Rebuild initramfs"。

  • Enter
    键确认。

原因:

重建
initramfs
可以确保在系统启动时,Nouveau 驱动程序不会被加载,从而避免与 NVIDIA 驱动程序发生冲突。这是确保新安装的 NVIDIA 驱动程序能够正常工作的重要步骤。

现在系统提示是否要运行
nvidia-xconfig
实用程序以自动更新您的 X 配置文件,以便在重新启动 X 时使用 NVIDIA 驱动程序。这一步可以确保 NVIDIA 驱动程序在图形界面启动时被正确加载。

  1. 选择 "Yes"
  • 使用箭头键选择 "Yes"。

  • Enter
    键确认。
    选择 "Yes" 将自动更新 X 配置文件,确保 NVIDIA 驱动程序在图形界面启动时被正确加载,并且现有的 X 配置文件将会被备份。

步骤 3:验证 NVIDIA 驱动程序安装

重启系统: 为了确保所有更改生效,首先重启系统:

sudo reboot
  • 检查 NVIDIA 驱动程序: 在系统重启后,打开终端并运行以下命令以验证驱动程序是否正确安装:

nvidia-smi
该命令应显示 NVIDIA 驱动程序版本和显卡的详细信息。如果看到 GPU 的相关信息,说明 NVIDIA 驱动程序安装成功。

如果重启之后回不到图像界面,请看这篇文章:nVidia安装失败打不开图像界面:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. Make-CSDN博客
如果没有显示详细信息,显示NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

nvidia-smi
报错提示它无法与 NVIDIA 驱动通信,这通常意味着内核模块没有正确加载或驱动程序与当前内核不兼容。

如果你尚未禁用 Secure Boot,建议先禁用 Secure Boot,然后再次尝试加载驱动。在开机时按住F10,将会进入BIOS界面,找到以下界面。

当前选择框显示的选项是
启用传统支持和禁用安全引导
。这是你要选择的选项,因为它会禁用 Secure Boot 并启用 Legacy Boot 支持。

系统将重新启动,此时 Secure Boot 将被禁用,你的系统应该允许加载未签名的内核模块。

重启后再次输入nvidia-smi应该就会出现详细信息,说明安装成功!

ps:走过的一些弯路:

打开一个终端窗口,并更新软件包列表:


sudo apt-get update  

你需要切换到命令行界面并停止当前的图形界面。按
Ctrl+Alt+F1
进入命令行模式,然后输入:


sudo service lightdm stop  # 如果使用的是 lightdm
sudo service gdm stop      # 如果使用的是 gdm
sudo service sddm stop     # 如果使用的是 sddm  

创建一个新的配置文件来禁用 Nouveau 驱动:


sudo nano /etc/modprobe.d/blacklist-nouveau.conf  

在文件中添加以下内容:


blacklist nouveau
options nouveau modeset=0  

保存并关闭文件,然后运行以下命令以更新 initramfs:


sudo update-initramfs -u  

重启系统


sudo reboot  

重启后,再次进入命令行模式(按
Ctrl+Alt+F1
)。导航到下载目录并使驱动程序文件可执行:


cd ~/Downloads  # 或者你下载驱动程序的目录
chmod +x NVIDIA-Linux-x86_64-550.xx.run  

运行安装程序:


sudo ./NVIDIA-Linux-x86_64-550.xx.run  

根据上述操作,我并没有安装成功。

更新系统软件包列表并安装必要的软件包:


sudo apt update
sudo apt install build-essential gcc-multilib dkms  

运行第二步时出现以下报错:
下列软件包有未满足的依赖关系: gcc-multilib : 依赖: gcc-5-multilib (>= 5.3.1-3~) 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

gcc-multilib
及其依赖包未能正确安装,这可能会影响 NVIDIA 驱动程序的安装和运行,因为编译内核模块时可能需要这些工具。不过,我们可以尝试以下方法来解决依赖关系问题:

更新软件包列表:


sudo apt update  

尝试安装特定版本的
gcc-5-multilib


sudo apt install gcc-5-multilib  

下列软件包有未满足的依赖关系: gcc-5-multilib : 依赖: libc6-dev-i386 (>= 2.11) 但是它将不会被安装 依赖: libc6-dev-x32 (>= 2.11) 但是它将不会被安装 依赖: lib32gcc-5-dev (= 5.5.0-12ubuntu116.04) 但是它将不会被安装 依赖: libx32gcc-5-dev (= 5.5.0-12ubuntu116.04) 但是它将不会被安装

确保您的
sources.list
文件包含适当的源。编辑文件:


sudo nano /etc/apt/sources.list  

确保文件中包含以下内容:


deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -sc) main universe
deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -sc)-updates main universe
deb http://archive.ubuntu.com/ubuntu/ $(lsb_release -sc)-security main universe  

保存并退出 (
Ctrl+O
,
Enter
,
Ctrl+X
).

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号