百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

Nvidia显卡驱动安装

ztj100 2025-03-03 21:14 5 浏览 0 评论

Nouveau 驱动诞生背景:

Nouveau 是为 NVIDIA 显卡 开发的开源驱动程序,由 Linux 社区维护。它的开发初衷是为 Linux 用户 提供一个开源且自由的 NVIDIA 显卡驱动,解决 NVIDIA 官方闭源驱动带来的兼容性、自由性和开源社区参与度等问题。

  • NVIDIA 官方驱动的闭源性:

NVIDIA 官方驱动(nvidia-driver)虽然性能优异,但它是闭源的。闭源意味着驱动的代码不可见,Linux 社区无法对其进行修改、调试或优化。这种闭源的性质在开源社区中引发了很多问题,如难以与 Linux 内核深度集成、难以调试以及不适用于某些开源要求严格的系统。

  • 自由和开源理念:

开源软件倡导透明性和自由性,Linux 社区特别重视这一点。Nouveau 项目诞生的初衷是为了为 Linux 提供一个开源的、完全自由的 NVIDIA 显卡驱动,用户可以自由地修改、分发和优化这个驱动。

  • 内核集成与开源贡献:

由于 Nouveau 是开源的,它与 Linux 内核深度集成,默认被包含在大多数 Linux 发行版中。这种集成让 Linux 系统可以在没有安装 NVIDIA 官方驱动的情况下直接使用 NVIDIA 显卡。

Nouveau 通过反向工程(Reverse Engineering)NVIDIA 官方驱动,尝试实现与 NVIDIA 显卡的兼容,尽管性能远低于官方驱动,但它是为开源用户提供的一种自由替代方案。

  • 支持广泛的硬件:

虽然 Nouveau 的开发进度相对较慢,且硬件支持和性能不如官方驱动,但它支持大多数老旧和现代的 NVIDIA 显卡,尤其在普通桌面环境中提供了基础的图形处理能力。

Nvidia 驱动和开源驱动 Nouveau 如何选择:

项目

NVIDIA 官方驱动

开源驱动(Nouveau)

优点

- 性能优化:适用于游戏、3D 渲染、AI 训练、深度学习、GPU 加速计算等,官方驱动包含 CUDA、TensorRT、OptiX 等应用优化。

- 最新硬件支持:提供最新显卡的及时支持。

- 支持 CUDA:唯一支持 CUDA 的选项,适用于 GPU 加速计算。

- 支持更多功能:支持光线追踪(Ray Tracing)、NVENC 视频编码、虚拟现实(VR)等。

- 开源:代码透明,适合开发和调试。

- 默认安装:大多数 Linux 发行版中默认集成,安装方便。

- 兼容性好:与系统的内核集成良好,减少兼容性问题。

缺点

- 闭源:代码不可见,某些 Linux 发行版中兼容性可能较差。

- 不易调试:调试难度较大,社区支持较少,安装和维护可能复杂,特别是与 Nouveau 驱动冲突时。

- 性能较低:无法充分发挥显卡的性能,特别是在 3D 渲染、游戏、AI 训练等任务中性能较差。

- 不支持 CUDA 和高级功能:不支持 CUDA、OptiX 等功能。

- 硬件支持滞后:更新速度比官方驱动慢。

适用场景

- 需要高性能图形处理:如游戏、3D 渲染、视频编辑、图形设计等。

- 需要 GPU 加速计算:如深度学习、AI 训练、科学计算等。

- 工作站或数据中心:适合工作站、AI 训练集群、深度学习服务器等。

- 一般桌面使用:如浏览网页、播放视频等,性能要求不高。

- 不需要高性能计算:适合不涉及游戏、图形设计或 GPU 加速计算的用户。

- 开源爱好者:适合开源软件爱好者调试和研究。

选择建议

如果需要高性能图形渲染或 GPU 加速计算(游戏、3D 渲染、AI 训练等任务),建议选择 NVIDIA 官方驱动。

如果只进行轻量级的日常桌面使用(上网、文档处理、观看视频),对性能要求不高时,推荐使用 Nouveau 开源驱动,特别是在兼容性更重要的场景下。

Ubuntu 安装 Nvidia 显卡官方驱动:

方法1(推荐)

sudo apt update
sudo apt upgrade
ubuntu-drivers devices //列出系统中可用的 NVIDIA 驱动。该命令会检测你的 NVIDIA 显卡,并推荐一个合适的驱动版本
vendor : NVIDIA Corporation
model : GeForce RTX 3060
driver : nvidia-driver-470 - distro non-free recommended
sudo apt install nvidia-driver-470 //根据系统推荐的驱动版本
sudo reboot //重启系统以加载新的驱动
nvidia-smi //验证 NVIDIA 驱动是否成功安装
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.82.00 Driver Version: 470.82.00 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| 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 GeForce RTX 3090 Off | 00000000:01:00.0 On | N/A |
| 30% 42C P8 25W / 350W | 500MiB / 24576MiB | 2% Default |
+-------------------------------+----------------------+----------------------+

