如果笔记本电脑盖关闭,则在挂起后无法正确检测到 HDMI 显示器

ist*_*iuk 5 debian wayland kms i915 drm

当我的戴尔 XPS 15 9570 笔记本电脑打开时,正确检测到插入 HDMI 端口的显示器。拔下显示器也可以正常工作。

但是,当通过短暂地打开盖子从暂停中唤醒时,HDMI 端口不会重新配置。在暂停时插入的任何内容在恢复后仍被视为已连接。

这意味着保留先前插入的监视器的分辨率,如果监视器期望不同的分辨率,则会导致新监视器上的“不支持的分辨率”。在这种情况下,重新连接新显示器可解决此问题。

我还没有弄清楚到底是怎么做的,但是在暂停或恢复后打开盖子似乎会改变这种行为。

如何在恢复时强制再次扫描 HDMI 端口?或以其他方式解决这个烦人的问题。

更多上下文:

  • 双 GPU,使用中的集成 Intel UHD 630 (i915)
  • 禁用独立 nvidia GPU,未加载专有驱动程序
  • Debian 10(破坏者)
  • Linux 4.19.0-2: nouveau.runpm=0 acpi_rev_override=1 acpi_osi=Linux nouveau.modeset=0 scsi_mod.use_blk_mq=1 mem_sleep_default=deep
  • 韦兰 1.16,侏儒 3.30
  • /sys/power/mem_sleep: s2idle [deep]

更新

这在更新的 BIOS 和内核中不断发生:

  • Debian 11(靶心)
  • Linux 5.2.0-3
  • Wayland 客户端 1.17,Gnome 3.30
  • 最新的戴尔 XPS BIOS:1.13.0

bin*_*rym 2

看起来像是一些硬件/ACPI/电源恢复问题。

Linux 在电源暂停方面一直存在一些问题。我的工作笔记本电脑上也有类似的问题(唤醒后 HDMI 和内部显示屏均保持空白)。

我通过在电源暂停之前手动禁用外部显示器来解决这个问题。您可以编写脚本:这两个systemd软件都acpid允许您安装挂起和恢复操作的挂钩。

我要做的是:

  1. 挂起时:将外部显示器的当前模式备份到/var/run( xrandr |grep <the external display>|sed -e <magic here>) 中某处的状态文件中可能就足够了

  2. 恢复时:恢复之前的模式。

主要困难是设置 X 授权以便能够从非 X(又名 systemd 或 acpid 脚本)上下文修改当前显示。

您还可以使用我编写的小脚本通过两次点击手动设置屏幕。