作者fishlinghu (令狐瑜)
看板Linux
标题[心得] NVidia Driver/CUDA 安装
时间Mon Jul 4 02:56:02 2016
历经了好几天的研究、无数的嚐试和搜寻
终於成功把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://webptt.com/cn.aspx?n=bbs/Linux/M.1467572201.A.36F.html
※ 编辑: fishlinghu (124.8.128.192), 07/04/2016 02:59:42
1F:推 Bencrie: update-initramfs 更新开机 ramdisk image: initrd.img 07/04 09:10
2F:推 Adama: 官版run包有支援dkms吗?(kernel更新时重新编译driver模组) 07/04 14:38
3F:推 soheadsome: cuda 8.5出了? 07/04 18:40
4F:→ soheadsome: 我记得只有7.5阿 07/04 18:40
5F:→ fishlinghu: 好像有 我记得安装的过程中有看到 07/04 23:10
6F:→ fishlinghu: 官方目前出到8.0 RC 我笔误哈哈 07/04 23:10
7F:推 czm: I have to try it! 07/05 20:28
8F:推 tkigood: 看您的步骤c-6-2,请问您是否在安装driver之前就可以安 07/05 22:42
9F:→ tkigood: 装cuda? 07/05 22:42
10F:→ fishlinghu: 因为cuda toolkit的安装档有包括driver的安装档喔 07/06 02:22
11F:→ fishlinghu: 过程中他会问你要不要装driver 07/06 02:23
12F:→ Bellkna: 想问一下用 backports 的稳定性? 看了wiki还是有点担心 07/06 21:34
13F:→ fishlinghu: 目前没什麽问题欸 你用旧kernel应该也是没差啦 07/06 23:18
14F:→ fishlinghu: 我记得jessie-backports应该也算稳定的? 07/06 23:19
15F:→ Bellkna: 稳定的话 是想把虚拟机上新kernel和一些有的没的 07/06 23:32