方法2

systemctl stop gdm
systemctl stop sddm //停止图形界面服务
禁用 Nouveau 驱动
Nouveau 是开源的 NVIDIA 驱动程序,如果它启用,会与官方驱动程序冲突。
vim /etc/modprobe.d/blacklist-nouveau.conf ##创建或编辑文件
blacklist nouveau
options nouveau modeset=0
update-initramfs -u //重新生成内存盘映像
reboot //重启系统
下载官网驱动并安装-https://www.nvidia.com/en-us/drivers/
chmod +x NVIDIA-Linux-x86_64-.run
./NVIDIA-Linux-x86_64-.run //在安装过程中,程序将询问一些问题,默认选项通常是合适的。驱动程序会自动编译并安装 NVIDIA 驱动
reboot //重启系统
nvidia-smi //查看驱动是否安装成功

Centos 安装 Nvidia 显卡官方驱动:

yum update //确保系统是最新的,避免兼容性问题
yum groupinstall "Development Tools"
yum install kernel-devel kernel-headers gcc make //安装系统开发工具和库
在安装 NVIDIA 官方驱动之前,需要禁用系统默认的开源 Nouveau 驱动。
vim /etc/modprobe.d/blacklist-nouveau.conf //创建或编辑禁用 Nouveau 的配置文件,并添加如下内容
blacklist nouveau
options nouveau modeset=0
dracut --force //在禁用 Nouveau 驱动后,需重新生成初始内存映像(initramfs)以使更改生效
reboot //重启系统以应用禁用 Nouveau 的更改
lsmod | grep nouveau //验证 Nouveau 是否已禁用
打开该网址,https://www.nvidia.com/en-us/drivers/ //Nvidia官网下载对应的显卡驱动文件
systemctl stop gdm
systemctl stop sddm //关闭图形界面
chmod +x NVIDIA-Linux-x86_64-470.82.00.run //赋予安装文件执行权限
./NVIDIA-Linux-x86_64-470.82.00.run //运行 NVIDIA 驱动安装程序
reboot //安装完成后,重新启动系统以应用 NVIDIA 驱动
nvidia-smi //检查 NVIDIA 驱动是否安装成功
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.82.00 Driver Version: 470.82.00 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| 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 GeForce RTX 3090 Off | 00000000:01:00.0 On | N/A |
| 30% 42C P8 25W / 350W | 500MiB / 24576MiB | 2% Default |
+-------------------------------+----------------------+----------------------+
systemctl start gdm
systemctl start sddm //重新启动图形界面

Centos 卸载 Nvidia 显卡官方驱动:

systemctl stop gdm
systemctl stop sddm //停止图形界面服务
/usr/bin/nvidia-uninstall //启动 NVIDIA 的卸载程序,程序将提示你是否要卸载 NVIDIA 驱动和相关组件,通常选择 "Yes"
NVIDIA 卸载程序完成后,你可以确认驱动和模块是否已从系统中移除。检查 /usr/bin/ 目录下的 NVIDIA 文件,确保它们已被删除。
如果你希望在卸载 NVIDIA 驱动后重新启用 Nouveau 驱动
rm /etc/modprobe.d/blacklist-nouveau.conf //删除之前禁用 Nouveau 驱动的文件
dracut --force //重新生成初始内存映像(initramfs)以确保系统启动时加载 Nouveau 驱动
如果之前在 GRUB 配置中添加了禁用 Nouveau 的选项(如 rd.driver.blacklist=nouveau),需要将它们移除。
vim /etc/default/grub //GRUB_CMDLINE_LINUX="... rd.driver.blacklist=nouveau ..."
GRUB_CMDLINE_LINUX="... rd.driver.blacklist=nouveau ..."
grub2-mkconfig -o /boot/grub2/grub.cfg //保存文件后,更新 GRUB 配置
reboot //完成 NVIDIA 驱动卸载和重新启用 Nouveau 驱动后,重启系统以应用所有更改
lsmod | grep nouveau //检查 Nouveau 驱动是否已成功加载
glxinfo | grep OpenGL //检查图形渲染的驱动情况

Centos 安装开源 Nouveau 驱动:

Nouveau 通常默认包含在大多数主流 Linux 发行版中。如果你的系统已经预装了 Nouveau 驱动,那么你可以直接使用它。
lsmod | grep nouveau //检查当前是否启用了 Nouveau 驱动
yum install xorg-x11-drv-nouveau //手动安装或重新安装 Nouveau 驱动
dracut -f //如果之前系统禁用了 Nouveau 驱动,或者你手动编辑了 Grub 配置文件,接下来需要更新 initramfs,这将重建内存磁盘映像,以便在系统启动时加载正确的驱动程序
reboot //重启系统
lsmod | grep nouveau //确认 Nouveau 驱动是否已经成功加载
glxinfo | grep OpenGL //查看 Nouveau 驱动的 OpenGL 支持,如果 Nouveau 驱动成功启用,你会看到 Nouveau 作为 OpenGL 的渲染器
如果你使用的是 CentOS 桌面环境,确保桌面正常启动,并且图形界面工作正常
dmesg | grep nouveau //检查 dmesg 日志,可以通过 dmesg 命令检查 Nouveau 的启动日志,确保没有错误

