打CS2才发现的,刚开始只是注意到Fedora41 开机时短暂提示内核模块missing ,cs2 FPS明显下降特别是丢烟雾弹后直接卡成PPT,执行nvdia-smi还出现:
NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.
reinstall驱动包后问题依旧。

查找原因

dmesg发现

[    7.518706] nouveau 0000:01:00.0: drm: [DRM/0000000b:kmsOutp] [BL_GET level:0] (ret:-22)
[    7.518772] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.GP17.VGA.LCD._BCM.AFN7], AE_NOT_FOUND (20240827/psargs-332)
[    7.518777] ACPI Error: Aborting method \_SB.PCI0.GP17.VGA.LCD._BCM due to previous error (AE_NOT_FOUND) (20240827/psparse-529)
[    7.518785] ACPI: \_SB_.PCI0.GP17.VGA_.LCD_: _BCM evaluation failed
[    7.519362] acpi device:3c: registered as cooling_device16
[    7.519507] [drm] Initialized nouveau 1.4.0 for 0000:01:00.0 on minor 0
[    7.534093] fbcon: nouveaudrmfb (fb0) is primary device
[    7.534095] fbcon: Deferring console take-over
[    7.534098] nouveau 0000:01:00.0: [drm] fb0: nouveaudrmfb frame buffer device
[   11.213679] Bluetooth: RFCOMM TTY layer initialized
[   11.213687] Bluetooth: RFCOMM socket layer initialized
[   11.213691] Bluetooth: RFCOMM ver 1.11
[   12.887666] Loading of module with unavailable key is rejected

这时候又回想起昨天跑ai00server性能有折损,在BIOS发现被独显直连被调成了混合模式。初步怀疑BIOS被重置过。

确定问题

问了问维修师傅换显存的时候BIOS电池拆掉了,瞬间明白怎么回事了,肯定是之前安装n卡驱动的时候导入的签名随着CMOS掉电没了。

开始修复

重新导入即可,遂查找history找到了当时安装和导入签名的操作。


   89  sudo dnf install akmod-nvidia
   90  sudo dnf install xorg-x11-drv-nvidia-cuda
   91  sudo dnf install kmodtool akmods mokutil openssl
   92  sudo kmodgenca -a 
   93  sudo mokutil --import /etc/pki/akmods/certs/public_key.der
   94  modinfo -F version nvidia

让ChatGPT给诸位加上注释方便理解:

# 安装 NVIDIA 驱动的动态内核模块 (akmod-nvidia)。
sudo dnf install akmod-nvidia

# 安装 NVIDIA CUDA 驱动组件,提供对 CUDA 应用的支持。
sudo dnf install xorg-x11-drv-nvidia-cuda

# 安装必要的工具:kmodtool 和 akmods 用于驱动模块生成,
# mokutil 用于管理安全启动密钥,openssl 用于生成证书。
sudo dnf install kmodtool akmods mokutil openssl

# 生成用于签名的密钥对,包括私钥和公钥,存储在 /etc/pki/akmods/certs/ 目录中。
sudo kmodgenca -a 

# 将生成的公钥 (public_key.der) 导入到安全启动的 MOK 数据库,
# 导入后会提示设置密码,稍后用于在系统重启时完成密钥的注册。
sudo mokutil --import /etc/pki/akmods/certs/public_key.der

# 检查 NVIDIA 驱动模块的版本信息,验证驱动是否安装成功。
modinfo -F version nvidia

这里要注意,我们的驱动已经被之前生成的密钥对签名过了,我们要干的只是重新把密钥导入可信列表
仅需要重复sudo mokutil --import /etc/pki/akmods/certs/public_key.der
即可,千万不要重新生成!
执行后两次输入你要设置的验证密码,重启并选择导入再输入刚设置的验证密码。

后记

为了缓解N卡在运行AI时对显示输出的压力,我最终把A卡也启用了,也就是关掉了独显直连。
会出现奇奇怪怪的问题,故恢复dGPU mode

sudo dnf swap mesa-va-drivers mesa-va-drivers-freeworld
sudo dnf swap mesa-vdpau-drivers mesa-vdpau-drivers-freeworld

标签: none

仅有一条评论

  1. 技术文,不明觉历。

添加新评论