NVidia Driver/CUDA 安裝 - Linux

By Margaret
at 2016-07-04T02:56
at 2016-07-04T02:56
Table of Contents
歷經了好幾天的研究、無數的嚐試和搜尋
終於成功把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論壇)
--
終於成功把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論壇)
--
Tags:
Linux
All Comments

By Blanche
at 2016-07-05T06:52
at 2016-07-05T06:52

By Jake
at 2016-07-09T07:25
at 2016-07-09T07:25

By Anonymous
at 2016-07-10T01:18
at 2016-07-10T01:18

By Quintina
at 2016-07-13T05:55
at 2016-07-13T05:55

By Isla
at 2016-07-15T08:17
at 2016-07-15T08:17

By Heather
at 2016-07-18T07:11
at 2016-07-18T07:11

By Adele
at 2016-07-20T03:51
at 2016-07-20T03:51

By Quanna
at 2016-07-20T23:21
at 2016-07-20T23:21

By Joseph
at 2016-07-22T13:57
at 2016-07-22T13:57

By Tracy
at 2016-07-25T03:15
at 2016-07-25T03:15

By Elizabeth
at 2016-07-27T02:24
at 2016-07-27T02:24

By Dinah
at 2016-07-31T02:17
at 2016-07-31T02:17
Related Posts
Slackware 14.2

By Annie
at 2016-07-02T23:45
at 2016-07-02T23:45
鳥哥linux二手 第三版 台北面交

By Ivy
at 2016-07-02T22:49
at 2016-07-02T22:49
看不懂十六進制的charset內容

By David
at 2016-07-01T17:24
at 2016-07-01T17:24
NVidia的driver真難裝

By Freda
at 2016-06-30T22:15
at 2016-06-30T22:15
LibreOffice 簡報者畫面

By Steve
at 2016-06-30T13:09
at 2016-06-30T13:09