CUDA安裝後無法登入 - Linux
![Zora avatar](/img/girl1.jpg)
By Zora
at 2017-09-02T11:46
at 2017-09-02T11:46
Table of Contents
關於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了
--
桌電硬體:
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了
--
Tags:
Linux
All Comments
Related Posts
centos7 安裝 xrdp-v0.6.0
![John avatar](/img/elephant.jpg)
By John
at 2017-08-30T19:45
at 2017-08-30T19:45
raspberrypi 登入問題
![Agnes avatar](/img/girl1.jpg)
By Agnes
at 2017-08-30T16:50
at 2017-08-30T16:50
有時-version,有時--version
![Barb Cronin avatar](/img/boy1.jpg)
By Barb Cronin
at 2017-08-30T15:22
at 2017-08-30T15:22
有時-version,有時--version
![Jake avatar](/img/cat3.jpg)
By Jake
at 2017-08-30T13:38
at 2017-08-30T13:38
CUDA安裝怎麼那麼難
![Sierra Rose avatar](/img/cat3.jpg)
By Sierra Rose
at 2017-08-30T12:58
at 2017-08-30T12:58