1. 程式人生 > >Ubuntu 16.04系統中利用CUDA安裝更新NVIDIA顯示卡驅動程式的方法

Ubuntu 16.04系統中利用CUDA安裝更新NVIDIA顯示卡驅動程式的方法

在ThinkPad系列膝上型電腦中使用過Ubuntu 16.04系統的同學都知道,NVIDIA顯示卡驅動程式特別難安裝。以我使用的ThinkPad P50s為例,顯示卡型號為:GM108GLM [Quadro K620M](可以在命令終端中使用lspci | grep NVIDIA查詢),按照網上大多數安裝教程所示的下載.run程式安裝的方法進行過N次(N>10)失敗的嘗試,最後幾乎達到懷疑人生的地步了,其中的苦楚恐怕只有自己心裡清楚。功夫不負有心人,我終於找到一種利用CUDA安裝包來安裝驅動的方法,操作比較簡便,並且效果不錯,現將操作過程記錄下來,給有需要的同學參考借鑑。
雖然本文僅針對ThinkPad P50s型膝上型電腦進行介紹,但本文方法適用於所有機型,作者已在另外的桌上型電腦上進行過成功安裝。

一、下載CUDA安裝包

CUDA官網下載最新的CUDA安裝包,具體如下圖所示:
3

二、禁用第三方NVIDIA顯示卡驅動程式nouveau

Ubuntu 16.04系統使用第三方驅動程式nouveau支援NVIDIA顯示卡,為了安裝NVIDIA公司的原版驅動程式,需要將其禁用,具體方法為:使用快捷鍵Ctrl+Alt+T開啟一個終端,使用vi編輯器在/etc/modprobe.d目錄中建立檔案:blacklist-nvidia.conf(檔名隨便起,只要字尾為.conf並且自己覺得有意義就行):

sudo vi /etc/modprobe.d/blacklist-nvidia.conf

檔案內容如下:

blacklist nouveau
options nouveau modeset=0

然後使用如下命令更新核心資訊:

sudo update-initramfs -u

注意:更改資訊後一定要記得重啟電腦!
整個操作如下圖所示:
1
重啟電腦後,可能無法進入圖形化登入介面,症狀類似如下介面,甚至可能完全黑屏:
11
解決方法:按快捷鍵Ctrl+Alt+F1Ctrl+Alt+F6選擇六個文字終端之間的任意一個,登入文字介面,然後執行第三步。

三、安裝CUDA程式

在命令終端中進入步驟一下載CUDA安裝包的目錄,使用如下命令安裝CUDA程式。因為CUDA安裝包會檢測更新NVIDIA顯示卡驅動程式,於是我們可以利用這個特性來安裝顯示卡驅動。

sudo dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.148-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-2-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda 

四、重啟電腦禁用安全啟動

為了順利應用新安裝的NVIDIA顯示卡驅動,需要重啟電腦並禁用安全啟動(其實也可以不禁用安全啟動,只不過簽名比較麻煩,我也懶得費神去弄,如果不怕麻煩,可以參考該網頁進行簽名)。
禁用方法如下圖所示,開機後按Enter再按F1鍵進入BIOS設定,將Secure Boot禁用:
4
5
6
7

五、驗證驅動是否安裝成功

執行完步驟四,重新進入Ubuntu系統後,在命令終端中使用如下方法驗證驅動已安裝成功:

# 方法1
nvidia-smi
# 方法2
nvidia-settings

如下圖所示:
8
9
10

六、可能存在的問題

6.1 安裝顯示卡驅動程式後無法進入圖形化介面

顯示卡驅動程式安裝完畢重啟電腦後,可能無法進入圖形化登入介面,症狀類似如下介面,甚至可能完全黑屏:
11
解決方法:按快捷鍵Ctrl+Alt+F1Ctrl+Alt+F6選擇六個文字終端之間的任意一個,登入文字介面,然後使用命令:

sudo nvidia-xconfig

重新生成NVIDIA顯示卡的配置檔案資訊,配置檔案路徑為:/etc/X11/xorg.conf,檔案內容如下,注意:這個預設生成的檔案內容是錯誤的,如果直接使用,一定不能正常載入NVIDIA顯示卡驅動程式!

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 396.37  ([email protected])  Tue Jun 12 14:50:28 PDT 2018

Section "ServerLayout"
    Identifier     "layout"
    Screen      0  "nvidia" 0 0
    Inactive       "intel"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "keyboard"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "intel"
    Driver         "modesetting"
    Option         "AccelMethod" "None"
    BusID          "PCI:[email protected]:2:0"
EndSection

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    BusID          "PCI:[email protected]:0:0"
EndSection

Section "Screen"
    Identifier     "intel"
    Device         "intel"
    Monitor        "Monitor0"
