Debian 13 安装最新内核之后 Nvidia 驱动构建失败

最近 linux 更新到了 6.12.100 版本。运行 sudo apt update && sudo apt upgrade 之后,出现了下面的输出:

dpkg: error processing package linux-headers-amd64 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-6.12.100+deb13-amd64
 linux-image-amd64
 linux-headers-6.12.100+deb13-amd64
 linux-headers-amd64
Error: Sub-process /usr/bin/dpkg returned an error code (1)

在构建日志里出现了下面的内容(经过缩减):

/.../nv-pci.c: In function ‘nv_resize_pcie_bars’:
/.../nv-pci.c:237:9: error: too few arguments to function ‘pci_resize_resource’
  237 |     r = pci_resize_resource(pci_dev, NV_GPU_BAR1, requested_size);
      |         ^~~~~~~~~~~~~~~~~~~

相同的问题(pci_resize_resource 接口改变)也在今天凌晨被报道过,详见 DebBugs: 1143204


有遇到相同问题的朋友们吗?

附一些系统信息:

  • 显卡型号:NVIDIA GeForce RTX 3050 Mobile
  • Nvidia 驱动:Debian Packaged,Open Flavor,550.163.01-2

是不是应该先升级显卡驱动,再更新内核,这2天刚好碰到类似问题,这边是debian stable先更新到backports新内核,再更新virtualbox就会有这个问题,先更新virtualbox再更新内核就没问题,ai给出的解释是要先更新virtualbox,新的vbox支持最新内核,再更新内核,dkms会自动重新编译第三方模块。显卡驱动也是需要dkms重新编译相关模块的吧。但是你这内核应该没跨大版本吧,情况又不一样

trixie 里的显卡驱动一直是 550 版本,而且我也没有启用 backports 源,所以应该不是升级顺序的问题。

显卡驱动确实需要 dkms 自动重新编译,我这里就是编译的过程出现问题了。Debian Bugs 链接也能说明这一点。因此我也更倾向于认为是驱动本身的问题。

目前我手动指定了内核版本作为权宜之计,链接里也是如此:

Workaround

Staying on 6.12.96+deb13-amd64, with linux-image-amd64 and
linux-headers-amd64 held, until a fixed driver is available.

反正我前面更新到backports的最新内核没报错,后面再更新vbox也报你这个错误。那你这个应该是因为这次内核更新了,导致dkms无法重新编译nvidia驱动,需要等待nvidia驱动更新了,nvidia的驱动最近更新是25年7月,本质也是跟vbox一样旧版本驱动不支持最新内核。stable竟然会碰到这种问题,测试不太行吧,或者测试在sid或者testing的nvidia驱动新一点,没这个问题,反正stable下大概没好好测试或者维护内核的是不是不用nvidia,没发现这个问题。。。你用sid或者testing的nvidia驱动可能就没这问题了

感谢,不过 sid 的版本应该也有问题。报告的缺陷版本是:

  • 550.163.01-4:Sid
  • 550.163.01-2:Trixie
  • 550.163.01-4~bpo13+1:Trixie Backports

所以目前应该只能等修复 :laughing: