笔者使用的Ubuntu 22.04在更新系统后无法进入图形界面,开机后黑屏、白屏、仅有闪烁下划线或循环弹出登录,从开机显示的内容来看出现“Failed to start NVIDIA Persistence Daemon
”,但可以进入命令行界面正常登陆。
问题定位
首先笔者尝试使用nvidia-smi
命令查看NVIDIA显卡信息,但出现以下报错:
Failed to initialize NVML: Driver/library version mismatch
根据提示,应为显卡的内核模块和驱动模块版本不匹配,此时应当确定各自版本。
检查内核版本
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 545.29.06 Thu Nov 16 01:59:08 UTC 2023
GCC version: gcc version 12.3.0 (Ubuntu 12.3.0-1ubuntu1~22.04)
检查驱动版本
$ modinfo nvidia
……
version: 535.171.04
……
发现驱动版本为535,而内核版本为545,这一不同就是导致问题的原因。
解决办法
在定位到问题后,笔者决定将显卡驱动升级至与内核版本相同的545。
首先卸载原来的显卡驱动
sudo apt autoremove --purge nvidia-*
其次,查看所有可用的显卡驱动
$ sudo ubuntu-drivers devices
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-550 - third-party non-free
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-535-server - distro non-free
driver : nvidia-driver-418-server - distro non-free
driver : nvidia-driver-535 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
如果此处有目标版本的驱动程序,则可直接安装。若没有,需要加入NVIDIA显卡驱动PPA源:
sudo add-apt-respository ppa:graphics-drivers && sudo apt update
然后重新查看所有可用的显卡驱动,出现545版本“nvidia-driver-545”,使用apt命令进行安装:
sudo apt install nvidia-driver-版本 nvidia-settings nvidia-prime
安装完毕后,重启计算机,成功进入图形界面。
心情表态
+1
2
+1
+1
+1
+1
+1
应当强烈谴责随意自动更新驱动的厂家