EndSection

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AllowEmptyInitialConfiguration" "on"
    Option         "IgnoreDisplayDevices" "CRT"
    Option         "ConstrainCursor" "off"
    SubSection     "Display"
        Depth       24
        Modes      "nvidia-auto-select"
    EndSubSection
EndSection

正確的配置檔案內容如下所示。大家一定要在預設檔案的基礎上,將原檔案內容修改為如下正確內容:

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:[email protected]:2:0"
    Option "AccelMethod" "None"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:[email protected]:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

如果重啟電腦後還是無法進入圖形化登入介面,則進入文字終端後使用如下命令

sudo rm /etc/X11/xorg.conf
sudo touch /etc/X11/xorg.conf

重新生成一個空白的X11顯示配置檔案,之後再重啟電腦,這樣就可以順利使用系統自帶的整合顯示卡驅動進行顯示。接下來,自然就是重新安裝CUDA,以便正確安裝NVIDIA顯示卡驅動程式了。

6.2 突然斷電重啟電腦後NVIDIA顯示卡驅動程式損壞

有一次突然斷電,重啟電腦後,執行一個tensorflow-gpu程式時,居然報錯說不是NVIDIA顯示卡驅動,一查居然是NVIDIA顯示卡驅動程式損壞,作業系統重新啟用整合顯示卡驅動nouveau,甚至還把步驟二中建立的黑名單檔案/etc/modprobe.d/blacklist-nvidia.conf都給刪除了,真是讓人憤怒。
解決辦法:重新執行步驟二至步驟五,再次安裝NVIDIA顯示卡驅動。

七、其他安裝方法

最近在網上還看到一種通過新增ppa源的安裝方法,也很簡單,我在Dell桌上型電腦上已順利安裝成功,但沒有在筆記本上測試過,感興趣的同學可以嘗試一下。具體操作方法如下:

7.1 查詢本機顯示卡所需的驅動版本號

NVIDIA驅動下載官網上,搜尋你機器上NVIDIA顯示卡所需的驅動版本號,如下圖所示:
12

7.2 通過新增ppa源的方法安裝驅動

開啟一個命令終端,使用如下命令安裝驅動,安裝完畢後,重啟電腦即可。

sudo add-apt-repository ppa:graphics-drivers/ppa  
sudo apt-get update  
sudo apt-get install nvidia-390 # 此處的390要根據上面查詢到的版本號適當更改

相關推薦

Ubuntu 16.04系統利用CUDA安裝更新NVIDIA顯示驅動程式方法

