以下是“因眼睑闭合而进入睡眠状态”过程的开始:
Aug 01 21:43:29 wonderland systemd-logind[655]: Suspending...
Aug 01 21:43:29 wonderland kernel: NVRM nvAssertFailedNoLog: Assertion failed: 0 @ osapi.c:1800
Aug 01 21:43:29 wonderland systemd-logind[655]: Lid closed.
请注意,kernel
有关 NVidia 驱动程序方面某些断言失败的投诉...
之后一切都如预期顺利进行,系统确实进入睡眠状态。一旦我打开盖子,什么也没有发生,系统卡住了。
它看起来是这样的:
Aug 01 21:43:30 wonderland kernel: PM: suspend entry (deep)
Aug 01 21:43:30 wonderland systemd-sleep[7294]: Entering sleep state 'suspend'...
Aug 01 21:43:30 wonderland systemd[1]: Starting System Suspend...
Aug 01 21:43:30 wonderland systemd[1]: Reached target Sleep.
...就是这样:不再有警告或错误,实际上什么都没有。我绝对确信这是 NVidia 驱动程序的问题。驱动程序如下:
nvidia-open 535.86.05-3
nvidia-settings 535.86.05-1
nvidia-utils 535.86.05-2
关于这个漏洞最有趣的事实是它不是确定性的。有时盖子可以正常打开;有时则不能。这种情况在所有情况下发生的频率约为 50%。
systemd-analyze cat-config systemd/logind.conf
仅呈现未HandleLidSwitchDocked=suspend
注释的内容;不存在任何其他设置。
了解以下内容可能也有用:
lspci -k |lspci -k | grep -A 2 -E "(VGA|3D)"
01:00.0 VGA compatible controller: NVIDIA Corporation TU116M [GeForce GTX 1660 Ti Mobile] (rev a1)
Subsystem: Lenovo TU116M [GeForce GTX 1660 Ti Mobile]
Kernel driver in use: nvidia
现在的问题是。我被这个问题难住了。没有日志,没有警告,没有错误,只有一个神秘的违反断言。我该如何调试它?下一步该采取什么合理的步骤?