皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Linux 准备支持微软的 “Turn On Display” DSM 以解决笔记本电脑问题

Linux 准备支持微软的 "Turn On Display" DSM 以解决笔记本电脑问题

微软在 Windows 11 22H2 中引入了一个新的 ACPI 设备特定方法(DSM)“开启显示”通知,Linux 7.0 内核将为此添加支持以解决一些原本存在问题的笔记本电脑行为。

即将进入 Linux 电源管理子系统的”linux-next” Git 分支,为即将到来的 Linux 6.20~7.0 内核周期,s2idle 驱动程序中增加了对 Microsoft Turn On Display DSM 调用的支持。Microsoft 的文档描述了 Turn On Display / Function 9 通知,用于在从现代待机恢复时,当意图打开系统显示时进行信号传递。

现在这之所以重要,是因为一些笔记本电脑固件开始期望在恢复时调用这个 ACPI DSM 方法以进行正确处理。导致它被添加到 Linux 内核的 s2idle 代码中,是因为 2025 年 8 月的一个错误报告,报告了联想 Yoga Slim 笔记本电脑在挂起/恢复周期后风扇完全停止工作,并最终导致过热问题:

“在从挂起状态恢复后,笔记本电脑的冷却风扇不会重新启动,无论 CPU 温度或系统负载如何。这导致在正常任务期间 CPU 温度达到 95 摄氏度,造成安全隐患。该问题 100% 可重复,并在多个内核版本上发生。只有完全重启才能恢复风扇功能。同一硬件在 Windows 下工作正常。”

在数月未能弄清楚为什么联想 Yoga 笔记本电脑在 Linux 下出现这种行为后,上个月发现这是由于 开启显示 ACPI 方法在 Linux 下未被调用。

Jakob Riemenschneider 在排队补丁中解释:

“根据微软文档,此功能向系统固件发出信号,表明操作系统打算在退出现代待机状态时打开显示器。这允许固件更早地释放电源限制 (PLx)。

关键的是,这个补丁修复了在联想 Yoga Slim 7i Aura(15ILL9)上观察到的一个功能问题,即系统风扇和键盘背光在挂起后无法恢复。调查显示,该设备的 EC 在睡眠期间关闭这些组件,但需要 Function 9 通知才能再次唤醒它们。

这个补丁定义了新的功能索引(ACPI_MS_TURN_ON_DISPLAY),并在 acpi_s2idle_restore_early_lps0()中调用它。执行顺序已更新以匹配”意图”信号的逻辑:

1. LPS0 退出(Function 6)
2. 开启显示意图(Function 9)
3. 现代待机退出(Function 8)
4. 屏幕开启(Function 4)

在调用现代待机退出Function  9 之前,确保固件有足够时间恢复电源轨和功能(如风扇)以便软件完全退出睡眠状态。”

支持这一点则解决了联想 Yoga 笔记本电脑的散热问题。目前这种行为至少在一个提交了错误报告的笔记本电脑上出现,因此其他型号也可能在 Linux 系统与当前内核或其他针对Function  9 _DSM(用于重启设备)的奇特行为下面临类似问题。鉴于这个 DSM 功能是在三年前的 Windows 11 22H2 版本中添加的,随着未来硬件/固件的推出,这项支持可能也会变得更加重要/预期。

转自  Linux Prepares To Support Microsoft’s “Turn On Display” DSM To Address Laptop Issues – Phoronix