笔记本电脑无法从睡眠状态唤醒 Ubuntu 21.10

笔记本电脑无法从睡眠状态唤醒 Ubuntu 21.10

几个月前,我在联想 Yoga 6 上安装了 Ubuntu 21.10。在过去的几周内,笔记本电脑无法从睡眠状态唤醒,我必须按住电源按钮才能将其关闭并重新启动。

我该如何解决此问题?

是否有特定的配置需要查看,这些配置可能随着最近的操作系统更新而发生变化?最近的 Windows 更新是否对硬件进行了调整,从而导致了这种情况?(我曾发现 Windows 可以设置硬件级别设置,导致 Ubuntu 在重启时出现严重问题。)

相关帖子关注的是旧版本的 Ubuntu,建议降级内核可能会有所帮助。如果可能的话,我想避免这种情况。

谢谢您的指点。

答案1

经过进一步搜索,我发现了一个Gentoo 论坛上的主题来自一位和我遇到同样问题的用户。他们降级到较旧的内核,并以这种方式解决了他们的问题。

我尝试做同样的事情,从 5.13.0-28-generic 降级到 5.13.0-27-generic。旧内核再次允许我的笔记本电脑从睡眠状态唤醒。

我将继续使用这个旧内核,直到未来的内核版本修复导致 Ubuntu 与这台笔记本电脑配对时失去睡眠支持的问题。我仍然不知道问题是什么,也不知道除了继续搜索各种论坛以期找到有同样问题的人之外的好的故障排除选项。

答案2

我遇到了同样的问题,尝试了 Kubuntu 提供的所有驱动程序版本:390、470 和 510。它们都没有解决这个问题。经过一番挖掘,我在一个在 Nvidia 论坛上发帖

似乎 470 驱动程序开始使用 Systemd 来处理睡眠,但它存在缺陷。对我有用的修复方法是:

禁用 Nvidia Systemd 服务

sudo systemctl stop nvidia-suspend.service
sudo systemctl stop nvidia-hibernate.service
sudo systemctl stop nvidia-resume.service

sudo systemctl disable nvidia-suspend.service
sudo systemctl disable nvidia-hibernate.service
sudo systemctl disable nvidia-resume.service

删除 Nvidia Systemd 脚本

sudo rm /lib/systemd/system-sleep/nvidia

最后,重新启动。

注意:此修复对我的 470 驱动程序有效,我没有升级到 510 驱动程序,所以我不知道这些更改是否适用于该版本。

答案3

我遇到了同样的问题:

  • 联想 Yoga 6 13ALC6 – 配备 AMD 处理器和显卡芯片(带 Radeon 的 Ryzen 5 5500u)
  • Ubuntu 20.04 LTS
  • 内核版本 5.13.0-52-generic

我按照这条 Reddit 评论,复制为下面的块引用,用于访问 UEFI 菜单中高级设置。原始帖子是关于 Yoga 9i 的,但由于它适用于 Yoga 6,我怀疑它也适用于几种类似的 Yoga 型号。方括号内的文字是我的。

  1. 确保一键电池已关闭。[这可以从普通 UEFI 菜单访问,开机后按住 F2 或 Fn+F2 即可进入。为了保险起见,我还已禁用安全启动禁用热键模式。后者启用后,意味着您必须按住 Fn 键才能使用功能键,这可能不适用于以下步骤。

  2. 启动到 uefi [即按住 F2 然后],按电源按钮将其关闭

  3. (在笔记本电脑关闭时按下这些键;您可以用手指滑动以加快速度)

    F1 1 Q A Z F2 2 W S X F3 3 E D C F4 4 R F V F5 5 T G B F6 6 Y H N
    
  4. 按下电源按钮并按 F2 启动到 uefi [显然,此时快速反复按 F2 很重要,而不像以前那样只是按住不放。]

  5. 它应该显示带有所有选项的调试 bios(所有选项)

进入高级菜单后,我导航到“AMD PBS”选项卡,然后向下导航到“S3/现代待机支持”设置。我将其从“现代待机启用”更改为“S3 启用”。显然,“现代待机”是特殊硬件模式现代 Windows 用于睡眠,但常规 Linux 固件/内核/驱动程序/无论什么只支持标准“S3”模式。

然后我的系统就可以通过打开盖子或按下电源按钮从挂起状态唤醒。希望这能有所帮助。

答案4

我遇到了同样的问题,所以我编辑/etc/default/grub并更改GRUB_CMDLINE_LINUX=""

GRUB_CMDLINE_LINUX="acpi_enforce_resources=lax i915.enable_dc=0 intel_idle.max_cstate=1"

这对我有用。

相关内容