問題描述
我正在考慮購買戴爾XPS 15筆記本電腦。筆記本電腦有一個Nvidia 420m卡,應該可以與Linux一起工作,但我一直在閱讀,認為Nvidia Optimus技術在Linux上不受支持。我並不是真的有興趣從Nvidia切換到Intel來節省電力,但需要知道,如果我安裝了Ubuntu,Nvidia卡實際上可以工作。
如果任何人有使用Optimus技術的Nvidia卡的經驗,或者更好的確切的筆記本電腦(戴爾XPS 15與1GBNVIDIA®GeForce®GT 420M),那就太好了。
阻礙人們采用Linux的一個主要問題是這類硬件問題。我是一位長期的Ubuntu用戶和支持者,他們無法承受購買此類產品時犯的錯誤。我不想花費500英鎊找到我沒有圖形加速,因為Windows 7不是一個選項。
最佳解決方法
即使Supported Products tab on the driver download page表示支持GT420M,Optimus變體也不受支持。從附加信息選項卡:
Some designs incorporating supported GPUs may not be compatible with the Nvidia Linux driver: in particular, notebook and all-in-one desktop designs with switchable (hybrid) or Optimus graphics will not work if means to disable the integrated graphics in hardware are not available.
這種Optimus設計意味著獨立的Nvidia卡被連接到集成的Intel GPU中,並且根本不連接到顯示器。一些混合圖形筆記本電腦仍然允許您在BIOS中選擇Nvidia顯卡,但是大多數現代化的Optimus筆記本電腦都沒有這個選項。
我從經驗上講,我有一個GT425M與一個i5-460M處理器相結合。如果沒有用於切換/禁用該卡的BIOS或硬件設置,則會丟掉您的錢。 XPS 15係列似乎沒有任何這些功能。雖然您可以使用英特爾圖形卡,但您也可能需要使用Nvidia卡,因為您已經為此付費,但目前尚不可能。
沒有Optimus,你最好找另一台筆記本電腦。 Optimus是廢話,Nvidia拒絕為Linux提供更好的支持。如果您冒險購買此類筆記本,請訪問Linux Hybrid Graphics blog並訂閱其Launchpad mailing list。訪問他們的wiki各種方式獲得這樣的卡(希望)工作。一種方法叫做Bumblebee,它允許你在你的nvidia卡上渲染程序。我目前推薦它比其他解決方案(披露:我是一個開發人員)。
Ubuntu 12.10 Quantal將隨第一批出貨,為稱為PRIME的混合圖形筆記本電腦提供真正的支持。這是高度實驗性的和發展中的,可能對許多人來說不夠穩定。隻有open-source圖形驅動程序支持此操作,但是Nvidia may release support in the future too if it is not too much work for them。 This page跟蹤Quantal的混合圖形支持,these are the blueprints for Raring。
如果您從nvidia.com安裝了驅動程序
您通過直接從nvidia.com安裝驅動程序而犯了一個巨大的錯誤。如果您想要更新的驅動程序,請添加ubuntu-x-swat/x-updates
PPA,因為它們將安裝nvidia驅動程序,使您的Optimus係統不會死機。
從nvidia.com安裝nvidia驅動程序後,您可能會失去所有圖形效果,黑屏或非常慢的圖形性能。卸載說明:
-
通過在引導之前保持
Shift
並選擇恢複選項來引導至恢複模式 -
在以下菜單中,選擇
netroot
。 -
卸載nvidia:
nvidia-uninstall
-
刪除由nvidia生成的配置文件(如果有的話):
rm /etc/X11/xorg.conf
-
重新安裝GL的Mesa包:
apt-get --reinstall install libgl1-mesa-glx
-
完成後,重新啟動:
reboot
大黃蜂安裝說明
如果您之前安裝了Bumblebee或Ironhide,請務必查看http://wiki.bumblebee-project.org/Upgrading-on-Ubuntu上的說明
由於Bumblebee 3.0 “Tumbleweed”,它可以以安全的方式禁用Nvidia卡以節省電力(press release)。您也可以使用獨立卡運行程序以獲得更好的性能。安裝說明:
-
Enable the Universe and multiverse repository用於Nvidia驅動程序。 1.(對於13.10 Saucy可選)添加包含最新驅動程序的PPA作為存儲庫中的驅動程序可能已過時:
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
-
(對於13.3Raring和更早,Saucy和以後不需要)添加穩定大黃蜂版本PPA:
sudo add-apt-repository ppa:bumblebee/stable sudo apt-get update
-
使用專有的Nvidia驅動程序安裝Bumblebee:
sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
-
重新啟動或re-login以應用組更改
如果您想現在在NVIDIA卡上運行程序,請使用optirun
程序:
optirun firefox &
如果您隻對省電感興趣,請將步驟4中的最後一條命令替換為:
sudo apt-get install --no-install-recommends bumblebee linux-headers-generic
稍後,您仍然可以通過安裝bumblebee-nvidia
來使用NVIDIA。如果您想使用32位程序,您仍然可以使用sudo apt-get install virtualgl-libs-ia32
安裝所需的庫。您必須添加linux-headers-generic,否則無法建立省電模塊bbswitch
。
除了virtualgl之外,您還可以嘗試primus
以獲得更好的性能。軟件包名稱是primus
,您可以使用:
primusrun glxgears
# alternative that is nearly the same:
optirun -b primus glxgears
(注意:在詢問60fps的限製之前,請閱讀its FAQ。)
另見https://wiki.ubuntu.com/Bumblebee
筆記:
-
不建議使用
acpi_call
。默認情況下,它不會存在掛起。 -
不要使用
ppa:mj-casalogic/bumblebee
或MrMEEE /bumblebee-Old-and廢棄的git,它不再被維護,並且包含很多錯誤。 -
Martin Juhl將原來的大黃蜂分為鐵皮,但在我看來,它不應該被使用,因為原始大黃蜂的設計缺陷仍然存在,並且”power management”功能不穩定(使用錯誤的方法,_ON和_OFF)。安裝仍然是一團糟,您的安裝可能會在拆除後被破壞。
如果你不想使用nvidia卡和Bumblebee
如果您不小心安裝了nvidia驅動程序(即使用騎師),您有兩種選擇:
-
卸載驅動程序(包
nvidia-current
) -
按照this bugreport中的描述設置默認的OpenGL庫
次佳解決方法
從Ubuntu 12.10開始更新:
所有支持混合圖形所需的圖形堆棧都使其成為12.10; Quantal Quetzal具有支持混合圖形的基礎架構 – 既可以在外部顯示器隻能由分立芯片驅動時擴展顯示器,也可以在分立芯片上運行應用程序並將其顯示在集成GPU上。
有兩個警告,但是,一個大,一個未成年人。
小問題是沒有GUI支持 – 沒有明顯的方式在獨立GPU上運行應用程序。您可以通過在啟動應用程序之前設置DRI_PRIME=1
環境變量來完成此操作。
主要的警告是,這隻適用於免費的驅動程序 – nouveau
,radeon
和intel
。 Nvidia現在表示有興趣在Linux上支持混合圖形,但他們需要使用的dma-buf
內核符號被標記為GPL,他們不會使用它們。
此外,混合支持隻看到了輕度測試,並且仍然有部分仍然需要實施,例如跨GPU同步以防止撕裂。
截至Ubuntu 12.04 LTS的狀態:
nVidia的官方立場是,他們沒有計劃在Linux上支持Optimus – 我們的圖形堆棧設計時假設隻有一張顯卡正在驅動某個顯示器,而且這並不容易。
Dave Airlie已經在X服務器和內核中解決了這個問題,並且很可能會在drm-buf
工作中進行重新設計,而drm-buf
工作主要是通過Linaro從ARM世界出來的。一旦完成並運行 – 這似乎需要6個月到一年的時間 – 才能正確完成混合圖形。那時nVidia可能會重新考慮在Linux上支持Optimus,因為它不會再是實現¹的巨大技術混亂。
就現在支持混合圖形而言,Bumblebee項目在這方麵做了一些事情。它基本上在nVidia卡上運行第二台X服務器,並在整個渲染輸出中進行複製。這並沒有聽起來那麽糟糕 – 這基本上就是nVidia卡在Windows 7下的功能,隻需要一點硬件支持。
Ubuntu X團隊不打算支持Bumblebee或Ironhide(大黃蜂的一個分支)。
如果您的係統有BIOS選項可以在Intel和nVidia卡之間切換,那麽您可以在它們之間進行選擇。
如果您的係統有一個硬件多路複用器 – 因此nVidia和Intel GPU都連接到輸出 – 並且vga_swicheroo可以工作,您可以使用該接口在它們之間切換,但前提是您使用的是open-source驅動程序。對於12.04,我們計劃確保在這種情況下關閉未使用的GPU,從而延長電池壽命。
如果您的係統沒有BIOS選項,並且沒有vga_switcheroo知道如何開車的硬件多路複用器,那麽您的nVidia卡將在12.04無法使用。
¹:AMD的fglrx
驅動程序對混合圖形有一定的支持。它似乎是假裝成X服務器並加載英特爾驅動程序本身。這不是一個幹淨的解決方案☺。
第三種解決方法
您的筆記本電腦已啟用nvidia – optimus。其雙顯卡配置可節省電量。目前NVIDIA在Linux中不提供對這項技術的支持。所以在Linux中,這兩個顯卡都會導致電池消耗過高和過熱。欲了解更多詳情,請閱讀以下鏈接。
在Optimus技術中,英特爾圖形始終處於開啟狀態。當你使用GT540M時,由GT540M生成的圖像通過intel grphics卡進行傳輸。
在Linux中可用的選項
關閉NVIDIA GT540M並僅使用英特爾。隻有在需要時才使用Nvidia卡和特殊命令。 Also never install nvidia-drivers alone.
安裝Bumblebee以關閉獨立GPU並僅在需要時啟用的指令
-
在終端中鍵入以下內容,
sudo add-apt-repository ppa:bumblebee/stable
然後
sudo apt-get update
-
要使用專有的nvidia驅動程序安裝Bumblebee:
sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
-
重啟。
如果你隻是想禁用nvidia卡,不需要學習以下內容
使用說明:
要使用nvidia卡運行程序,請使用optirun
命令作為終端前綴。喜歡用nvidia卡類型運行glxspheres
。然而,gui方法也存在。
optirun glxspheres
運行firefox類型:
optirun firefox &
注意:如果您打算運行Wine等32位程序並使用Ubuntu 11.10 Oneiric或更高版本,請安裝32位庫:
sudo apt-get install virtualgl-libs:i386 libgl1-mesa-glx:i386 libc6:i386
相關問題:
Can’t use nvidia card/driver on optimus notebook
第四種方法
NVIDIA Optimus在目前的Unix平台上不受任何支持。
這是特別針對任何基於NVIDIA®(英偉達™)的基於NVIDIA®(英偉達™)處理器的筆記本電腦(移動)係統而言的,該係統在OPTIMUS的規格列表中表示。您甚至無法在Ubuntu中使用NVIDIA圖形。您將需要使用集成的英特爾圖形驅動程序(在您的平台支持的範圍內 – 桑迪橋支持仍然很弱)。
應該指出的是,Optimus不同於在集成(通常是英特爾)和分立(NVIDIA,ATI)圖形係統之間切換的老式功能。借助Optimus,集成的圖形路徑始終處於使用狀態,並且可以在需要時(另外)啟用獨立圖形 – 此時需要Windows 7(afaik,在Vista上也無法使用)。
這裏有幾個參考資料可以幫助您了解這一點。
-
UbuntuForums:nVidia Optimus and Ubuntu explained
-
phoronix:Will NVIDIA Optimus Inevitably Come To Linux?由Michael Larabel於2011年4月25日發布
提示:我使用帶有525M Optimus獨立圖形的XPS 15 L502x。
更新:這是Additional Information
選項卡中NVIDIA Drivers 270.06頁麵的引用。
Some designs incorporating supported GPUs may not be compatible with the NVIDIA Linux driver: in particular, notebook and all-in-one desktop designs with switchable (hybrid) or Optimus graphics will not work if means to disable the integrated graphics in hardware are not available.
現在,如果您想從Linux驅動NVIDIA,您就知道在基於NVIDIA®(英偉達™)的筆記本電腦規格中需要尋找什麽。
更新:看看Bumblebee-Project。從那裏的README
開始。
第五種方法
目前有Bumblebee支持nVidia Optimus。
我有戴爾Latitude E6520與英特爾酷睿i5(與內置英特爾圖形)和nVidia 420M圖形卡。您可以使用optirun
(在終端中鍵入optirun programname
以啟動programname
)運行程序,然後它將能夠使用nVidia圖形。
我沒有用CUDA程序嘗試過。
第六種方法
Nvidia驅動程序無法工作,因為戴爾沒有BIOS選項來選擇顯卡。 Try a stable release of bumblebee。它昨天在戴爾l502x(525M卡)上工作,我重新啟動多次後進行了驗證。默認情況下會使用英特爾,但您可以使用命令optirun使用NVIDIA來運行應用程序。你也必須在啟動後重新啟動大黃蜂。
第七種方法
我認為NVidia Optimus在11.10和11.04都可以和Ironhide一起使用。我認為任何不購買Optimus筆記本電腦的建議都是迂腐和咄咄逼人的。誰需要在Linux筆記本電腦24×7上運行圖形怪獸?英特爾GPU在功耗方麵要好得多,據我所知,Ironhide在調用Optirun之前不會運行NVidia GPU。我對我的Optimus筆記本電腦非常滿意。
缺乏對外部顯示器的適當支持(我無法獲得1080i分辨率)是SandyBridge Intel HD3000問題,我相信這些問題將在以後的版本中分類。這個問題與Optimus無關,並將出現在所有英特爾HD3000筆記本電腦上。
This guide適用於Dell XPS17 L702x筆記本電腦和Oneiric,但我相信它適用於大多數Optimus筆記本電腦。
請務必在遵循上述鏈接之前刪除所有NVidia驅動程序,祝您好運!