首先推薦兩個博主的文章,大多都是參考二位
第一位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 安裝步驟如下:
1. 執行以下命令安裝
$ sudo apt-get install linux-image-extra-4.4.0-98-generic
2. 執行以下命令查看是否安裝成功
$ dpkg -l | grep 4.4.0-98-generic
具體版本號,可以查一下,4.4.后面有多種類型,都可以
3. 更新完成后重啟系統
$ 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文件,右鍵屬性,將其調成可執行文件就可以了
四、安裝驅動
/。。。。。。。。。。。。注意。。。。。。。。。。/
-
完事之后重啟電腦,發現一直循環在登錄界面進不了系統桌面
- 進入文本模式 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 查看是否已經讀取到安裝的驅動,然后重啟
————————————————
版權聲明:本文為CSDN博主「qianchess」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010592301/article/details/90452281
第二種
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 |
+-----------------------------------------------------------------------------+
很神奇。