从挂起状态唤醒后屏幕仍为空白

从挂起状态唤醒后屏幕仍为空白

因此,当我挂起我的笔记本电脑,然后稍后唤醒它时,我的笔记本电脑确实会打开,我能够例如使用 kepboard 调高或调低音量并通过音频确认,但我的屏幕仍然黑着,直到我重新启动笔记本电脑后才显示任何内容。

答案1

这又是 nouveau 驱动程序的问题。这解决了我的问题。编辑文件/etc/default/grub(使用 Vi 编辑器 - 有些用户在 Vi 中编辑后无法保存,不得不使用备用“Ex”编辑模式,该模式用下面的命令替换保存和退出命令sudo edit,然后Alt+:w和)。:x

$ sudoedit /etc/default/grub 

添加 nouveau.modeset=0 以下行GRUB_CMDLINE_LINUX

GRUB_CMDLINE_LINUX="nouveau.modeset=0"

然后按下CtrlO保存Enter文件并CtrlX离开编辑器。

跑步

$ sudo update-grub

现在重新启动。

答案2

这似乎是显卡驱动程序问题。
尝试Ctrl+ Alt+F3然后Ctrl+ Alt+ F2(可能是F7)这可能会打开显示器。
但这只是暂时的解决方案。

您可能需要持久的解决方案,然后您可以尝试升级或更改您的图形驱动程序,或者尝试@cascagrossa 的 grub 设置解决方案。

答案3

Ubuntu 21.10/22.04 NVIDIA 470/510nv_restore_user_channels错误

当我在 Lenovo ThinkPad P51 NVIDIA Quadro M1200 上升级到 Ubuntu 21.10 后,这个问题就开始出现了,根据内核跟踪,我发现这是一个确切的错误:https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-510/+bug/1946303我的重复调查:https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-510/+bug/1953674

为了轻松重现问题,我必须断开笔记本电脑的电源线,只使用电池。否则,问题只会偶尔发生,而且更常见的情况是挂起几个小时后。

解决方法:

  • 选项 1:错误报告链接到https://forums.developer.nvidia.com/t/fixed-suspend-resume-issues-with-the-driver-version-470/187150/3来自英雄用户 hummebee 的解决方法:

    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
    
    sudo mv /lib/systemd/system-sleep/nvidia ~/nvidia.bak
    

    然后重新启动。

    如果你核对它,其内容nvidia.bak如下:

    #!/bin/sh
    
    case "$1" in
        post)
            /usr/bin/nvidia-sleep.sh "resume"
            ;;
    esac
    

    该帖子给出了其根本原因:

    470 驱动程序迁移到 systemd 方法,而以前的版本依赖于内核驱动程序回调。显然这在某些设置和内核上存在问题。

  • 选项 2:放弃加速并清除 NVIDIA 中的所有内容:卸载所有 nvidia 软件包(dpkg -l | grep -i nvidiasudo apt uninstall),并清除其配置(sudo apt purge ...)。配置清除是根本,因为如选项 1) 所示,配置是问题的关键根源。

    请注意,即使像 NVIDIA 的 CUDA/OpenCL 包这样的非图形化的东西仍然会破坏一些东西,特别是在删除图形后我无法暂停,但保留它们,相关:Ubuntu 18.04.2 立即从挂起状态唤醒

  • 选项 3:如果您不关心 CUDA,则放弃 Nvidia 并购买 AMD GPU。我为什么要买一台带有独立 GPU 的笔记本电脑?我在 5 年内玩过 10 次 CUDA。如果您偶尔使用 CUDA,只需在 AWS 上租用 Nvidia GPU 即可。

很容易知道您是否遇到了同样的错误,只需在 dmesg 上查找以下堆栈跟踪即可。

因为您可能会关闭计算机并重新启动,所以您必须按照上一次启动的 dmesg 中查找它们Ubuntu 16.04+ 重启后如何查找以前的启动日志?

journalctl -b-1

这些痕迹是:

WARNING: CPU: 0 PID: 18016 at /var/lib/dkms/nvidia/510.47.03/build/nvidia/nv.c:3935 nv_restore_user_channels+0xce/0xe0 [nvidia]

