当前位置:首页>Linux>Linux NVIDIA驱动安装(上)——开源vs闭源,版本怎么选

Linux NVIDIA驱动安装(上)——开源vs闭源,版本怎么选

  • 2026-10-11 07:01:46
Linux NVIDIA驱动安装(上)——开源vs闭源,版本怎么选

大家好,我是冯哥的缓存。从今天开始我们聊一下在Linux中怎么安装显卡驱动。NVIDIA在Linux上的兼容性历来是个老大难问题,让新手望而生畏。

其实搞清楚三个问题,NVIDIA驱动安装并不难:

1、开源驱动(Nouveau)vs 闭源驱动(官方),到底选哪个?

2、闭源驱动版本号那么多,应该装哪个?

3、Ubuntu自动安装的驱动,靠谱吗?

这一篇先解决这三个问题,下一篇再处理双显卡和常见报错。

先搞清楚:你的显卡支不支持?

NVIDIA显卡对Linux的支持分几个层次,不同时代的显卡能装的驱动版本不同。

显卡系列

发售年代

支持的最新闭源驱动

备注

RTX 50系

2025年+

570.x+

建议装latest

RTX 40系

2022年+

550.x+

建议装latest

RTX 30系

2020年+

550.x+

建议装latest

RTX 20系

2018年+

550.x+

建议装latest

GTX 16系

2019年+

550.x+

建议装latest

GTX 10系

2016年+

550.x+

建议装latest

GTX 9系(Maxwell)

2014年+

550.x+

建议装latest

GTX 700/600系(Kepler)

2012年+

470.x(legacy)

不再支持最新驱动

GTX 500/400系(Fermi)

2010年+

390.x(legacy)

很老了,基本淘汰

💡提示: 不确定显卡型号?在终端运行 lspci | grep -i nvidia查看显卡型号,再对照上表确认。

开源驱动(Nouveau)vs 闭源驱动(nvidia)

装完Ubuntu,如果没有额外操作,系统默认用的是Nouveau——NVIDIA的开源驱动。它能用,但有明显局限性。

对比项

Nouveau(开源)

nvidia(闭源官方)

安装方式

系统自带,无需安装

需要手动安装

3D游戏性能

大部分3D游戏无法流畅运行

完整性能

Vulkan支持

尚在早期开发阶段

完整支持

CUDA支持

❌ 不支持

✅ 完整支持

视频编解码硬件加速

❌ 不支持

✅ 支持(NVENC/NVDEC)

多显示器支持

基本可用

完整可用

功耗管理

较差(待机功耗高)

完整支持

稳定性

一般(部分显卡有花屏问题)

好

黑屏风险

低

存在(驱动版本不匹配时)

适合场景

不需要3D/CUDA的旧显卡服务器

日常使用、游戏、AI开发

结论:日常使用的桌面电脑,装闭源驱动。如果你只是用Linux跑服务、做开发且不需要CUDA,Nouveau凑合也够用。

闭源驱动版本那么多,装哪个?

打开Ubuntu的"附加驱动"界面,你会看到一堆版本号:535、550、560……新手完全不知道该选哪个。

NVIDIA驱动版本分支说明

版本分支

类型

说明

推荐程度

latest(最新版)

production

支持最新显卡,最新功能

⭐⭐⭐⭐⭐ GTX 10系及以上首选

latest-open(开源内核模块)

开源内核

驱动用开源内核模块,用户空间仍是闭源

⭐⭐⭐⭐ RTX 20系及以上可选

535/550/560

具体版本

某个稳定版本

⭐⭐⭐追求稳定或系统老旧时

legacy 470.x

旧版legacy

仅Kepler架构(GTX   600/700系)用

★仅限老卡

legacy 390.x

旧版legacy

仅Fermi架构(GTX   400/500系)用

★仅限极老卡

💡简单选法: RTX 20系及以上选 latest-open,GTX 10系/16系/20系早期选 latest,GTX 700系以下选 legacy 470.x。

什么是"open"内核模块?

NVIDIA在2022年开源了驱动的内核模块部分(即与Linux内核交互的那一层),称为"open kernel modules"。用户空间部分(libGL、CUDA等)仍然是闭源的。

项目

传统闭源驱动

open内核模块驱动

内核模块

闭源

✅ 开源(MIT+GPL)

用户空间库

闭源

闭源(不变)

稳定性

成熟

RTX 20系以上良好

