令人抓狂的显卡驱动

引言

安装显卡驱动其实很简单

这篇文章主要记录了一次耗时一个多月的令人抓狂的显卡驱动安装过程（最后发现是显卡坏了），以及我在这个过程中的一些感悟

背景

书接上回，我在用 1500 元安装了一台电脑之后，为了能在我的深度学习导论课上使用我的服务器，我迫切需要一张计算卡，于是在海鲜市场下单了一张 P104-100，从此我的噩梦般的显卡装驱动之旅开始了

驱动安装过程

第一次尝试

在拿到显卡的第一时间，我直接尝试了 PPA 安装驱动，首先添加apt仓库

Copy
sudo add-apt-repository ppa:micahflee/ppa
sudo apt update

然后使用ubuntu-drivers命令安装推荐的驱动

Copy
❯ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0 ==
modalias : pci:v000010DEd00001B87sv000010DEsd00001237bc03sc02i00
vendor : NVIDIA Corporation
model : GP104 [P104-100]
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-390 - distro non-free
driver : nvidia-driver-545 - third-party non-free
driver : nvidia-driver-525 - distro non-free
driver : nvidia-driver-535-server - distro non-free
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-525-server - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-535 - distro non-free recommended
driver : nvidia-driver-418-server - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin

可以看到推荐的是nvidia-driver-535，直接安装

Copy
sudo apt install nvidia-driver-455
sudo reboot

或者使用

Copy
sudo ubuntu-drivers autoinstall

也可以达到上面的效果

这时显卡驱动安装过程理应结束了，现在可以正常使用这张显卡（事实证明，如果显卡是好的确实是这样），但是我在运行Nvidia-smi之后却报错了

Copy
❯ nvidia-smi
No devices were found

在进行搜索后发现可能是主板的问题，于是我检查主板，设置 CPU 集显为默认显卡，同时检查Above 4G Decoding选项处于开启状态，但是并没有解决问题。所以我进一步怀疑是此方法安装的驱动与矿卡不兼容

第二次尝试

我卸载了原先安装的驱动，到英伟达官网下载了 GTX1080 的.run版本驱动。这个版本的驱动安装过程比较麻烦，需要屏蔽Nouveau这一开源显卡驱动并且关闭图形界面，否则会出现开机黑屏的现象。但是这个驱动也没有用，仍然显示No devices were found

第三次尝试

我选择直接安装 Cuda，然后在安装 Cuda 时勾选自动安装显卡驱动的选项。这样做的好处是 Cuda 和驱动一起安装省时省力，同时不需要自己屏蔽开源驱动和关闭图形界面，简化了安装流程。然而这个方法还是没凑效😴

第四次尝试

我尝试了 Manjaro 和 Windows 系统的多种方法安装驱动，同样会有各种报错

分析问题

我并没有第一时间怀疑显卡出了问题，因为海鲜市场奸商在发货前承诺卡进行了压力测试。

我在英伟达的社区上提问寻找解决方法，但是并没有人回应我

我翻遍英伟达社区相似问题的回答，尝试了其中给出的方法都没有解决我的问题，于是我仔细研读驱动安装日志，发现其中有RmInitAdapter failed!这样一行，在反复对比网上的相似问题后，我意识到可能是显卡有问题了，于是在某宝上重新下单了一块显卡，采用 Cuda 和显卡驱动捆绑安装的方式，一下子就好了！

终于出现了美妙的nvidia-smi输出

总结

至此，这张显卡已经可以正常使用了。我想说，在海鲜市场明显是贩子的人手中卖硬件不能盲目相信他所谓的已经进行过测试，在发现问题时应该多怀疑硬件的问题😅，不要把宝贵的时间花在排查其他问题，结果最后发现是硬件坏了。同时，在测试完好之前不要拆开显卡，我一拿到手拆开检查了一下显卡硅脂状态，破坏了保修贴纸，在发现这张显卡是坏的时候就没法退货了，只能当坏卡卖了