对于很多新手而言,在装完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
感谢阅读,祝你好运!