CUDA/Vulkan

支持

支持

适用显卡

所有NVIDIA

仅支持Turing架构(GTX   16系、 RTX 20系)及以上

结论:有RTX 20系及以上的显卡,优先选open内核模块版本;GTX 10系等旧卡继续用传统闭源驱动。

方法一:Ubuntu图形界面安装(最推荐,新手首选)

这是最简单最安全的方式,Ubuntu会自动检测显卡并推荐合适的驱动。

操作步骤

1.打开"软件和更新"

# 方法A:图形界面

#在应用列表里找"软件和更新"(Software & Updates)

#或者直接搜索"additional drivers"

# 方法B:通过命令快速打开

software-properties-gtk

2.切换到"附加驱动"标签

会看到类似这样的列表:

○ 使用 NVIDIA driver metapackage from nvidia-driver-550 (proprietary, tested)

○ 使用 NVIDIA driver metapackage from nvidia-driver-535 (proprietary, tested)

○ 使用 NVIDIA driver metapackage from nvidia-driver-550-open (proprietary, tested)

● 使用 X.Org X server - Nouveau display driver from xserver-xorg-video-nouveau (open-source)

3.选择合适版本

RTX 20系及以上:选带 open字样的最新版

GTX 10系/16系:选不带 open的最新版(如 nvidia-driver-550)

GTX 600/700系(Kepler):选 nvidia-driver-470

4.点击"应用更改",等待安装完成

5.重启系统

sudo reboot

6.验证驱动安装成功

nvidia-smi

正常输出如下(格式可能略有不同):

+-----------------------------------------------------------------------------+

| NVIDIA-SMI 550.54.15Driver Version: 550.54.15CUDA Version: 12.4|

|-------------------------------+----------------------+----------------------+

| GPUNamePersistence-M| Bus-IdDisp.A | Volatile Uncorr. ECC |

| FanTempPerfPwr:Usage/Cap|Memory-Usage | GPU-UtilCompute M. |

|===============================+======================+======================|

|0NVIDIA GeForce ...Off| 00000000:01:00.0On |N/A |

| ...|||

+-----------------------------------------------------------------------------+

能看到GPU型号和驱动版本就说明成功了。

方法二:命令行安装(推荐,可控性强)

步骤1:查看系统推荐的驱动版本

ubuntu-drivers devices

输出示例:

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==

modalias : pci:v000010DEd00002489sv...

vendor: NVIDIA Corporation

model: GA104 [GeForce RTX 3070]

driver: nvidia-driver-550-open - distro non-free recommended

driver: nvidia-driver-550 - distro non-free

driver: nvidia-driver-535 - distro non-free

driver: xserver-xorg-video-nouveau - distro free builtin

recommended标注的就是系统推荐版本,一般直接用它。

步骤2:安装推荐版本(一键安装)

# 方法A:安装所有推荐驱动(自动判断)

sudo ubuntu-drivers autoinstall

# 方法B:指定版本安装(推荐,更可控)

sudo apt install nvidia-driver-550

#或open内核模块版本

sudo apt install nvidia-driver-550-open

步骤3:重启系统

sudo reboot

步骤4:验证

nvidia-smi

#或者更详细的信息

nvidia-smi

方法三:从NVIDIA官网下载安装包(不推荐,但有时迫不得已)

官网提供.run格式的安装包,能装上但后患很多:

不受apt管理,内核更新后驱动可能失效

容易与系统的DKMS机制冲突

卸载麻烦

⚠️警告:除非apt方式实在装不上,否则不要用 .run文件安装。用了之后维护成本很高。

如果因为某些原因必须用.run文件,流程是:

# 1. 关闭图形界面(切换到纯命令行模式)

sudo systemctl set-default multi-user.target

sudo reboot

# 2. 禁用Nouveau(必须)

echo"blacklist nouveau" | sudotee /etc/modprobe.d/blacklist-nouveau.conf

echo"options nouveau modeset=0" | sudotee -a /etc/modprobe.d/blacklist-nouveau.conf

sudo update-initramfs -u

sudo reboot

# 3. 运行安装包(替换为你的文件名)

sudo sh NVIDIA-Linux-x86_64-550.54.15.run

# 4. 重启后恢复图形界面

sudo systemctl set-default graphical.target

sudo reboot

三种安装方式对比

方式

难度

稳定性

可维护性

推荐程度

图形界面(附加驱动)