在ThinkPad系列膝上型電腦中使用過Ubuntu 16.04系統的同學都知道,NVIDIA顯示卡驅動程式特別難安裝。以我使用的ThinkPad P50s為例,顯示卡型號為:GM108GLM [Quadro K620M](可以在命令終端中使用lspci

Ubuntu 16.04系統GCC 7.3編譯器安裝方法及C++17標準測試示例

2017年底,C++17標準正式頒佈,該標準的最大貢獻是,提供了STL庫演算法的並行運算版本,對於我這種喜歡追求演算法效能的程式設計師而言,無疑是一個極大的福音。幸運地是,Linux系統標準編譯器GCC能完美地支援C++ 17標準,但需升級到7.0以上版本;不幸

Ubuntu 16.04系統上NFS的安裝與使用

  摘要:本文介紹了NFS伺服器的安裝過程、配置檔案和常用命令列工具,以及NFS客戶端上如何安裝常用工具,介紹如何掛載共享目錄,並通過實驗進行驗證。   一、伺服器端: 1.1安裝NFS服務: #執行以下命令安裝NFS伺服器, #apt會自動安

Ubuntu 16.04系統下MySQL的安裝

1.伺服器端安裝 安裝伺服器端:在終端中輸入如下命令,回車後,然後按照提示輸入 sudo apt-get install mysql-server 啟動服務 當前使用的ubuntu映象

Ubuntu 16.04系統基於OSM建立並執行SUMO網路模型

SUMO全稱Simulation of Urban Mobility,是一個開源、微觀、多模態交通模擬模擬軟體。 前一篇部落格《Ubuntu 16.04系統中SUMO安裝方法及簡單示例》已經介紹了SUMO的一個簡單示例,但那只是一個玩具,沒有任何實用價值

Ubuntu安裝NVIDIA驅動安裝(.run方法--有時.deb方法安裝NVIDIA顯示驅動裝不上)

(K)ubuntu 下安裝NVIDIA官方顯示卡驅動(不同於開源驅動,官方驅動對顯示卡的支援顯然更好,而且通常更新頻繁)。這裡的例子:Kubuntu 10.04 32位環境 ,Nvidia7300顯示卡,NVIDIA 185.18驅動。 驅動的四種來源 Ubuntu 中的顯示卡要麼是開源驅動nouvea

centos7 安裝nvidia顯示驅動方法

ELRepo源安裝:ELRepo源提供了nvidia-detect命令,會自動幫你尋找合適的驅動,然後根據顯示的結果,用yum就能完成安裝,重啟之後不會有任何問題,省時省力。 1、新增ELRepo源 1.1 首先匯入公共金鑰,執行命令:rpm --import htt

ubuntu15.10 手動安裝最新Nvidia顯示驅動

針對‘sudo add-apt-repository ppa:xorg-edgers/ppa’所新增的nvidia驅動源可能出現與硬體系統中顯示卡不匹配的情況(一般是硬體要求有較新的驅動,驅動源中不包含) 1、下載相應的驅動源->中文官網地址

ubuntu 16.04系統裏解決軟件依賴問題,如何在ubuntu安裝zlib和zlib-dev

.com 軟件 問題 ext png watermark ffffff ack eve 在ubuntu 16.04系統裏解決軟件依賴問題,一般情況可以依靠安裝aptitude軟件包來解決:(1)sudo apt-get install aptitude(2)sudo apt

Linux(Ubuntu 16.04安裝OpenCV + OpenCV_Contrib

dep bsp blog pil 目錄文件 mod see dea spa   近兩個月來接觸了Linux系統,在老板的建議下翻了Ubuntu的牌子,我安裝的版本是16.04,用習慣之後感覺蠻好的,比Windows要強。好啦,廢話不說啦,下面開始說在Ubuntu中安裝Ope

Ubuntu 16.04系統安裝

Ubuntu 16.04系統安裝 安裝準備 Ubuntu 16.04的安裝盤,有空閒硬碟空間的電腦(本文是以128G硬碟,8G記憶體為例) 安裝步驟 1 把安裝盤插入電腦,重啟電腦進入BIOS設定,將U盤設定為啟動盤 2 進入安裝介面。(最好聯網安裝) 語言選英語。後期程

ubuntu 16.04 系統安裝、環境配置

ubuntu 16.04 系統安裝、環境配置 注:文中很多內容是參考別人的部落格,都已註明出處,如果侵權,請私信。 初次寫部落格,這篇內容就屬性定義為原創了。 其實定義成原創很不好意思。所以隨便轉載吧。但請註明一下出處。 https://blog.csdn.net/qq_26

【經驗】xps8920 安裝 ubuntu 16.04系統

Ubuntu16.04 (x64) 介面圖   方法1 Legacy - 失敗 系統型別 16.06_x64 U盤型別 3.0 快捷鍵 F2

Ubuntu 16.04系統Microsoft Common Objects in Context(COCO)資料集在Python環境的使用

Microsoft Common Objects in Context(簡寫COCO)資料集是微軟團隊提供的一個可以用來進行影象識別,分割,註解等開發工作的資料集。 該資料集主要有的特點如下:(1)Object segmentation(2)Recognition

Ubuntu 16.04 系統安裝 FoxitReader

第一步:官網下載安裝包 網址:https://www.foxitsoftware.cn/products/reader/ 注:Ubuntu系統下安裝軟體的格式有三種:.bundle檔案、.tar類檔案、.deb檔案。 詳見(http://blog.csdn.net/su

HP Z840 工作站配sSAS Raid 安裝 Ubuntu 16.04 系統

安裝ubuntu的最低版本版本要求是01.25,請更新到官方最新的02.31測試 1. BIOS系統更新 1. 準備好一個空的U盤,格式化成FAT32,在U盤上建立\

Ubuntu 16.04 系統安裝 -- Linux 環境搭建(上)

喜歡請點贊收藏~~ Ubuntu 系統安裝 準備 官方映象 二者區別:前者為官方預設發行版本,桌面為 Unity,而後者桌面為 Gnome 。Ubuntu 18.04 LTS 開始將恢復使用 Gnome 作為預設桌面,因此本文安

Ubuntu 16.04 解除安裝Nvidia顯示驅動cuda

tensorflow不斷升級,最新版本的程式碼需要更高版本的cuda支援。以前一直用cuda8.0和cudnn6.0的組合,tensorflow用1.3.0版本。不過最新下載的models,某些程式碼執行時,已經出現了錯誤。 類似的錯誤是因為tensorf

Ubuntu 12.04系統安裝jdk和配置tomcat伺服器

Ubuntu自帶的jdk版本是OpenJDK,即如下圖所示:     為了完成老師佈置的J2EE作業,不得自己配置J2EE環境,要重新安裝JDK。第一次在linux環境下接觸這些東西,參考了許多的網上資源,最終還是成功了。下面就是具體的操作。 準備     我

Ubuntu 16.04.2 LTS PXE全自動安裝

"ubuntu pxe安裝" "pxe ubuntu" "ubuntu 16" Ubuntu 16.04.2 LTS PXE全自動安裝使用的版本為ubuntu-16.04.2-server-amd64.iso (829M)1、將光盤中的