當前位置: 首頁>>技術教程>>正文


Ubuntu 從睡眠模式喚醒電腦後,沿著窗口邊界顯示奇怪的東西

在ubuntu中遇到了很詭異的問題

當從Suspend模式喚醒Ubuntu 16.04時,所有窗口,上下文菜單和類似的地方都會顯示不正常,出現以下圖形故障:

nvidia,graphics,suspend,visual-artifacts,ubuntu

nvidia,graphics,suspend,visual-artifacts,ubuntu

nvidia,graphics,suspend,visual-artifacts,ubuntu


目前,已知會影響到以下運行專有驅動程序的NVIDIA卡:

  • NVIDIA GeForce 610M, driver version 375.39, 340.102
  • NVIDIA GT 630M, driver version 375.39
  • NVIDIA GTX 650, driver version 375.39
  • NVIDIA GT 740M, driver version 378.13
  • NVIDIA GTX 745, unknown driver version
  • NVIDIA GTX 850M, driver version 375.39, 378.13
  • NVIDIA GT 940M, driver version 375.39
  • NVIDIA GTX 950M, unknown driver version
  • NVIDIA GTX 960M, driver version 378.13
  • NVIDIA GTX 970, driver version 375.39
  • NVIDIA GTX 970M, driver version 375.39
  • NVIDIA GTX 980 TI, unknown driver version
  • NVIDIA GTX 1060, driver version 375.26, 375.39, 378.09
  • NVIDIA GTX 1070, driver version 378.09

以上列表來自其他用戶的報告,可能還不止這些卡會受到影響。

此外,這個問題已經在一個幹淨的安裝上複現,其中唯一的更改是軟件更新和最新的NVIDIA驅動程序的安裝。


這到底是怎麽回事,如何解決?

臨時的解決方法

注意:這是一個臨時的解決方法,Nvidia可能已經發布了一個修補的驅動程序,可以跳過這一段查找後文中的其他答案與實際修複情況。


我在Ubuntu 16.04.2 LTS使用GPU:Nvidia GTX 970,nvidia 375.39驅動程序時,遇到了同樣的問題

自從最近升級nvidia驅動程序以來,就觀察到了這一點,我懷疑這是驅動錯誤。

後來找到了這個答案on the nvidia board。這是驅動程序中確認的錯誤,nvidia顯然已經在處理它了。在此期間,可以重新啟動compiz

compiz --replace

消除上述錯誤的顯示。

The bug is in the Ubuntu bug tracking system包括一個解決方法的腳本,在恢複後自動重啟compiz。

最佳的解決方法

這是Nvidia驅動的一個BUG。

Nvidia已經能夠重現這個問題,他們正在修複這個問題,這個修複將被包含在下一個驅動程序的版本中。 截止目前2017/10/02, 該修複現已發布了,請繼續閱讀本文後續的介紹。

有關詳細信息,請參閱this thread on the Nvidia developer forums。這個bug也是reported on Launchpad


Nvidia終於發布了官方修複補丁!

  • 該修複程序見試用版驅動程序381.09 changelog的相關屏幕截圖:

    nvidia,graphics,suspend,visual-artifacts,ubuntu


1.從官方Repo(推薦)安裝修補的[release]驅動程序:

Nvidia在05/04/2017推出了更新到他們的發行版驅動程序,其中包含您正在尋找的BUG修複。已更新的版本驅動程序版本號為375.66

由於版本375.66在官方的存儲庫中,因此加載修補的驅動程序非常簡單。

  • 如果您目前使用的是375.39,那麽隻需要簡單執行:

    sudo apt-get update
    sudo apt-get upgrade
    

  • 如果您使用舊版驅動程序,則應執行以下操作:

    sudo apt-get update
    

    隨後在其他驅動程序中切換到新的驅動程序版本:

    nvidia驅動

  • 如果您當前正在使用手動安裝的驅動程序,則應卸載它,重新啟動,然後執行上述步驟。

重新啟動後,您應該會發現您的Nvidia驅動程序已更新為375.66


2.從非官方PPA安裝打補丁的驅動程序:

  1. CTRL + ALT + T啟動終端

  2. 運行以下命令:

    sudo -i
    add-apt-repository ppa:graphics-drivers/ppa
    apt-get update
    apt-get install nvidia-381
    
  3. 重新啟動你的電腦,然後問題應該就已經解決了!計算機重新啟動後,打開Nvidia X服務器設置。你會看到新的驅動程序版本:

    nvidia,graphics,suspend,visual-artifacts,ubuntu


3.手動安裝打補丁的驅動程序(不推薦):

*.run文件安裝Nvidia驅動程序通常不是一個好辦法。這種做法有可能破壞其他程序。因此,如上所述,最好從PPA安裝它們。不過,如果您樂於冒險並希望手動安裝,那麽下麵所說過程在Ubuntu 16.04和GTX650上是有效的。

在安裝修補驅動程序之前,您必須卸載當前的專有驅動程序並切換到Nouveau驅動程序:

nvidia,graphics,suspend,visual-artifacts,ubuntu

確保切換後重新啟動。如果您無法安裝您當前的專有驅動,則新的驅動將會與舊的有衝突,這回讓事情變得很糟糕!

  1. 從Nvidia下載修補的驅動程序文件。 這是下載鏈接。

  2. 將文件保存到您的下載文件夾

  3. 從您的GUI會話中注銷(您應該在登錄屏幕上結束,然後再繼續)

  4. CTRL + ALT + F1打開tty1

  5. 使用正常驗證登錄

  6. 運行以下命令:

    sudo service lightdm stop
    cd Downloads
    chmod +x NVIDIA-Linux-x86_64-381.09.run
    sudo ./NVIDIA-Linux-x86_64-381.09.run
    
  7. 接受許可協議:

    nvidia,graphics,suspend,visual-artifacts,ubuntu

  8. 它會抱怨distribution-provided pre-installer腳本失敗。不管這些,仍然繼續:

    nvidia,graphics,suspend,visual-artifacts,ubuntu

  9. 當詢問您是否要使用dkms注冊內核模塊時,請選擇Yes

    nvidia,graphics,suspend,visual-artifacts,ubuntu

  10. 當詢問您是否要安裝32位兼容性庫時,請選擇Yes

    nvidia,graphics,suspend,visual-artifacts,ubuntu

  11. 構建內核模塊需要一段時間,需要耐心等待!

    nvidia,graphics,suspend,visual-artifacts,ubuntu

  12. 在詢問您是否要運行nvidia-xconfig時選擇Yes

    nvidia,graphics,suspend,visual-artifacts,ubuntu

  13. 選擇Ok退出安裝程序

  14. 差不多了!現在隻需運行這些命令:

    rm ~/.Xauthority
    rm ~/.config/dconf/unity
    sudo shutdown -r now
    
  15. 計算機重新啟動後,打開Nvidia X服務器設置。應該就可以看到新的驅動程序版本了:

    nvidia,graphics,suspend,visual-artifacts,ubuntu

本文由andy整理自

  1. Strange artifacts along window borders after waking computer from sleep mode

本文由《純淨天空》出品。文章地址: https://vimsky.com/zh-tw/article/3598.html,未經允許,請勿轉載。