當前位置: 首頁>>技術教程>>正文


是由Ubuntu支持的具有Optimus技術的NVIDIA GeForce?

, , , ,

問題描述

我正在考慮購買戴爾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 themThis page跟蹤Quantal的混合圖形支持,these are the blueprints for Raring

如果您從nvidia.com安裝了驅動程序

您通過直接從nvidia.com安裝驅動程序而犯了一個巨大的錯誤。如果您想要更新的驅動程序,請添加ubuntu-x-swat/x-updates PPA,因為它們將安裝nvidia驅動程序,使您的Optimus係統不會死機。

從nvidia.com安裝nvidia驅動程序後,您可能會失去所有圖形效果,黑屏或非常慢的圖形性能。卸載說明:

  1. 通過在引導之前保持Shift並選擇恢複選項來引導至恢複模式

  2. 在以下菜單中,選擇netroot

  3. 卸載nvidia:

    nvidia-uninstall
    
  4. 刪除由nvidia生成的配置文件(如果有的話):

    rm /etc/X11/xorg.conf
    
  5. 重新安裝GL的Mesa包:

    apt-get --reinstall install libgl1-mesa-glx
    
  6. 完成後,重新啟動:

    reboot
    

大黃蜂安裝說明

如果您之前安裝了Bumblebee或Ironhide,請務必查看http://wiki.bumblebee-project.org/Upgrading-on-Ubuntu上的說明

由於Bumblebee 3.0 “Tumbleweed”,它可以以安全的方式禁用Nvidia卡以節省電力(press release)。您也可以使用獨立卡運行程序以獲得更好的性能。安裝說明:

  1. Enable the Universe and multiverse repository用於Nvidia驅動程序。 1.(對於13.10 Saucy可選)添加包含最新驅動程序的PPA作為存儲庫中的驅動程序可能已過時:

    sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
    
  2. (對於13.3Raring和更早,Saucy和以後不需要)添加穩定大黃蜂版本PPA:

    sudo add-apt-repository ppa:bumblebee/stable
    sudo apt-get update
    
  3. 使用專有的Nvidia驅動程序安裝Bumblebee:

    sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
    
  4. 重新啟動或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環境變量來完成此操作。

主要的警告是,這隻適用於免費的驅動程序 – nouveauradeonintel。 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並僅在需要時啟用的指令

  1. 在終端中鍵入以下內容,

    sudo add-apt-repository ppa:bumblebee/stable
    

    然後

    sudo apt-get update
    
  2. 要使用專有的nvidia驅動程序安裝Bumblebee:

    sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
    
  3. 重啟。


如果你隻是想禁用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上也無法使用)。

這裏有幾個參考資料可以幫助您了解這一點。

  1. UbuntuForums:nVidia Optimus and Ubuntu explained

  2. 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驅動程序,祝您好運!

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/265.html,未經允許,請勿轉載。