Xrandr

xrandr 呼叫使其忘記輔助顯示

  • June 7, 2015

簡而言之

我有一台帶有外部 DVI 顯示器的筆記型電腦,該顯示器連接到其顯示埠(通過適配器)。當我使用 旋轉內部螢幕xrandr時,它會忘記輔助顯示器。多次呼叫xrandr沒有任何效果。我必須關閉外接顯示器的電源,等待一段時間,xrandr再次呼叫它會找到顯示器。

細節

我使用帶有 Awesome WM 的 Kubuntu 13.10,而不是正常的 KWin Windows 管理器。因此,已經有兩個系統可以處理顯示器。

筆記型電腦是 ThinkPad X220 平板電腦,它在設備本身上有一個顯示埠,另一個在我目前使用的 UltraBase 擴展塢上。顯示器是三星 SyncMaster 2443BW,帶有 DVI 到 Display Port 適配器。

然後,當我旋轉物理顯示器(通過 ACPI 掛鉤)時,我使用自己的think-rotate旋轉內部 ( ) 螢幕。所述腳本用於旋轉螢幕。LVDS1``xrandr

當我打電話時think-rotate,它會出現故障並在之後給我以下xrandr輸出:

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 32767 x 32767
LVDS1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm
  1366x768       60.0*+
  1360x768       59.8     60.0  
  1024x768       60.0  
  800x600        60.3     56.2  
  640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)

你看,那HDMI2完全不見了。在讓外部顯示器的所有電量耗儘後,xrandr再次呼叫給我螢幕返回和以下輸出:

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 32767 x 32767
LVDS1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm
  1366x768       60.0*+
  1360x768       59.8     60.0  
  1024x768       60.0  
  800x600        60.3     56.2  
  640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected (normal left inverted right x axis y axis)
  1920x1200      60.0 +
  1600x1200      60.0  
  1280x1024      60.0  
  1280x960       60.0  
  1024x768       60.0  
  800x600        60.3     56.2  
  640x480        60.0  
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

我查看並在腳本/var/log/syslog的調試輸出中發現了以下內容:think-rotate

Jan  6 20:20:26 Martin-X220 colord: device removed: xrandr-Samsung Electric Company-SyncMaster-H9XS113172
Jan  6 20:20:26 Martin-X220 colord: Device added: xrandr-Samsung Electric Company-SyncMaster-H9XS113172

我該如何分類這個問題?我有其他 DVI 和 VGA 顯示器,我在 ThinkPad 本身上有另一個顯示埠。

我認為問題在於 KDE 中的某些東西、Awesome WM(在每次顯示更改時重新載入其配置)和我的xrandr呼叫之間的互動。

跟進

沒有 Awesome WM,普通的 KDE 和 KWin

我剛開始沒有 Awesome WM 的 KDE。它不僅在我旋轉時忘記了外部顯示器,而且還導致了嚴重的合成故障。我發現它think-rotate被 ACPI 鉤子呼叫了兩次,所以我目前正在實施一個防範措施。同時執行兩次可能是導致故障的原因。忘記顯示是我think-rotate手動呼叫時造成的,不是兩次執行造成的。

沒有 KDE,普通的 Awesome WM

現在我只是用 Awesome WM,沒有啟動 KDE。沒有問題。我在這裡看到它被呼叫了兩次並在那個警衛上工作。它被呼叫了兩次,但現在只執行一次。顯然,這個問題在這裡並不存在。雖然我不喜歡承認,但根據我目前掌握的資訊,KDE 似乎導致了這個問題。

更新 2014-01-06 21:37+0100

好吧,看起來旋轉工作與普通的 Awesome WM 沒有問題。當我把它放到擴展塢上時,它沒有立即看到外接顯示器。我必須將其關閉並xrandr手動呼叫以使其正常工作。

更新 2014-01-21 21:53+0100

我嘗試了另一個 DVI 顯示器,但沒有任何問題。當我回到我的三星 SyncMaster 時,我又遇到了這個問題。單獨的 Awesome WM 會導致問題,帶有 Awesome WM 的 KDE 也會導致問題。還是壞了!

2014-03-10 18:17+0100 更新

問題仍然存在。我用一根VGA線測試了一下,好像沒有問題。我目前的解決方法是關閉顯示器,打電話xrandr然後再打開。也許 Ubuntu 14.04 會解決這個問題。

當它連接到不同的電腦(也是 Windows 7 機器)時,該問題也仍然存在。這是硬體缺陷,我前段時間買了一個新顯示器。

引用自:https://unix.stackexchange.com/questions/108108