因此,据我所知,这里已经有成百上千个“无法暂停”的问题,但我一直在深入研究它们,并且没有一个提出的解决方案可行,所以我来了。
我有一台 HP Envy x360,它已经运行 Ubuntu 18.04 一年了。上周,它开始出现问题,设备无法再正确挂起。具体来说,当我挂起设备然后尝试再次唤醒它时,它只显示黑屏(没有光标或任何东西),而且我所做的任何事情都不会影响显示,除非切断电源并重新启动设备。通过以下任何一种方法挂起都会产生相同的结果
- 使用主菜单中的“暂停”选项
- 合上笔记本电脑盖
- 只需等待半小时,设备就会自动暂停
该设备实际上没有正确挂起;这不仅仅是一个视频问题,因为CTRL+ ALT+F1等都没有效果,而且在拙劣的唤醒后我也无法通过 ssh 进入该设备。即使设备据称已挂起,设备的电源 LED 仍保持亮起。
/sys/power/mem_sleep
内容:
[s2idle]
相关条目来自/var/log/kern.log
:
Mar 27 15:51:33 silvenvius kernel: [ 1580.034024] wlo1: deauthenticating from 08:02:8e:d1:5f:90 by local choice (Reason: 3=DEAUTH_LEAVING)
Mar 27 15:51:33 silvenvius kernel: [ 1580.178236] PM: suspend entry (s2idle)
(是的,就是这样。接下来的条目来自我强制关闭它之后的重启)
我还应该指出,在修复此问题的过程中,我格式化了磁盘并从 USB 重新安装了 Ubuntu,但无济于事。因此,我目前正在运行一个全新的 Ubuntu,它出现了这个问题,而之前没有出现过这个问题。
我尝试过但不起作用的方法:
- 切换
gdm3
自lightdm
。 - 安装
xscreensaver
或者gnome-screensaver
。 nouveau.modeset=0
在/etc/default/grub
(尽管我使用的是英特尔显卡,所以我没想到这个能做什么)。- 黑名单
amdgpu
。 - 升级到 Ubuntu 19.10。
- 要求设备使用“深度”暂停
echo deep >/sys/power/mem_sleep
(当然,需要适当的 sudo 权限)。 - 正在卸载
light-locker
(一开始就没有安装)。 - 更新内核(我的已经是最新的了)。
- 重新格式化光盘并重新安装 Ubuntu 18.04。
但是,如果我从 Ubuntu 18.04.4 LiveUSB 启动,暂停就可以工作。??
我这里的选择已经不够了,我的“从头开始重新安装”这个核选项已经失败了,所以任何关于如何调试和理想地解决这个问题的进一步建议都将不胜感激。
答案1
我也遇到了同样的问题,虽然还没有解决,但问题已经缩小了。我希望这个解释以及其中提供的技术关键词可以帮助更多人识别发生了什么。
TL;DR:在某些“现代”硬件上,BIOS 不再报告经典的“S3/suspend-to-ram”电源状态,而是采用 Microsoft 独有的新功能“modern suspend”(也称为“S0ix”或“s2idle”)。
此外:AMDGPU 图形驱动程序中存在恢复问题
对于第一个问题(缺少 S3 支持),唯一的恰当的解决这个问题的方法是笔记本电脑制造商发布更新的 BIOS,允许在“现代 Windows 10”和“经典 S3”之间切换挂起模式。(微软指定的现代挂起方式与经典深度睡眠是互斥的,BIOS 无法同时宣传两者)
该问题的物理症状是,进入挂起状态后,电源 LED 不会开始闪烁,而只是保持亮着。
通过在启动期间提供更新的 BIOS 表,可以采取一些变通方法。但是,这是一个不简单的过程,如果操作不当,可能会永久损坏硬件。(我目前正在考虑是退回笔记本电脑还是尝试此方法)
第二个问题是,在某些情况下/许多情况下,AMDGPU 会在恢复时挂起。如果您的笔记本电脑成功进入挂起状态(电源 LED 闪烁),但唤醒机器后屏幕没有重新亮起,则您遇到了这个问题。在这种情况下,您应该仍然能够通过 SSH 进入机器。如果您可以通过 SSH 进入机器,dmesg
日志中将充斥着数十条类似以下的错误
[ 746.326429] [drm:amdgpu_job_run [amdgpu]] *ERROR* Error scheduling IBs (-22)
[ 746.326444] amdgpu 0000:04:00.0: couldn't schedule ib on ring <sdma0>
您可以使用以下命令来确定问题是否是缺少 S3 支持,这些命令查询内核在启动期间识别出的挂起模式:
dmesg | grep -i acpi | grep supports
[ 0.417055] ACPI: (supports S0)
如您所见,在我的 Envy x360 上,“S3”/suspend-to-ram 缺失。(S4/suspend-to-disk 也是如此)
cat /sys/power/mem_sleep
[s2idle]
我们希望“ deep
”条目也存在。[]
指示哪个状态是默认状态。
这里有更多信息,包括在启动时强制覆盖 ACPI 表的解决方法。
- Arch 论坛:HP Envy x360 没有可用的 S 状态
- [已解决] 联想 X1C6 / X1Y3 (2018):没有深度睡眠(S3)?(ThinkPad上也有同样的问题,有详细步骤)
- 内核睡眠状态文档,解释了不同的 S 级别(S3、S4、S0)