问题描述
我最近购买了一些 4k 144 Hz 显示器,它们在使用时表现出色做工作。问题是,每当我通过显示器的电源按钮关闭它们,或者每当它们由于 DPMS 设置而变为空白时,它们都会绝不每当我重新打开显示器电源时,或者每当我“唤醒”计算机(摇动鼠标或按键盘按键或其他方式)时,都会再次收到信号,除非我手动干预。监视器只会报告一条DisplayPort NO SIGNAL
消息,而我只是坐在那里,系统没有任何视觉输入。
我在使用 4k 60 Hz 显示器时从未遇到过此类问题,因此我假设该问题与更高的刷新率有关,无论出于何种原因。或者也许只是屏幕本身?
我已经找到了解决方法(见下文),但我现在想找到根本原因,以便我知道问题到底是什么(NVidia /驱动程序?屏幕本身?Linux内核问题?一些奇怪的问题) DPMS 设置? DisplayPort?),这样我以后决定升级其他硬件时就不必处理这个问题了。我不擅长调试像这样的低级(至少对我来说)Linux 问题,所以我正在寻求根源方面的帮助。
我的设置
相关硬件
相关软件
- 发行版:Arch
- Linux内核:
core/linux 6.0.2.arch1-1
- 英伟达驱动程序:
extra/nvidia 520.56.06-4
- X11版本:
extra/xorg-server 21.1.4-1
- 显示管理器:
extra/gdm 43.0-1
- 窗口管理器:(
community/bspwm 0.9.10-2
我怀疑这是否相关,但以防万一......)
到目前为止我找到的根本原因以及解决方法
xrandr
在此状态下报告显示器已连接
在两个屏幕都功能齐全的情况下,跑步xrandr
可以给我带来:
[...]
DP-0 connected 3840x2160+3840+0 (normal left inverted right x axis y axis) 620mm x 340mm
3840x2160 60.00 + 144.00* 119.88 100.00 59.94 50.00 29.97 25.00 23.98
[...]
DP-2 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 620mm x 340mm
3840x2160 60.00 + 144.00* 119.88 100.00 59.94 50.00 29.97 25.00 23.98
[...]
当我关闭一台显示器时:
[...]
DP-0 disconnected 3840x2160+3840+0 (normal left inverted right x axis y axis) 0mm x 0mm
[...]
DP-2 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 620mm x 340mm
3840x2160 60.00 + 144.00* 119.88 100.00 59.94 50.00 29.97 25.00 23.98
[...]
然后当我重新打开显示器时,在显示器报告DisplayPort NO SIGNAL
并进入空闲状态后:
[...]
DP-0 connected 3840x2160+3840+0 (normal left inverted right x axis y axis) 620mm x 340mm
3840x2160 60.00 + 144.00* 119.88 100.00 59.94 50.00 29.97 25.00 23.98
[...]
DP-2 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 620mm x 340mm
3840x2160 60.00 + 144.00* 119.88 100.00 59.94 50.00 29.97 25.00 23.98
[...]
那么,由于某种原因,系统认为显示器已连接,但信号只是被显示器忽略了?或者其他的东西?
解决方法:禁用屏幕消隐
xset s 0 0
xset s off
xset s noblank
或在/etc/X11/xorg.conf.d/10-monitor.conf
[1]:
Section "Extensions"
Option "DPMS" "Disable"
EndSection
这解决了我离开计算机一会儿然后返回到无响应屏幕的问题(因为它们不再空白),但它并没有解决我自己关闭屏幕电源的问题。
解决方法:重新启动系统后再次显示工作
当我重新启动时,显示器再次开始工作。
这不是一个很好的解决方法:我丢失了正在做的所有工作,丢失了所有打开的窗口,我必须等待系统重新启动;总体来说不好玩。然而,显示器做当我重新启动时可靠地回来。
解决方法:如果我退出,显示器(几乎总是?)会再次工作bspwm
bspwm
我有一个退出(执行)的热键bspc quit
,这使我返回到登录屏幕。无论出于何种原因,监视器通常如果我这样做的话似乎会回来。我思考我见过他们中的一个一两次都没有回来,但这种情况非常罕见,所以这就是为什么我说“通常”。
这也不是一个很好的解决方法:我丢失了正在做的所有工作,丢失了所有窗口等。但至少我不必等待重新启动!
解决方法:显示将通常如果我改变他们的刷新率就回来
不幸的是,我现在很难找到我得到这个想法的帖子,但有人提到这可能是 DisplayPort 中的某种握手问题,更有可能在更高的刷新率下发生,或者其他什么?
无论如何,我设置了两个不同的热键来执行此操作:
# hotkey 1
xrandr --output DP-2 --primary --mode 3840x2160 --rate 60.00 --rotate normal --output DP-0 --mode 3840x2160 --rate 60.00 --rotate normal --right-of DP-2
# hotkey 2
xrandr --output DP-2 --primary --mode 3840x2160 --rate 144.00 --rotate normal --output DP-0 --mode 3840x2160 --rate 144.00 --rotate normal --right-of DP-2
如果我遇到屏幕消失的情况,我可以将它们的刷新率设置为 60 Hz,然后将它们设置回 144 Hz,它们就会通常回来。如果没有,我可以再试一次,直到他们这样做为止。
不错的解决方法:我不会再丢失任何工作或任何活动窗口,而且不必等待重新启动。不过还是有点烦人。