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

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

当我的 Dell 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

答案1

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

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

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

我要做的是:

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

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

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

你也可以使用我写的那个小脚本单击 2 次即可手动设置屏幕。

答案2

我有两步解决方案。

步骤1:

使用aptitude install arandr这是用 python 编写的 xrandr 的前端。使用 GUI 选择适当的配置。

使用文件->保存保存此配置。

它会将其保存为 bash 脚本。为此绑定一些组合键。或手动运行。

第2步:

  1. 安装acpid
  2. systemctl enable acpid.service 启动时启用 acpid
  3. systemctl start acpid.service 现在启动acpid
  4. 用于acpi_listen监听acpi事件

在 /etc/acpi/handler.sh 中添加脚本

或者

在 /etc/acpi/events 下添加脚本

从这里根据盖子打开和盖子关闭事件调用您的脚本。

需要解决这个问题是因为这些事件没有按照 debian 中应有的方式处理。

与此并行,您可以为此在 debian 中记录一个错误。

希望这能暂时解决您的问题。

我正在使用此解决方法来处理未正确处理的坞站连接和断开连接。

答案3

需要安装laptop-mode-tools并启用video-out模块。

如果您使用的是 Ubuntu 以外的其他工具,请尝试在您的操作系统中找到类似的工具。

从这里参考:1&2

相关内容