如何优雅地在ubuntu中安装nvidia驱动

如何优雅地在ubuntu中安装nvidia驱动

对于很多新手而言,在装完ubuntu后总是苦恼于安装驱动,一方面是自己没有经验,另一方面则是受限于网络上参差不齐的教程,在不懂的情况下一味复制粘贴,只会让情况变得更糟。本文将对ubuntu的几种驱动安装方式进行梳理,希望能让新手少走一些弯路。

在介绍之前,你需要先搞清楚一些东西是啥,不然你可能会看的一头雾水,比如nvidia专有驱动的版本有什么含义,nouveau又是啥?为什么要禁用?

首先是nouveau,众所周知,早先nvidia死活不愿意开源自己家的驱动程序,加之当年也确实对Linux不太上心,很多显示的特性也不支持,于是从理念和实用的角度来讲看,一群工程师就逆向了nvidia的驱动,创建了nouveau这个项目。开始的老卡并不太复杂,多少还是可以用的,随着时间的推移,显卡的架构也变得越来越复杂,功能也逐渐繁多,这个项目也渐渐力不从心了,很多新一些的卡就会有各种稀奇古怪的问题。它的作用,一般也就仅限于亮机,安装完成一般就很少有人用了,除非你是坚定的自由软件主义者。

前段时间,nvidia被迫开放了自己家的部分驱动源代码(其实是被黑客黑入,黄老爷不想体面,那自然有人帮他体面),所以你可能也会看到有带open字样的驱动,但这和上文的那个并不是一个东西,请不要搞混。

关于版本号,nvidia一般会有如下情况:

除非你是特别老的显卡,一般直接安装上图的驱动版本即可。产品分支,即对应最新的稳定版驱动,如果你想尝试一些新功能那就装新功能分支。

一、Ubuntu-drivers

几乎所有的主流发行版都会在自己发布的版本仓库里维护一份nvidia驱动,只不过由于法律和理念问题,一般不会直接启用,需要用户自行启用并安装。

Ubuntu当然也不例外,而且,作为Debian的下游发行版,它默认就启用了这个源,并且允许用户轻松在各驱动版本之间切换,这个实现的工具就叫ubuntu-drivers,通过该工具可以自动识别显卡型号,并自动安装对应的驱动包。

它的用法如下:

# 列出远程仓库里支持的驱动
sudo ubuntu-drivers list

不出意外的话,你会看到有不少版本的驱动,比如525,535,545之类的。还会有open,server这样的后缀。尽量不要装带open的,这些功能并不完整,一般nvidia-driver-5x就好了。

比如我想要装545版的驱动,那安装命令就是:

sudo ubuntu-drivers install nvidia-driver-545

或者直接用apt,没错,其实ubuntu-drivers最后还是要调用apt的

你也可以直接:

sudo apt install nvidia-driver-545

效果是一样的。

或者干脆:

sudo ubuntu-drivers autoinstall

它会自动识别并安装匹配的驱动版本。

不过,需要注意的是,使用这个方案要注意自己设备的发布日期和系统版本,比如你使用的是20.04,电脑又是24年发布的,那里面的驱动就很老旧了,比如515这个老驱动里可能就没有你的显卡,装上后就可能会黑屏。

ubuntu的20,22,24就是发布的年份,04,10则是当年的月份,你可以自行判断。

如果没有支持的版本,那就要看第二步了。

二、使用PPA源

PPA是Debian系列的一大特色,你可以通过它来添加一些第三方的远程仓库,这样就可以通过apt来直接安装了。既然是deb包,nvidia那边自然也有打包,你可以直接添加他们的源来启用新版本的显卡驱动。

打开你的终端,输入:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

这时候你再执行sudo ubuntu-drivers list时,就能看到有最新的驱动了。比如原先只有525,现在你可以看到550了,安装方式与上文一样,你只需要把包名换成新的就好了。

不过需要注意的是,驱动和你的内核版本还是有些相关的,你可能会因为内核的版本问题而无法安装。

三、直接下载run文件安装

这个方案一般不推荐,实际上nvidia自己也不是很推荐,当然,如果你一定要用,也不是不行。

版本也是遵循上面说的,你可以直接在这里下载:

https://www.nvidia.cn/drivers/unix/

注意下载后,把它放到你的~/

并重命名为1.run,不然你在tty下可能会面临无法输入的困境。

# 安装所需要的编译依赖(也许已经装了)
sudo apt install build-essential
# 执行完成后,关掉gui
sudo init 3
# 输入你的用户名和密码,登陆后就可以执行安装程序了
sudo ./1.run
# 最后按提示一步步进行就好了
注意,32位的库需要装,如果要求更新X配置文件,请不要更新。
# 提示完成后输入
sudo reboot 
# 重启后输入
nvidia-smi

如果能看到显卡型号和支持的cuda版本,那就安装成功了。

四、卸载

如果你搞砸了,亦或是其它原因想要卸载。另外请注意,如果要切换版本,也要先卸载之前的版本!

对于包管理器安装的:

sudo apt purge nvidia*
sudo apt autopurge

run文件:

sudo ./1.run --uninstall

感谢阅读,祝你好运!

扫码_搜索联合传播样式-标准色版-jwgq.png

LICENSED UNDER CC BY-NC-SA 4.0