有没有一种软件方法可以要求视频驱动程序物理地关闭和打开显示器?
有时(通常)我的笔记本电脑内置显示屏背光在笔记本电脑从挂起状态唤醒后不会打开。它(背光)也刚刚自发关闭过一次。在这两种情况下,我都必须关闭计算机,拔下电源线和电池,将它们装回并打开以实际重置显示器,如果没有整个过程,它就不会重新打开背光。xbacklight
键盘上的亮度向上/向下按钮没有帮助(尽管两者都正常工作)。在显示设置中禁用/启用显示都无济于事。这让我很好奇是否有办法要求驱动程序(在我的例子中是英特尔)或 X 向显示器发送某种低级关闭命令以将其完全关闭(例如独立显示器上的电源按钮)确实)然后回来,也许这样的事情可以有所帮助......
更新:我确实相信我正在使用英特尔驱动程序,正如其他所有驱动程序sudo lshw -c video
一样configuration: driver=i915 latency=0
。我不确定,但我认为直到最近我一直在使用通用驱动程序(几天前我刚刚格式化了硬盘并从头开始设置了一个新系统,并没有真正查看旧系统中使用了什么驱动程序),并且存在同样的问题。事实上,当我运行 Windows 7 时也会发生这种情况,所以我怀疑这不是驱动程序问题。它甚至会影响操作系统 BIOS POST 启动阶段(如果我在背光故障后重新启动,甚至启动时制造商徽标也几乎不可见)。我只是好奇是否有一种软件方法可以尝试硬重置显示器,而无需通过拆下电池来完全切断电源。笔记本电脑是 DELL E5500,它很旧,但除此之外运行良好,尤其是在 HDD 到 SSD 升级之后。
答案1
答案2
这可能是许多系统组件之间的交互,我可以列出的一些是:发行商的内核版本、内核的 i915 模块、X11 版本和 drm 驱动程序。理想情况下,您会寻找针对其中一些组件列出的错误,以显示最佳解决方法。
它真的有效吗?您实际上可以在显示屏关闭的情况下从另一台主机登录笔记本电脑吗?你能在dmesg
输出中看到类似的东西吗?
[drm:intel_enable_lvds [i915]] *ERROR* timed out waiting for panel to power on
已知某些版本的 drm 驱动程序存在问题。当它处于这种状态时,我可以通过xrandr
切换输出来使其工作。检查不带参数的输出,可能有几个,并且大概内部的名称以 LVDS 开头。就我而言,它是 LVDS-1,我很幸运地运行了这个脚本,并在登录后分配了一个热键:
#!/bin/sh
sleep 1; DISPLAY=:0 xrandr --output LVDS-1 --off
sleep 1; DISPLAY=:0 xrandr --output LVDS-1 --auto
更新:现在重新阅读它也会自行关闭的部分,这可能表明这完全是由硬件引起的,也许任何软件驱动程序都无能为力 - 无论如何,您的笔记本电脑型号很容易出现过热/间歇性失败的 BGA 问题?这可能需要硬件修复/更换。