X11

X 伺服器、鍵盤和滑鼠鎖定並顯示損壞

  • February 22, 2017

我的電腦(有 NVIDIA 卡)有一個非常煩人的渲染問題。

有時 X 伺服器在凍結(或其中發生的任何事情,因為 VLC 音樂在目前數據包處循環)後“鎖定”約 1 秒,指針變得不可見,鍵盤和滑鼠無法工作,我得到一個螢幕看起來像這樣:

X 伺服器被鎖定

除了顏色每次都不一樣。我啟用了 ctrl-alt-backspace 和 alt-sysrq-

$$ rk $$鑰匙甚至沒有效果,要恢復我必須冷重啟。 有時我沒有得到上面的螢幕,而是得到一個充滿核心錯誤的控制台,比如nouveau: failed to idle channel XXX。然後幾秒鐘後,所有程序都被殺死(在 tty 中)。這可能是一個 X 伺服器,因為我的xgamma設置(每次註銷都會重置)仍然有效。

然後甚至控制臺本身也消失了,沒有登錄螢幕,只有黑色(唯一的出路也是冷重啟)。

根據我的調製解調器 LED,最奇怪的部分是 KTorrent(發生這種情況時正在下載文件)在鎖定期間仍在傳輸數據。 所有程序都被殺掉,可以用VLC播放音樂重現。

特別是,我無法執行任何 JavaFX 8 程序(甚至不是最簡單的創建空視窗的程序),因為當我執行時java -jar my.jar,視窗出現但以退化/渲染不同步的形式出現,並且要麼a)在發生上述幾次(未)最大化/調整大小後,螢幕在 b)幾秒鐘後鎖定。有時在我使用 Firefox 甚至沒有打開視窗時也會發生。

wmctrl -l表明鎖定螢幕不是視窗。此外,如上所述,視窗/程序仍處於打開狀態,因此不會殺死所有 GUI 程序。這非常令人困惑,我沒有想法。

順便說一句:alt-sysrq-

$$ rk $$在這裡無濟於事-它實際上會殺死所有程序本身並將您置於該控制台場景中。然而,這不是問題。簡而言之,它是新的。 根據您的說法,X 伺服器仍在執行,但圖形“連接”似乎與您的顯示器斷開了。

由於 nouveau 驅動程序適用於 NVIDIA 卡,因此 java、firefox 和您的其他程序正試圖利用該卡,認為它是可用的。這稱為影片(又名硬體)加速。

螢幕“鎖定”不是來自 X 伺服器,而是由於您的卡缺乏 nouveau 的硬體功能(3D 渲染、影片解碼等),因此當程序嘗試使用其中之一時,它會導致 nouveau 崩潰.

考慮 NVIDIA 卡的 GPU程式碼名稱影片引擎。假設你有一個 GeForce 6/7 系列卡,它最終屬於 NV40 (Curie) 系列,依次使用 VPE1、VPE2 和 VP1 影片引擎,它們都不支持影片(硬體)加速(除了 VPE2 的 XvMC) . 這就是讓你的 X 伺服器“失敗”的原因。(請注意,由於缺少功能,專有的 NVIDIA 驅動程序在這種情況下將無濟於事。)

解決方案是完全禁用硬體加速,並堅持使用軟體渲染,直到獲得支持的卡。在 java 8 中,您可以這樣做:java -Dprism.order=sw -jar my.jar,在我的系統上執行良好。Firefox 在其高級首選項中有一個啟用硬體加速的選項(如果可用,這是錯誤的,但我不知道為什麼),請確保未選中。

更新: nouveau 從一開始就不擅長使用 NVIDIA 硬體,所以如果您使用的是一個並且您的發行版(例如 RHEL 7)很難獲得專有驅動程序,我建議您用開放的 Radeon/Intel 替換該卡-source 驅動程序得到更好的支持。

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