作者gbanyan (金榕)
标题Re: [问题] CUDA安装後无法登入
时间Sat Sep 2 11:46:26 2017
关於Cuda 在 Ubuntu 上面的安装,分享一下自己的经验和猜测
桌电硬体:
Intel i5-4460 (HD4600)
Nvidia GTX 1070
OS:Ubuntu 16.04
1. 直接用套件库装驱动程式
我自己的目标是希望只用内显输出画面到萤幕,独显负责跑运算
一开始,我傻傻的加入Nvidia driver ppa, 装了最新的Driver
跟cuda-dev, cuda-toolkits
如果安装这个或者是使用Ubuntu 内建的第三方驱动程式安装Driver,
会有一个切换工具是prime-select,可以切换用内显还是独显
指令如
sudo prime-select intel or sudo prime-select nvidia
安装Nvidia Driver 後launchpad 里会出现nvidia-settings 控制台,里面也有
类似的设定
如
https://goo.gl/9kzBql 这篇教学
问题是,如果我今天只接intel 内显接口,开机登入只用intel 内显
此时是(prime-select intel的状态)
我就会没办法启用需要cuda 运算的程式。
此时如果我在终端机里面下sudo prime-select nvidia 然後不登出,
(在nvidia-settings 控制台里面切换会要你登出再登入)
就可以开始跑Cuda 的应用程式,但是因为没登出就变成启动其他程式如浏览器等都会有
问题
2. 从Nvidia 下载Driver以及cuda 自行安装
後来我按照网路的教学自行下载安装档安装
也是有先blacklist 掉noveau
cuda 有下参数--no-opengl-libs, Driver 有下--no-opengl-files
问题来了,我猜测,这样安装的话并不会考量到intel内显的情况,
安装过程中跑的nvidia-xconfig 或是安装完後用指令生成的
/etc/X11/xorg.conf 只会有nvidia 独显的设定,
变成我一定要启用nvidia 独显的接口去输出画面
所以我後来研究网路的教学自订xorg.conf
发现如果在只用intel 内显输出的情况下要启用并载入nvidia driver
必须要在xorg.conf 用一个伪装的screen 给他
比如说我的设定档像这样
https://pastebin.com/hazQPGvy
注意我宣告了两个screen, screen0, screen1,分别对应到
device0(intel), device1(nvidia)
但是在device1 加了Option "ConnectedMonitor" "DFP-0" 代表不连接任何显示器
以及Option "AllowEmptyInitialConfiguration" "true" 强制启用显示卡
在Screen1 加了Option "UseDisplayDevice" "none"
目前我的桌电就变成只用intel 内显输出,但是nvidia-driver 都有载入以及
可以直接跑cuda了
3.针对原发文者的猜测
(只是猜测......错了不要鞭我QQ
因为原发文者是笔电,
我猜如果用Ubuntu 内建的第三方驱动程式,跟加入Nvidia driver 套件库
是用prime-select 切换要用intel 内显还是nvidia 独显
bumblebee 套件根据这边教学的说明
https://wiki.archlinux.org/index.php/bumblebee#Primusrun
必须依据笔电萤幕接口连接线路到独显还内显
来配置xorg.conf
我自己是没有用bumblebee成功过
所以原发文者如果不想研究xorg.conf 怎麽设定
可以用prime-select 先试试
不然用自行下载的安装档安装的话,就是一定要设定好xorg.conf了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.116.198.73
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1504323991.A.7E1.html
※ 编辑: gbanyan (140.116.198.73), 09/02/2017 11:48:37