如何强制删除所有 xrandr/xinerama 状态并恢复默认值?

如何强制删除所有 xrandr/xinerama 状态并恢复默认值?

背景/理由

在 Ubuntu 18.04 中,我遇到了一个完全不寻常的问题,而其他有关 xinerama 或 xrandr 的问题都没有解决这个问题。突然间,我的 4K 显示器经常被视为 1440p 显示器,没有选项可以将分辨率重新设置为 4K。此问题往往是由显示器重启或分辨率更改(例如由于游戏)触发的。一旦问题开始,运行

xrandr -s 3840x2160

或者使用 执行等效操作gnome-settings会导致屏幕变黑几秒钟,然后默默地返回到不正确的2560x1440分辨率。特别是,xrandrdmesg似乎都没有显示与问题相关的任何错误消息。此外,一旦触发,问题在重新启动后仍然存在:分辨率仍然很低,并且xrandr 3840x2160仍然默默失败。似乎解决问题的唯一方法是等待相当长的时间让问题自发解决。

该问题可能由硬件问题引起,但我认为这种可能性不大,因为:

  1. 当分辨率问题未触发时,4K 工作正常:仍然是 60Hz,流畅,无失真。

  2. 在其他操作系统或 gdm 登录屏幕上不会出现此问题(据我所知,文本以原始分辨率显示)。只有在实际启动 X 会话后,分辨率才会重置为 1440p。

  3. 插入第二台 4K 显示器并同时使用两台显示器也可以解决问题 - 但一旦移除第二台 4K 显示器,问题就会再次出现!

我怀疑 xinerama 的内部状态发生了一些奇怪的事情——我不明白为什么我会突然被这些随机的分辨率变化所困扰,除非是硬件故障,但我觉得这种情况不太可能发生。所以我想删除/硬重置构成 xinerama 内部状态的所有文件。

实际问题

我想要知道 xinerama 配置文件的位置(或者更一般地说,它的内部状态)并强制重置它们。您可以尝试 xy 问题,但请先查看失败的解决方案。

失败的解决方案

xrandr -s 0-- 此命令通常是“如何重置?”问题的答案。这与 的效果相同xrandr -s 3840x2160,即什么都没有。我想重置所有状态以尝试解决问题。

如上所述,重新启动。

手动添加3840x2160为新模式。问题不在于显示器无法将该选项报告为选项,而是xrandr在选择该分辨率时莫名其妙地什么也不做。

硬件/软件详细信息

内核:4.15.0-70-generic

发行版:Ubuntu 18.04

处理器:AMD Ryzen 2700X

显卡:AMD Vega 64

桌面:GNOME 3

显示器:戴尔 U2718Q

答案1

删除~/.config/monitors.xml似乎暂时解决了问题。该文件稍后重新创建。我不认为文件本身是真正的问题——相反,它似乎触发了一些潜在的错误xrandr(而且它肯定是一个错误——不管怎样,xrandr将其列为3840x2160选项但不支持实际选择该选项是没有意义的)。但是,既然问题暂时解决了,我不想深入研究问题的真正原因。

相关内容