lala.im:记一次openSUSE Tumbleweed滚挂修复过程

運維技術·lala.im · 2021-02-23 · 119 人浏览

原文地址:https://lala.im/7733.html,請支持原作者!該處僅作轉載。

今天按照往常一样给这台openSUSE执行dup,完事之后没想到重启就挂了,进不去桌面环境了。。。
登录到tty里面去发现sddm和kde的进程都没起来,所以我猜测可能是nvidia的闭源驱动出问题了。
执行下面这个命令,检查一下n卡的驱动:

nvidia-smi

报错:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

基本就可以确定是n卡驱动炸了,所以现在要做的事情就是换回nouveau驱动。
先把闭源驱动卸载了,查看安装了哪些包:

sudo zypper se -i | grep nvidia

删除下面这两个包,第二个包是内核模块,理论上来说删除第一个包就可以了,但是这个内核模块的包最好也一起删掉,因为如果你后续要重新安装n卡驱动的话,这个内核模块没有卸载的话,它就不会把驱动重新编译到新的内核,这时候又会出问题。

sudo zypper rm x11-video-nvidiaG05
sudo zypper rm nvidia-gfxG05-kmp-default

之后删除屏蔽nouveau驱动的配置文件,让系统下次开机能够加载nouveau驱动:

sudo rm -rf /etc/modprobe.d/nvidia-default.conf

[重要]接下来还需要把xorg.conf删掉,因为这个配置文件是由nvidia-xconfig生成的,里面的配置依赖n卡驱动,现在驱动没了,里面的配置自然也不能生效,不删掉的话x11服务又起不来:

sudo rm -rf /etc/X11/xorg.conf

由于在之前我还启用了nvidia-drm,所以这里还需要把内核启动参数给删掉:

sudo nano /etc/default/grub

删掉如下行内的nvidia-drm.modeset=1:

GRUB_CMDLINE_LINUX_DEFAULT="nvidia-drm.modeset=1"

重新生成grub配置文件,使更改生效:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

经过上面这些步骤后,现在开机能够进到kde桌面了,算是勉强给修好了吧。。
不得不说用linux桌面的话,最好还是用A卡,这批N卡真的太闹心了,上次也是和内核不兼容,但是好歹我看到了相关公告,这次干脆啥公告都没有,直接就掉坑里去了。。
后续搜索了一下,发现我这次遇到的这个问题可能和这个人遇到的问题一样,只是猜测:
https://bugzilla.opensuse.org/show_bug.cgi?id=1182666
如果是这样的话,那这回这个锅就不一定是nvidia背了。。
最后在这里记录另一个和这无关的小问题,我在用这个tty的时候发现显示不了中文,曲线救国的办法是临时给它换成英文:

export LANG=en_US.UTF-8

查看是否生效:

locale

这样用zypper等工具的时候就可以显示英文了,至少能看懂,不至于都显示成方框了。

範例

運維技術 lala.im
Theme Jasmine by Kent Liao