Call Trace:
<TASK>
nv_set_system_power_state+0x22b/0x3e0 [nvidia]
nv_procfs_write_suspend+0xe9/0x140 [nvidia]
proc_reg_write+0x5a/0x90
? __cond_resched+0x1a/0x50
vfs_write+0xc3/0x250
ksys_write+0x67/0xe0
__x64_sys_write+0x19/0x20
do_syscall_64+0x61/0xb0
? exit_to_user_mode_prepare+0x37/0xb0
? syscall_exit_to_user_mode+0x27/0x50
? __x64_sys_newfstatat+0x1c/0x20
? do_syscall_64+0x6e/0xb0
? syscall_exit_to_user_mode+0x27/0x50
? do_syscall_64+0x6e/0xb0
? asm_exc_page_fault+0x8/0x30
entry_SYSCALL_64_after_hwframe+0x44/0xae
WARNING: CPU: 0 PID: 18016 at /var/lib/dkms/nvidia/510.47.03/build/nvidia/nv.c:4152 nv_set_system_power_state+0x2d0/0x3e0 [nvidia]

nv_procfs_write_suspend+0xe9/0x140 [nvidia]
proc_reg_write+0x5a/0x90
? __cond_resched+0x1a/0x50
vfs_write+0xc3/0x250
ksys_write+0x67/0xe0
__x64_sys_write+0x19/0x20
do_syscall_64+0x61/0xb0
? exit_to_user_mode_prepare+0x37/0xb0
? syscall_exit_to_user_mode+0x27/0x50
? __x64_sys_newfstatat+0x1c/0x20
? do_syscall_64+0x6e/0xb0
? syscall_exit_to_user_mode+0x27/0x50
? do_syscall_64+0x6e/0xb0
? asm_exc_page_fault+0x8/0x30
entry_SYSCALL_64_after_hwframe+0x44/0xae

我还看到以下 ACPI 错误:

ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.LPCB.EC.HKEY.DEVT.PEGS], AE_NOT_FOUND (20210331/psargs-330)

No Local Variables are initialized for Method [DEVT]

Initialized Arguments for Method [DEVT]:  (1 arguments defined for method invocation)
  Arg0:   00000000fe968048 <Obj>           Integer 00000000000000D3

ACPI Error: Aborting method \_SB.PCI0.LPCB.EC.HKEY.DEVT due to previous error (AE_NOT_FOUND) (20210331/psparse-529)

有关的:

答案4

如果在 Ubuntu 22.04.2 或任何使用 Wayland 的 Ubuntu 操作系统上

请参阅我的回答:Wayland 窗口管理器导致我的电脑停留在黑屏/空白屏幕且无法唤醒。我在此详细列出了 3 个修复方法,因此请先查看它们。

我也已经开始在我的个人网站上记录这些类型的问题和修复,这样我就可以跟踪它们,因为每次我升级到最新版本的 Ubuntu 时我自己都需要它们:修复 Linux Ubuntu 中视频驱动程序(及相关)问题的常用方法

最后的手段:在硬重启之前,让内核中断软重启过程

请记住:在按住电源按钮进行硬重启之前,您可以随时按照以下有趣的顺序进行软重启:

按住Ctrl+ Alt+ ,然后在按住前 3 个键的PrScr同时逐个按下以下键:REISUB

请注意,在某些(许多?)笔记本电脑/键盘上,该PrScr按钮可能需要您的功能键才能激活它,因此您可能必须在输入 REISUB 重启键序列时Fn按住Ctrl+ Alt+ PrScr+ 。Fn

我不记得我在哪里学到了这一点,但我几年前在 Ask Ubuntu 或 SuperUser 上从别人那里读到过。最后一个键“B”代表“B'oot”。因此,当您按下该键时,您的计算机将重新启动。

遇到任何 Linux 问题时,请记住这一点。仅当此软重启序列首先失败时才进行硬重启。

最后几点想法

  1. 如果您插入了 Yubikey,请将其拔下!它会将自己枚举为您的计算机的 USB 键盘,并且可能会出现“卡住的按键”或以其他方式干扰计算机的正常运行。我制作了一个名为“Computa Pranksta”的 USB 键盘设备,有时也会遇到类似的问题。
  2. 你可能遇到了硬件问题,因为我曾经在我的电脑上。要测试这一点,请启动 BIOS/UEFI 启动菜单并选择运行完整的硬件诊断测试套件(假设您的计算机出厂时有这样的选项)。它可能会发现坏的 RAM、坏的主板或其他问题。
  3. 此回答来自@Vijay Prema看起来很有希望,但不幸的是我没有遇到问题的计算机上的 BIOS 密码,所以我无法更改 BIOS 设置来查找。

相关内容