NVIDIA 驱动更新后 Ubuntu 立即从睡眠中唤醒

Min*_*raf 5 nvidia suspend nouveau drivers 20.04

我的显卡使用的是 Nouveau X.org 驱动程序,但今天我从 Ubuntu 中的“附加驱动程序”程序将驱动程序更改为 nvidia-driver-470(专有且经过测试)。\n一切都很好,除了每当我暂停我的笔记本电脑,它会立即自行唤醒。

\n

以下是以下命令的输出:

\n
journalctl -b | grep suspend\n
Run Code Online (Sandbox Code Playgroud)\n

输出是

\n
Sep 24 22:26:38 minaHP ModemManager[1527]: <info>  [sleep-monitor] system is about to suspend\nSep 24 22:26:39 minaHP systemd[1]: Starting NVIDIA system suspend actions...\nSep 24 22:26:39 minaHP suspend[518255]: nvidia-suspend.service\nSep 24 22:26:39 minaHP logger[518255]: <13>Sep 24 22:26:39 suspend: nvidia-suspend.service\nSep 24 22:26:39 minaHP systemd[518256]: nvidia-suspend.service: Failed to execute command: No such file or directory\nSep 24 22:26:39 minaHP systemd[518256]: nvidia-suspend.service: Failed at step EXEC spawning /usr/bin/nvidia-sleep.sh: No such file or directory\nSep 24 22:26:39 minaHP systemd[1]: nvidia-suspend.service: Main process exited, code=exited, status=203/EXEC\nSep 24 22:26:39 minaHP systemd[1]: nvidia-suspend.service: Failed with result 'exit-code'.\nSep 24 22:26:39 minaHP systemd[1]: Failed to start NVIDIA system suspend actions.\nSep 24 22:26:39 minaHP systemd[1]: suspend.target: Job suspend.target/start failed with result 'dependency'.\nSep 24 22:26:39 minaHP systemd[1]: systemd-suspend.service: Job systemd-suspend.service/start failed with result 'dependency'.\nSep 24 22:26:39 minaHP suspend[518257]: nvidia-resume.service\nSep 24 22:26:39 minaHP logger[518257]: <13>Sep 24 22:26:39 suspend: nvidia-resume.service\n
Run Code Online (Sandbox Code Playgroud)\n

如果有人能告诉我如何解决这个问题而不将驱动程序改回 Nouveau,那就太好了。

\n

这是另一个命令及其输出(如果有帮助的话)

\n
mina@minaHP:~$ systemctl status nvidia-suspend nvidia-hibernate nvidia-resume\n\xe2\x97\x8f nvidia-suspend.service - NVIDIA system suspend actions\n     Loaded: loaded (/lib/systemd/system/nvidia-suspend.service; enabled; vendor preset: enabled)\n     Active: failed (Result: exit-code) since Fri 2021-09-24 22:26:39 EET; 12min ago\n    Process: 518255 ExecStart=/usr/bin/logger -t suspend -s nvidia-suspend.service (code=exited, status=0/SUCCESS)\n    Process: 518256 ExecStart=/usr/bin/nvidia-sleep.sh suspend (code=exited, status=203/EXEC)\n   Main PID: 518256 (code=exited, status=203/EXEC)\n\nSep 24 22:26:39 minaHP systemd[1]: Starting NVIDIA system suspend actions...\nSep 24 22:26:39 minaHP suspend[518255]: nvidia-suspend.service\nSep 24 22:26:39 minaHP logger[518255]: <13>Sep 24 22:26:39 suspend: nvidia-suspend.service\nSep 24 22:26:39 minaHP systemd[518256]: nvidia-suspend.service: Failed to execute command: No such file or directory\nSep 24 22:26:39 minaHP systemd[518256]: nvidia-suspend.service: Failed at step EXEC spawning /usr/bin/nvidia-sleep.sh: No such file or directory\nSep 24 22:26:39 minaHP systemd[1]: nvidia-suspend.service: Main process exited, code=exited, status=203/EXEC\nSep 24 22:26:39 minaHP systemd[1]: nvidia-suspend.service: Failed with result 'exit-code'.\nSep 24 22:26:39 minaHP systemd[1]: Failed to start NVIDIA system suspend actions.\n\n\xe2\x97\x8f nvidia-hibernate.service - NVIDIA system hibernate actions\n     Loaded: loaded (/lib/systemd/system/nvidia-hibernate.service; enabled; vendor preset: enabled)\n     Active: inactive (dead)\n\n\xe2\x97\x8f nvidia-resume.service - NVIDIA system resume actions\n     Loaded: loaded (/lib/systemd/system/nvidia-resume.service; enabled; vendor preset: enabled)\n     Active: failed (Result: exit-code) since Fri 2021-09-24 22:26:39 EET; 12min ago\n    Process: 518257 ExecStart=/usr/bin/logger -t suspend -s nvidia-resume.service (code=exited, status=0/SUCCESS)\n    Process: 518258 ExecStart=/usr/bin/nvidia-sleep.sh resume (code=exited, status=203/EXEC)\n   Main PID: 518258 (code=exited, status=203/EXEC)\n\nSep 24 22:26:39 minaHP systemd[1]: Starting NVIDIA system resume actions...\nSep 24 22:26:39 minaHP suspend[518257]: nvidia-resume.service\nSep 24 22:26:39 minaHP logger[518257]: <13>Sep 24 22:26:39 suspend: nvidia-resume.service\nSep 24 22:26:39 minaHP systemd[518258]: nvidia-resume.service: Failed to execute command: No such file or directory\nSep 24 22:26:39 minaHP systemd[518258]: nvidia-resume.service: Failed at step EXEC spawning /usr/bin/nvidia-sleep.sh: No such file or directory\nSep 24 22:26:39 minaHP systemd[1]: nvidia-resume.service: Main process exited, code=exited, status=203/EXEC\nSep 24 22:26:39 minaHP systemd[1]: nvidia-resume.service: Failed with result 'exit-code'.\nSep 24 22:26:39 minaHP systemd[1]: Failed to start NVIDIA system resume actions.\n
Run Code Online (Sandbox Code Playgroud)\n

小智 4

出现这些错误是因为您必须安装NVIDIA-{suspend/hibernate/resume} 服务

像这样的东西:

sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia-suspend.service /etc/systemd/system
sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia-hibernate.service /etc/systemd/system
sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia-resume.service /etc/systemd/system
sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia /lib/systemd/system-sleep
sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia-sleep.sh /usr/bin
Run Code Online (Sandbox Code Playgroud)

systemd然后需要启用NVIDIA服务:

sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-hibernate.service
sudo systemctl enable nvidia-resume.service
Run Code Online (Sandbox Code Playgroud)

重新安装 NVIDIA 驱动程序应该会有所帮助。