如何強制刪除所有 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 的配置文件的位置(或者更一般地說,它的內部狀態)並強制重置它們。您可以嘗試向我提出問題,但請先查看失敗的解決方案。

失敗的解決方案

xrandr -s 0-- 此指令通常是「如何重置?」的答案。問題。這與 具有相同的效果xrandr -s 3840x2160,即什麼都沒有。我想重置所有狀態以嘗試解決問題。

重新啟動,如前所述。

手動新增3840x2160為新模式。問題不在於顯示器無法將其報告為選項,而是xrandr在選擇該解析度時神秘地什麼也不做。

硬體/軟體詳細信息

內核:4.15.0-70-generic

發行版:Ubuntu 18.04

CPU:AMD 銳龍 2700X

顯示卡:AMD Vega 64

德:GNOME 3

顯示器:戴爾 U2718Q

答案1

目前看來,刪除~/.config/monitors.xml已經解決了問題。該文件後來被重新創建。我不認為文件本身是真正的問題——相反,它似乎觸發了一些潛在的錯誤xrandr(而且它一定是一個錯誤——無論如何,作為選項xrandr列出3840x2160

相關內容