安装 linux-generic-5.16 后,Nvidia 版本 495.46 显示驱动程序未加载。我使用 删除了一些较旧的内核模块sudo apt autoremove
。我使用的显卡是 NVIDIA GeForce RTX 2080 Ti Rev。以下是dmesg
sudo dmesg | grep nvidia
[ 0.619407] nvidia-gpu 0000:01:00.3: enabling device (0000 -> 0002)
[ 3.869919] audit: type=1400 audit(1642964710.963:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=947 comm="apparmor_parser"
[ 3.869921] audit: type=1400 audit(1642964710.963:8): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=947 comm="apparmor_parser"
并且安全启动已从 UEFI 配置中禁用。主板型号为ROG STRIX Z490-I GAMING
答案1
实际上刚刚测试了 5.16。我之前在 Nvidia 尚未完全支持的其他内核上也遇到过这种情况,而且很难修复,但这次很容易解决。
/usr/src/nvidia-495.46/nvidia-uvm/uvm_migrate_pageable.c
以 root 身份在您选择的编辑器中打开(我选择nano
)。- 搜索
MIGRATE_PFN_LOCKED
。您将发现两处代码| MIGRATE_PFN_LOCKED
在行末读取的情况。 - 只需删除这些短语。保留行的其余部分,并保留行末的分号。获取两者,保存并退出编辑器。
- 通过编译
sudo dkms autoinstall
— 现在应该没有错误了。 - 重启至 Ⓥictory
我从社区补丁已发布在 nvidia 论坛上,但复制和粘贴比打开文件并手动编辑要困难得多。请使用该帖子作为参考,了解您最终应该得到的结果。