首先推薦兩個部落客的文章,大多都是參考二位
第一位https://www.cnblogs.com/left4back/p/10952845.html
另一位https://blog.csdn.net/u012925946/article/details/84788376
總結
其實安裝指令很容易就能找到,但是自己執行起來卻總是行不通。不知道為什麼明明按照作者的步驟來的,但是卻卡住了
提供以下幾個注意的點:
安裝cuda首先要做的就是檢視核心是否符合要求,比如我要安裝的CUDA8,0智能接受最高4.4的核心
其次,CUDA需要NVIDIA顯示卡,而且必須在雙系統下才能運作,因為虛拟機下的ubutun檢測不到顯示卡,沒有辦法使用
是以先保證你的配置環境符合。
再有就是多試試,就像我的CUDA在核心4。4下安裝成功的,而驅動安裝好之後 執行nvidia-smi 卻沒有效果。偶然的機會我打開 核心4.15.0-45 ,驅動成功了
一、降核心:
指令行敲入sudo dpkg --get-selections|grep linux-image并執行,傳回了兩個結果,分别為:
linux-image-4.15.0-45-generic install
linux-image-generic-hwe-16.04 install
說明我需要安裝4.4 安裝步驟如下:
- 執行以下指令安裝
sudo apt-get install linux-image-extra-4.4.0-98-generic
- 執行以下指令檢視是否安裝成功
dpkg -l | grep 4.4.0-98-generic
具體版本号,可以查一下,4.4.後面有多種類型,都可以
- 更新完成後重新開機系統
`reboot`
之後再次指令行敲入sudo dpkg --get-selections|grep linux-image并執行,傳回了四個結果,分别為:
linux-image-4.15.0-45-generic install
linux-image-4.4.0-98-generic install
linux-image-extra-4.4.0-98-generic install
linux-image-generic-hwe-16.04 install
将linux-image-4.15.0-29-generic修改為linux-image-4.4.0-148-generic
執行sudo vim /etc/default/grub,打開grub設定檔案,将GRUB_DEFAULT=0改為GRUB_DEFAULT=‘Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-148-generic’
随後執行sudo update-grub,如無錯誤提示,即意味着/boot/grub/grub.cfg修改成功,然後sudo reboot重新開機電腦
二、禁用nouveau
簡單介紹一下nouveau,簡單來說它和nvidia系列有沖突,不禁用的話可能會導緻黑屏或循環登陸,是以一定要禁掉。
這裡提供一個不太一樣的禁用方法,這種方法不需要重新開機電腦。
分為四部:
1.首先ctrl+alt+f1切換到指令行界面,輸入賬号密碼登入;
2.然後sudo service lightdm stop關閉圖形界面;
3.sudo modprobe -r nouveau将nouveau徹底幹掉;
4.執行lsmod | grep nouveau傳回空說明nouveau已經清理幹淨。
三、安裝CUDA
終于到了安裝CUDA的步驟了,在禁用nouveau後,不要急着啟用lightdm,轉到cuda安裝檔案所在目錄,用sudo指令進行安裝,
我的cuda安裝檔案名為cuda_8.0.61_375.26_linux.run,記得要禁用opengl,是以我的指令就是sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-lib,
禁用opengl據說是為了防止和系統原有的opengl沖突。其餘預設安裝即可。
注意:如果執行sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-lib時出現未找到指令,找到cuda_8.0.61_375.26_linux.run檔案,右鍵屬性,将其調成可執行檔案就可以了
各種回車、accept之後
安裝nvidia驅動 (N) 因為剛才裝好了
install nvidia accelerated Graphics Driver (y)
等等都是yes,預設路徑
sudo service lightdm start
重新開機
四、安裝驅動
/。。。。。。。。。。。。注意。。。。。。。。。。/
完事之後重新開機電腦,發現一直循環在登入界面進不了系統桌面
解決辦法
進入文本模式 CTRL+ALT+F1
1.2 解除安裝目前 NVIDIA 所有驅動
sudo apt-get remove nvidia-*
sudo apt-get autoremove
sudo nvidia-unistall
進入圖像模式 CTRL+ALT+F7
1.3 重新開機電腦
/。。。。。。。。。。。。注意。。。。。。。。。。/
安裝
第一種
1、 解除安裝舊的驅動
sudo apt-get purge nvidia*
sudo apt-get autoremove #這個指令有時候不用也可以
加入PPA,然後更新庫,如果添加國内的鏡像源的話,可以參考https://blog.csdn.net/u010592301/article/details/90451179
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
檢視适合本機的nvidia驅動
ubuntu-drivers devices
在終端安裝上一步出現的最适合的nvidia版本,如果是384,這安裝nvidia-384, 以此類推
sudo apt-get install nvidia-384 nvidia-settings nvidia-prime
最後使用nvidia-smi 檢視是否已經讀取到安裝的驅動,然後重新開機
第二種
3、解決進入桌面
重新安裝驅動
編輯檔案blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf
在檔案最後部分插入以下兩行内容
blacklist nouveau
options nouveau modeset=0
更新系統
sudo update-initramfs -u
重新開機系統(一定要重新開機)
驗證nouveau是否已禁用
lsmod | grep nouveau 沒有反應說明成功了
4、在英偉達的官網上查找你自己電腦的顯示卡型号然後下載下傳相應的驅動。網址:http://www.nvidia.cn/page/home.html
我的是NVIDIA-Linux-x86_64-440.100
下載下傳後的run檔案拷貝至home目錄下。
5、解除安裝原先的所有驅動:
#for case1: original driver installed by apt-get:
sudo apt-get remove --purge nvidia*
安裝
先按Ctrl+Alt+F1,關閉圖形界面(過程中出現星号則證明需要輸入密碼)
1 $sudo service lightdm stop
再進入到.run檔案目錄中,安裝驅動
把.run檔案放在home檔案夾下
2 $sudo chmod a+x NVIDIA-Linux-x86_64-xxx.run //修改權限
3 $sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files //執行安裝
過程中根據提示,選擇Accept等。
(3)完成安裝
1 $sudo service lightdm start //啟動圖形界面
再按Ctrl+Alt+F7回到圖形界面即可。
以上兩種方法我都試過了,但是都把驅動安裝沒有成功,執行invidia-smi時都顯示沒有找到指令,此時我所在的環境為ubutun16.04 核心 4.4.98
然後切換回核心4.15.0-45,執行invidia-smi時出現
~$ nvidia-smi
Sat Jul 18 10:28:14 2020
±----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130 Driver Version: 384.130 |
|-------------------------------±---------------------±---------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|=++==============|
| 0 GeForce GTX 950M Off | 00000000:01:00.0 Off | N/A |
| N/A 48C P0 N/A / N/A | 129MiB / 2002MiB | 0% Default |
±------------------------------±---------------------±---------------------+
±----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1178 G /usr/lib/xorg/Xorg 82MiB |
| 0 2052 G compiz 37MiB |
| 0 2225 G fcitx-qimpanel 7MiB |
±----------------------------------------------------------------------------+
很神奇。