對於Ubuntu桌面版系統來說,NVIDIA顯示卡驅動安裝的大多可以通過桌面完成。Ubuntu伺服器系統由於沒有GUI介面,安裝顯示卡驅動則必須通過命令列完成,安裝步驟與伺服器版有些不同,且難度也略大。

Ubuntu伺服器版可以通過run檔案方式安裝驅動,也可以通過ppa源+apt-get命令安裝。本文將這對兩種進行簡單介紹。

系統版本:Ubuntu16.04-server 顯示卡:NVIDIA GTX 1080Ti

一、run檔案方式安裝

1.1 下載官方驅動程式

http://www.geforce.cn/drivers

選擇合適的驅動程式:我選擇的是NVIDIA-Linux-x86_64-384.130.run。該步驟需要使用瀏覽器完成,因此需要使用一臺帶有圖形介面的電腦完成該操作並將run檔案拷貝到U盤中,為接下來的掛載到伺服器上安裝驅動做準備。

1.2 禁止整合的nouveau驅動

Ubuntu系統整合的顯示卡驅動程式是nouveau,它是第三方為NVIDIA開發的開源驅動,我們需要先將其遮蔽才能安裝NVIDIA官方驅動。 如果我們直接安裝驅動的話,往往會報錯:ERROR: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver。

將驅動新增到黑名單blacklist.conf中,但是由於該檔案的屬性不允許修改。所以需要先修改檔案屬性。

檢視屬性:

sudo ls -lh /etc/modprobe.d/blacklist.conf

修改屬性:

sudo chmod 666 /etc/modprobe.d/blacklist.conf

用vim編輯器開啟:

sudo vim /etc/modprobe.d/blacklist.conf

在該檔案後新增以下幾行:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

並執行:

sudo update-initramfs -u

重啟後執行:

lsmod | grep nouveau
沒有輸出即為遮蔽好了。

1.3 開始安裝

對於桌面版系統而言,需要先用sudo service lightdm stop 關閉當前圖形介面。

對於伺服器版系統,則需要將含有run檔案的U盤手動掛載到/mnt/usb目錄下,教程如下:點選開啟連結。然後通過 cd /mnt/usb命令進入該目錄裡。

若之前安裝過顯示卡驅動,需要先解除安裝掉。建議裝驅動前都執行以下該指令,有益無害。

sudo apt-get --purge remove nvidia-*

該指令能解除安裝驅動並不保留配置檔案。

安裝指令如下:

sudo chmod a+x NVIDIA-Linux-x86_64-384.130.run
sudo ./NVIDIA-Linux-x86_64-384.130.run -no-x-check -no-nouveau-check -no-opengl-files

在上述指令中,–no-opengl-files表示只安裝驅動檔案,不安裝OpenGL檔案,這個引數最重要。–no-x-check 安裝驅動時不檢查X服務。–no-nouveau-check 安裝驅動時不檢查nouveau(注:這個選項和1.2禁止整合的nouveau驅動組成雙保險,其實一項操作就可以了)。

Ubuntu伺服器版由於在安裝系統時只裝了OpenSSH server和standard system utilities,一些必備的development tool並沒有安裝,需要接下來手動安裝。在安裝驅動程式的過程中,會因為缺少gcc、g++、make等development tool而報錯導致無法完成驅動程式安裝(ERROR:Ubable to find the development tool 'make' in your path...),不用擔心,手動安裝這些開發包後再次執行安裝指令即可。另外,安裝過程中出現的彈框根據預設選項選擇即可。手動安裝development tool指令為:

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make

對於桌面版系統而言,安裝完後使用sudo service lightdm start 回到圖形介面。

1.4 檢視顯示卡驅動版本

可以通過nvidia-smi命令檢視GPU和驅動程式資訊,若出現以下結果,則表明驅動程式安裝成功。

可以使用cat /proc/driver/nvidia/version命令檢視驅動程式版本

另外,對於桌面版系統而言,可以使用nvidia-settings命令設定一些引數,執行該命令後以彈窗的形式出現。而伺服器版系統由於沒有桌面環境,執行nvidia-settings命令會報錯(ERROR: A problem occured when loading the GUI library. Please check your installation and library path. You may need to specify this  library when calling nvidia-settings. Please run `nvidia-settings --help` for usage information.)

二、PPA源方式安裝

PPA(Personal Package Archives)也就是個人軟體包集很多軟體包由於各種原因吧,不能進入官方的Ubuntu軟體倉庫。為了方便Ubuntu使用者使用,launchpad.net提供了ppa,允許使用者建立自己的軟體倉庫,自由的上傳軟體。PPA也被用來對一些打算進入Ubuntu官方倉庫的軟體,或者某些軟體的新版本進行測試。Launchpad是Ubuntu母公司canonical有限公司所架設的網站,是一個提供維護、支援或聯絡Ubuntu開發者的平臺。

通過PPA的方式安裝更加直接,只需在命令列中輸入以下命令即可:

sudo add-apt-repository ppa:graphics-drivers/ppa //安裝指定PPA源,執行該指令後會出現大段內容介紹,按[Enter]鍵執行即可
sudo apt-get update          //更新源
sudo apt-get install nvidia-384  //驅動版本不同,對應不同的數字 網速決定安裝速度
sudo apt-get install mesa-common-dev  //CUDA所需要的庫
sudo apt-get install freeglut3-de

安裝過程可能需要比較長的時間。若沒有出現錯誤,則重啟後用nvidia-smi指令檢視GPU資訊即可;若出現錯誤需要根據具體情況在網上找解決方案。我的伺服器在安裝時出現了錯誤:

Processing trigger: for initramfs-tools

update-initramfs: Generating /boot/initrd.img-4.4.0-116-generic

W: Processing trigger for ureadhead

花了三個小時在網上找教程也沒有解決該問題...網上說是/boot分割槽空間不足,然而並不存在該問題。最終選擇了run檔案方式安裝好驅動。

參考教程: