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


Ubuntu 是否支持采用 Optimus 技術的 NVIDIA GeForce?

, , ,

問題描述

我正在考慮購買戴爾 XPS 15 筆記本電腦。筆記本電腦有一個 Nvidia 420m 卡,應該可以在 Linux 上使用,但我一直在讀到 Nvidia Optimus 技術在 Linux 上不受支持。我對從 Nvidia 切換到 Intel 以節省電量並不感興趣,但我需要知道如果我安裝了 Ubuntu,Nvidia 卡實際上可以工作。

如果任何人有使用帶有 Optimus 技術的 Nvidia 卡的經驗,或者甚至更好的確切筆記本電腦(帶 1GB NVIDIA\xae GeForce\xae GT 420M 的戴爾 XPS 15),那就太好了。

阻礙人們采用 Linux 的一個主要問題是這種硬件問題。\n我是 Ubuntu 的長期用戶和支持者,我不能在這樣的購買中犯錯誤。\n我不想花 \ xa3500+ 發現我沒有圖形加速,因為 Windows 7 不是一個選項。

最佳方案

即使 Supported Products tab on the driver download page 表示支持 GT420M,也不支持 Optimus 變體。從附加信息選項卡:

\\n

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.

\\n

這種 Optimus 設計意味著獨立的 Nvidia 卡被連接到集成的英特爾 GPU 中,並且它根本沒有連接到顯示器。一些混合圖形筆記本電腦仍然允許您在 BIOS 中選擇 Nvidia 卡,但大多數現代 Optimus 筆記本電腦沒有此選項。

根據經驗,我有一個 GT425M 和一個 i5-460M 處理器。如果沒有用於切換/禁用卡的 BIOS 或硬件設置,那麽您就是在浪費錢。 XPS 15 係列似乎沒有任何這些功能。雖然您可以使用 Intel 顯卡,但您可能還想使用 Nvidia 顯卡,因為您已經為它付費,但目前無法直接使用。

你最好找另一台沒有 Optimus 的筆記本電腦。 Optimus 很垃圾,Nvidia 拒絕為 Linux 提供更好的支持。如果您喜歡冒險並購買這樣的筆記本,請訪問 Linux Hybrid Graphics blog 並訂閱其 Launchpad mailing list。訪問他們的 wiki 了解各種方法來讓這樣的卡(希望如此)工作。一種方法稱為 Bumblebee,它允許您在 nvidia 卡上呈現程序。我目前推薦它而不是其他解決方案(披露:我是它的開發人員)。

Ubuntu 12.10 Quantal 將附帶第一批真正支持混合圖形筆記本電腦的版本,稱為 PRIME。這是高度實驗性和開發中的,可能對許多人來說不夠穩定。隻有開源圖形驅動程序支持這一點,盡管 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. 卸載英偉達:

    \n

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

    \n

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

    \n

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

    \n

    reboot\n

大黃蜂的安裝說明

如果之前安裝過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 驅動程序。\n1.(13.10 Saucy 可選)添加包含最新驅動程序的 PPA,因為存儲庫中的驅動程序可能已過時:

    \n

    sudo add-apt-repository ppa:ubuntu-x-swat/x-updates\n
  2. (對於 13.04 Raring 及更早版本,Saucy 及更高版本不需要)添加穩定的 Bumblebee 版本 PPA:

    \n

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

    \n

    sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic\n
  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

(注意:在詢問 60 fps 限製之前,請閱讀 its FAQ 。)

另見 https://wiki.ubuntu.com/Bumblebee

筆記:

  • 手動使用 acpi_call 已棄用。默認情況下,它不會在掛起後繼續存在。

  • 不要使用 ppa:mj-casalogic/bumblebee 或 MrMEEE/bumblebee-Old-and-abandoned git,它不再維護並且包含很多錯誤。

  • Martin Juhl 將原始的 Bumblebee 分叉到 Ironhide,但在我看來不應該使用它,因為原始 Bumblebee 的設計缺陷仍然存在並且 “power management” 功能不穩定(使用了錯誤的方法,_ON 和 _OFF)。安裝仍然一團糟,刪除後您的安裝可能會損壞。

如果您不想使用 nvidia 卡或 Bumblebee

如果您不小心安裝了 nvidia 驅動程序(即使用 jockey),您有兩種選擇:

  • 卸載驅動程序(包 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 工作主要來自 ARM 世界,通過 Linaro。一旦這一切都啟動並運行——這似乎需要 6 個月到一年的時間——就可以正確地進行混合圖形。到那時,nVidia 可能會重新考慮在 Linux 上支持 Optimus,因為實施\xb9 不再是一個巨大的技術混亂。

在現在支持混合圖形方麵,Bumblebee 項目按照這些思路做了一些事情。它本質上是在 nVidia 卡上運行第二個 X 服務器,並在渲染輸出中進行複製。這並不像聽起來那麽糟糕——這基本上也是 nVidia 卡在 Windows 7 下所做的,隻是有一點硬件支持。

Ubuntu X 團隊不打算支持 Bumblebee 或 Ironhide(Bumblebee 的一個分支)。

如果您的係統有一個 BIOS 選項可以在 Intel 和 nVidia 卡之間切換,那麽您可以在它們之間進行選擇。

如果您的係統有硬件多路複用器——因此 nVidia 和 Intel GPU 都連接到輸出端——並且 vga_swicheroo 工作,您可以使用該接口在它們之間切換,但前提是您使用的是開源驅動程序。對於 12.04,我們計劃確保在這種情況下關閉未使用的 GPU,這應該會延長電池壽命。

如果您的係統沒有 BIOS 選項並且沒有 vga_switcheroo 知道如何驅動的硬件多路複用器,那麽您的 nVidia 卡將無法在 12.04 上使用。

\xb9:AMD 的 fglrx 驅動程序對混合圖形有一些支持。它似乎通過偽裝成 X 服務器並加載 Intel 驅動程序本身來做到這一點。這不是一個幹淨的解決方案\u263a。

第三種方案

您的筆記本電腦已啟用 nvidia – optimus。它采用雙顯卡配置以節省電量。目前 nvidia 在 linux 中不提供對這項技術的任何支持。所以在 linux 中,兩個顯卡都在這導致高電池消耗和過熱。有關詳細信息,請閱讀下麵列出的鏈接。

在 Optimus Tech 中,英特爾圖形始終處於打開狀態。當您使用 GT540M 時,GT540M 生成的圖像實際上是通過 intel 顯卡傳輸的。

Linux 中可用的選項

關閉 nvidia GT540M 並僅使用 intel。僅在需要時使用帶有特殊命令的 Nvidia 卡。 Also never install nvidia-drivers alone.

安裝 Bumblebee 關閉獨立 GPU 並僅在需要時啟用的說明

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

    \n

    sudo add-apt-repository ppa:bumblebee/stable\n

    \n

    然後

    \n

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

    \n

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


如果你隻是想禁用nvidia卡,不需要學習以下內容

使用說明:

要使用 nvidia 卡運行程序,請在終端中使用 optirun 命令前綴。\n比如使用 nvidia 卡類型運行 glxspheres。但是也存在 gui 方法。

optirun glxspheres

要運行火狐類型:

optirun firefox &

注意:如果您打算運行 32 位程序(如 Wine)並使用 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 平台上不受任何支持。

這專門針對在其規格列表中​​注明 OPTIMUS 的任何基於 NVIDIA 的筆記本電腦(移動)係統。您甚至無法在您的 Ubuntu 中使用 NVIDIA 顯卡。您將需要使用集成的 Intel 顯卡驅動程序(在您的平台支持它們的範圍內——Sandy Bridge 支持仍然很薄弱)。

應該注意的是,Optimus 不同於舊的在集成(通常是 Intel)和獨立(NVIDIA、ATI)圖形係統之間切換的能力。使用 Optimus,集成顯卡路徑始終處於使用狀態,並允許您(另外)在需要時啟用獨立顯卡——目前這需要 Windows 7(afaik,也不適用於 Vista)。

這裏有一些參考資料可以幫助您加快速度。

  1. Ubuntu 論壇:nVidia Optimus and Ubuntu explained

  2. phoronix:Will NVIDIA Optimus Inevitably Come To Linux ?\nMichael Larabel 於 2011 年 4 月 25 日發布

提示:我使用帶有 525M Optimus 獨立顯卡的 XPS 15 L502x。


更新:這是 Additional Information 選項卡中 NVIDIA Drivers 270.06 頁麵的引用。

\\n

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.

\\n

如果您想從 Linux 驅動 NVIDIA,現在您知道在基於 NVIDIA 的新筆記本電腦規格中尋找什麽了。


更新:查看 Bumblebee-Project。\n從那裏的 README 開始。

第五種方案

目前有 Bumblebee 支持 nVidia Optimus。

我有一台 Dell Latitude E6520,配備 Intel Core i5(帶有 內置 Intel 顯卡)和 nVidia 420M 顯卡。您可以使用 optirun 運行程序(在終端中鍵入 optirun programname 以啟動 programname ),然後它將能夠使用 nVidia 圖形。

我還沒有用 CUDA 程序試過。

參考資料

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