Centos 卸载开源 Nouveau 驱动:

yum remove xorg-x11-drv-nouveau //Nouveau 驱动在 CentOS 系统中通常是 xorg-x11-drv-nouveau 包的一部分。该命令将卸载 Nouveau 驱动包,并从系统中移除相关的库和文件
即使你卸载了 Nouveau 驱动的用户空间部分,内核仍然可能会加载 Nouveau 模块。为了彻底禁用 Nouveau,你需要将其从内核模块加载中排除。
vim /etc/modprobe.d/blacklist-nouveau.conf //创建或编辑,并添加以下两行
blacklist nouveau
options nouveau modeset=0
dracut --force //为了确保系统在启动时不会加载 Nouveau 模块,你需要重新生成内存初始化文件 initramfs。该命令将重新生成系统的初始化 RAM 文件,以确保禁用 Nouveau 驱动模块
如果你曾经在 Grub 中启用了 Nouveau 或者默认情况下内核加载了 Nouveau 模块,可以通过编辑 Grub 配置文件来禁用它。
vim /etc/default/grub //找到 GRUB_CMDLINE_LINUX 这一行,确保添加以下参数来禁用 Nouveau
GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau nouveau.modeset=0"
grub2-mkconfig -o /boot/grub2/grub.cfg //更新 Grub 配置
sudo reboot //重启系统
lsmod | grep nouveau //检查 Nouveau 模块是否已经被禁用

!!!【点赞】、【关注】不走丢^_^

!!!【点赞】、【关注】不走丢^_^

相关推荐

从IDEA开始,迈进GO语言之门(idea got)

前言笔者在学习GO语言编程的时候,GO语言在国内还没有像JAVA/Php/Python那样普及,绕了不少的弯路,要开始入门学习一门编程语言,最好就先从选择一个好的编程语言的开发环境开始,有了这个开发环...

基于SpringBoot+MyBatis的私人影院java网上购票jsp源代码Mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍基于SpringBoot...

基于springboot的个人服装管理系统java网上商城jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍基于springboot...

基于springboot的美食网站Java食品销售jsp源代码Mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍基于springboot...

贸易管理进销存springboot云管货管账分析java jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目描述贸易管理进销存spring...

SpringBoot+VUE员工信息管理系统Java人员管理jsp源代码Mysql

本项目为前几天收费帮学妹做的一个项目,JavaEEJSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。一、项目介绍SpringBoot+V...

目前见过最牛的一个SpringBoot商城项目(附源码)还有人没用过吗

帮粉丝找了一个基于SpringBoot的天猫商城项目,快速部署运行,所用技术:MySQL,Druid,Log4j2,Maven,Echarts,Bootstrap...免费给大家分享出来前台演示...

SpringBoot+Mysql实现的手机商城附带源码演示导入视频

今天为大家带来的是基于SpringBoot+JPA+Thymeleaf框架的手机商城管理系统,商城系统分为前台和后台、前台用的是Bootstrap框架后台用的是SpringBoot+JPA都是现在主...

全网首发!马士兵内部共享—1658页《Java面试突击核心讲》

又是一年一度的“金九银十”秋招大热门,为助力广大程序员朋友“面试造火箭”,小编今天给大家分享的便是这份马士兵内部的面试神技——1658页《Java面试突击核心讲》!...

SpringBoot数据库操作的应用(springboot与数据库交互)

1.JDBC+HikariDataSource...

SpringBoot 整合 Flink 实时同步 MySQL

1、需求在Flink发布SpringBoot打包的jar包能够实时同步MySQL表,做到原表进行新增、修改、删除的时候目标表都能对应同步。...

SpringBoot + Mybatis + Shiro + mysql + redis智能平台源码分享

后端技术栈基于SpringBoot+Mybatis+Shiro+mysql+redis构建的智慧云智能教育平台基于数据驱动视图的理念封装element-ui,即使没有vue的使...

Springboot+Mysql舞蹈课程在线预约系统源码附带视频运行教程

今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的Springboot+Mysql舞蹈课程在线预约系统,系统项目源代码在【猿来入此】获取!https://www.yuan...

SpringBoot+Mysql在线众筹系统源码+讲解视频+开发文档(参考论文

今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的在线众筹管理系统,主要实现了普通用户在线参与众筹基本操作流程的全部功能,系统分普通用户、超级管理员等角色,除基础脚手架外...

Docker一键部署 SpringBoot 应用的方法,贼快贼好用

这两天发现个Gradle插件,支持一键打包、推送Docker镜像。今天我们来讲讲这个插件,希望对大家有所帮助!GradleDockerPlugin简介...

取消回复欢迎 发表评论: