Re: [問題] CUDA安裝後無法登入
關於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://www.ptt.cc/bbs/Linux/M.1504323991.A.7E1.html
※ 編輯: gbanyan (140.116.198.73), 09/02/2017 11:48:37
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
10
26
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章