1. 程式人生 > >ubuntu16安裝from nvidia-390顯示卡驅動後,不能進入系統的解決方案

ubuntu16安裝from nvidia-390顯示卡驅動後,不能進入系統的解決方案

裝置:小米筆記本pro 顯示卡:MX150和intel UHD620 系統:ubuntu16.04 現象描述:筆記本為雙系統環境,win10+ubuntu16.04,由於專業學習,需要安裝cuda-toolkit做並行運算。按照tensorflow官方給的教程分別安裝了tensorflow和cuda-toolkit(後者的安裝步驟參考:https://www.tensorflow.org/install/gpu)。安裝完之後,在python console中輸入import tensorflow as tf,以驗證tensorflow是否能正常使用,結果報錯為:ImportError: libcuda.so.1: cannot open shared object file: No such file or directory。通過網路搜尋瞭解到,報這個錯是因為顯示卡驅動不是nvidia的驅動,因此按照“system settings-->system-->software&updates-->additional drivers”進入系統顯示卡驅動選擇介面這裡面我選了version 390.30 from nvidia-390(因為裝的是cuda9,網上檢索結果表明,nvidia-39×系列驅動和cuda9都是相容的,因此就選了比較低的390)。噩夢從此開始,390驅動安裝好之後,重啟系統,然後畫面就是不停地在黑屏與狀態介面之間切換,即閃屏,閃了一會之後,穩定在狀態介面,狀態介面顯示內容為:“/dev/nvme0n1p3: clean, 301086/1875968 files, 2492253/7500032 blocks”

。 問題解決:在網上找了很久,一個個的嘗試,終於找到了對應的解決方案。     1.停在狀態介面後,按ctrl+alt+F3(或F2)組合鍵,進入tty3介面,先輸入使用者名稱,再輸入密碼。這裡有幾個坑:1)使用者名稱不是我們在裝系統的時候填的全名,而是後面縮寫的使用者名稱,這個使用者名稱跟home目錄下的檔案對應的上一層檔案目錄一樣,比如:/home/xxx/Documents,這個xxx就是我們的使用者名稱;2)網上說的比較多的一個坑,即:輸入密碼的時候要用小鍵盤輸入,不能用數字鍵盤輸入,貌似linux對數字鍵盤輸入不感冒。     2.下面執行一些命令:

    sudo apt-get purge *390*
    sudo apt-get autoremove

    執行這些命令主要是為了刪除nvidia-390,需要注意的是,在點“y”之前,要確認刪除的都是與nvidia顯示卡驅動相關的檔案,別刪錯東西了。     3.然後重啟,重新進入系統顯示卡驅動選擇介面,注意,選version 396.44 from nvidia-396,一定要選from nvidia-396的,安裝好該驅動之後,重啟,正常進入系統,並重新測試了一下tensorflow的可用性,顯示tensorflow是可用的。如果按照“system settings-->system-->details”進入系統資訊介面,能夠看到系統的顯示卡已經切換為 MX150了。

問題小結:至於from nvidia-390的驅動為什麼不能用,有個說法是GDM和390驅動不相容,而這個GDM(GNOME Display Manager)是ubuntu預設的管理使用者登入的圖形介面工具,因而導致了不能進入使用者登入介面。如果真是這樣子的話,或許可以通過把gdm切換為lightDM來解決390驅動的相容問題,有興趣的話可以一試(出問題了別找我呀,逃)