⭐简单

⭐⭐⭐⭐⭐

⭐⭐⭐⭐⭐ apt管理

⭐⭐⭐⭐⭐首选

命令apt install

⭐⭐中等

⭐⭐⭐⭐⭐

⭐⭐⭐⭐⭐ apt管理

⭐⭐⭐⭐⭐等同首选

.run 官网安装包

⭐⭐⭐⭐复杂

⭐⭐⭐

⭐⭐不受apt管理

⭐迫不得已

安装前的重要准备

禁用安全启动(Secure Boot)

部分主板开启了安全启动(Secure Boot),会阻止未签名的内核模块加载,导致驱动装了也无法使用。

检查是否开启了Secure Boot:

mokutil --sb-state

输出SecureBoot enabled →需要处理

输出SecureBoot disabled →无需处理,跳过

处理方式(推荐A方式):

方式A:BIOS里直接关闭(最简单)

重启进入BIOS(开机按Del/F2/F12,具体看主板)

找到 "Security" → "Secure Boot" → 改为 Disabled

保存退出

方式B:为驱动签名(保留Secure Boot)

Ubuntu安装驱动时会自动提示生成MOK密钥,按提示设置密码,重启后在蓝色界面(MOK Manager)里选"Enroll MOK"输入密码确认即可。

确认当前用的是Nouveau还是已有NVIDIA驱动

lspci -k | grep -A3 "VGA\|3D"

输出里Kernel driver in use那行:

显示nouveau → 用的开源驱动

显示nvidia → 已装闭源驱动

版本选择快速决策表

显卡

推荐驱动

安装命令

RTX 40/50系

nvidia-driver-xxx-open

sudo apt install nvidia-driver-560-open

RTX 30系

nvidia-driver-xxx-open

sudo apt install nvidia-driver-550-open

RTX 20系

nvidia-driver-xxx-open

sudo apt install nvidia-driver-550-open

GTX 16系

nvidia-driver-xxx

sudo apt install nvidia-driver-550

GTX 10系

nvidia-driver-xxx

sudo apt install nvidia-driver-550

GTX 700/600系

nvidia-driver-470(legacy)

sudo apt install nvidia-driver-470

GTX 500/400系

nvidia-driver-390(legacy)

sudo apt install nvidia-driver-390

⚠️注意:上表中的版本号(如550、560)随时间变化。安装前先运行 ubuntu-drivers devices确认当前最新推荐版本,以实际输出为准。

常见报错速查

报错现象

原因

解决办法

安装后黑屏,无法进入桌面

驱动与桌面环境冲突

进入恢复模式(recovery mode)卸载驱动重装

nvidia-smi报"No devices found"

驱动没加载成功

lsmod | grep nvidia检查;可能需要禁用Secure Boot

装了驱动但lspci显示仍是nouveau

内核模块没刷新

sudo update-initramfs -u && sudo reboot

提示"The following packages have unmet   dependencies"

版本冲突或旧版本残留

sudo apt remove --purge nvidia-* && sudo apt   autoremove后重装

开机卡在"Loading initial ramdisk"

内核与驱动不兼容

进恢复模式,换装其他版本驱动

ubuntu-drivers autoinstall无输出或报错

ubuntu-drivers-common未安装

sudo apt install ubuntu-drivers-common

小结

要点

说明

日常使用装闭源驱动

Nouveau性能太差,只适合临时体验

优先用apt安装

图形界面或命令行都行,不要用.run

RTX 20系以上选open版

open内核模块更透明,兼容性更好

老卡查legacy版本

GTX 700系用470.x,GTX 500系用390.x

装前检查Secure Boot

开启了Secure Boot会导致驱动加载失败

装后必须重启

驱动加载需要重启,不重启不生效

⚠️注意:对于 Ubuntu 22.04 用户,软件源中的默认驱动可能很旧( 535 或 550 早期版本)。如果用户安装了最新显卡(如RTX 40系以上),直接 apt install 可能会提示找不到驱动或无法驱动。这种情况需要添加 graphics-drivers PPA 来获取新驱动。

下篇预告:《Linux NVIDIA驱动安装(下)》,我们聊一下两个进阶问题:

双显卡笔记本(Optimus):如何切换独显/核显,PRIME Offload怎么配

常见报错修复:黑屏救砖、驱动版本冲突、内核更新后驱动失效的完整修复流程

最新文章

随机文章