[心得] NVidia Driver/CUDA 安裝

看板Linux作者 (令狐瑜)時間9年前 (2016/07/04 02:56), 9年前編輯推噓5(5010)
留言15則, 7人參與, 最新討論串1/2 (看更多)
歷經了好幾天的研究、無數的嚐試和搜尋 終於成功把NVidia driver & CUDA toolkit裝好了 目標是讓Intel HD 4000負責X Server,顯卡只用在特殊運算 分享我的方法給大家 前面遇過的問題懶得看的可以直接跳到最後看成功安裝的方法 有錯誤的觀念還請高手幫忙訂正 感謝 A. 環境 -NB: Gigabyte U2442D -OS: Debian 8.5 (kernel: 4.6 from jessie-backports) -Video Card: Intel HD 4000 + NVidia GT730m B. 遇過的問題 1. 傻傻的直接用apt-get install nvidia-current安裝,重開之後X Server掛掉: 去看/var/log/Xorg.0.log,找到error message如下: failed to initialize glx extension (compatible nvidia x driver not found) 這問題的原因其實是NVidia Driver在裝的時候把GLX相關的lib蓋掉了,例如libglx.so 仔細看log就會發現很奇怪 X Server在啟動的時候,glx這邊怎麼會去用到NVidia的driver 理論上是要讓Intel HD 4000全權負責X Server,NV卡只有特別運算的時候要用 2. 傻傻的直接用apt-get install nvidia-cuda-toolkit安裝driver+CUDA: 發生同上的問題 3. 如果裝完NVidia driver之後沒有重開,開啟NVidia X Server的程式的話有錯誤: 錯誤內容是說沒有弄Xorg.conf,叫你跑nvidia-xconfig 這個不用理他,因為目標是讓Intel Graphics去負責X Server NVidia根本完全不應該參與到這部分 4. 不過一開始我不知道,所以還是照一些網路說明設定了Xorg.conf: 看log,error message變成no device detected,後面就沒有深究了 5. 用apt-get install bumblebee-nvidia安裝: 如果你沒有要用CUDA的話,一般筆電照這個方式安裝應該就可以了 這個套件會順便幫你裝好NVidia driver,然後一般時候把NVidia獨顯關掉 理論上應該是會有明顯的省電,要用獨顯的話要用optirun指令 可是!!! 我後來裝完CUDA Toolkit,測試跑CUDA程式的時候,竟然不能用 所以我就放棄這個方法了,沒有深究 czm大好像是用這個方法成功的,可以參考他的文章 C. 最後成功的方法 1. Ctrl+Alt+F1切到command line interface 2. 關掉X Server (sudo service gdm3/lightdm/看你用哪種桌面 stop) 3. blacklist掉nouveau,不然NVidia driver不給安裝: 在/etc/modprobe.d/下新增一個檔案: blacklist-nouveau.conf,內容如下: blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off 4. sudo update-initramfs -u 這行用意不清楚,沒有認真查XDDD 5. 下載NVidia official site上面的.run檔來安裝 6. 關鍵的一步,後面加flag避免又裝到奇怪的glx library 如果你只要裝driver: ./Driver安裝檔名.run --no-opengl-files --no-libglx-indirect 如果你是要裝CUDA+driver: ./CUDA Toolkit安裝檔名.run --no-opengl-libs 7. 安裝過程中,問你要不要用nvidia-xconfig相關訊息,一律答no 8. Driver裝好應該就OK了,還有裝CUDA Toolkit的話,要在.bashrc裡加幾行如下: export CUDA_HOME=/usr/local/cuda–8.5 export LD_LIBRARY_PATH=${CUDA_HOME}/lib64 PATH=${CUDA_HOME}/bin:${PATH} export PATH 9. source ~/.bashrc之後,就有CUDA相關的command了,大功告成 10. 確認有沒有裝好,可以去CUDA Samples裡面試試看,看你裝在哪裡,以我來說: cd /usr/local/cuda/sample/1_Utilities/deviceQuery make (Compile範例CUDA code) ./deviceQuery (執行成功的話應該會顯示NVidia獨顯的詳細資訊) 11. 大功告成啦! D. References https://www.parallel-computing.pro/index.php/9-cuda/20-ubuntu-cuda http://goo.gl/zsLUeO (NVidia的論壇) http://goo.gl/5yv6ug (AskUbuntu論壇) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.8.128.192 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1467572201.A.36F.html ※ 編輯: fishlinghu (124.8.128.192), 07/04/2016 02:59:42

07/04 09:10, , 1F
update-initramfs 更新開機 ramdisk image: initrd.img
07/04 09:10, 1F

07/04 14:38, , 2F
官版run包有支援dkms嗎?(kernel更新時重新編譯driver模組)
07/04 14:38, 2F

07/04 18:40, , 3F
cuda 8.5出了?
07/04 18:40, 3F

07/04 18:40, , 4F
我記得只有7.5阿
07/04 18:40, 4F

07/04 23:10, , 5F
好像有 我記得安裝的過程中有看到
07/04 23:10, 5F

07/04 23:10, , 6F
官方目前出到8.0 RC 我筆誤哈哈
07/04 23:10, 6F

07/05 20:28, , 7F
I have to try it!
07/05 20:28, 7F

07/05 22:42, , 8F
看您的步驟c-6-2,請問您是否在安裝driver之前就可以安
07/05 22:42, 8F

07/05 22:42, , 9F
裝cuda?
07/05 22:42, 9F

07/06 02:22, , 10F
因為cuda toolkit的安裝檔有包括driver的安裝檔喔
07/06 02:22, 10F

07/06 02:23, , 11F
過程中他會問你要不要裝driver
07/06 02:23, 11F

07/06 21:34, , 12F
想問一下用 backports 的穩定性? 看了wiki還是有點擔心
07/06 21:34, 12F

07/06 23:18, , 13F
目前沒什麼問題欸 你用舊kernel應該也是沒差啦
07/06 23:18, 13F

07/06 23:19, , 14F
我記得jessie-backports應該也算穩定的?
07/06 23:19, 14F

07/06 23:32, , 15F
穩定的話 是想把虛擬機上新kernel和一些有的沒的
07/06 23:32, 15F
文章代碼(AID): #1NUL_fDl (Linux)
文章代碼(AID): #1NUL_fDl (Linux)