Linux中國

在Ubuntu上安裝和配置Nvidia Optimus驅動

背景知識

對那些不熟悉Nvidia Optimus的讀者,在板載Intel圖形晶元組和使用被稱為「GPU切換」、對需求有著更強大處理能力的NVIDA顯卡這兩者之間的進行切換是很有必要的。這麼做的主要目的是延長筆記本電池的使用壽命,以便在不需要Nvidia GPU的時候將其關閉。帶來的好處是顯而易見的,比如說你只是想簡單地打打字,筆記本電池可以撐8個小時;如果看高清視頻,可能就只能撐3個小時了。使用Windows時經常如此。

幾年前,我買了一台上網本(Asus VX6),犯的最蠢的一個錯誤就是沒有檢查Linux驅動兼容性。因為在以前,特別是對於一台上網本大小的設備,這根本不會是問題。即便某些驅動不是現成可用的,我也可以找到其它的辦法讓它正常工作,比如安裝專門模塊或者使用反向移植。對我來說這是第一次——我的電腦預先配備了Nvidia ION2圖形顯卡

在那時候,Nvidia的Optimus混合GPU硬體還是相當新的產品,而我也沒有預見到在這台機器上運行Linux會遇到什麼限制。如果你讀到了這裡,恰好對Linux系統有經驗,而且也在幾年前買過一台筆記本,你可能對這種痛苦感同身受。

[Bumblebee][4]項目直到最近因為得到Linux系統對混合圖形方面的支持才變得好起來。事實上,如果配置正確的話,通過命令行介面(如「optirun vlc」)讓你選定的應用程序能利用Nvidia顯卡功能是可行的,但讓HDMI一類的功能運轉起來就很不同了。(譯者註:Bumblebee 項目是把Nvidia的Optimus技術移到Linux上來。)

我之所以使用「如果配置正確的話」這個短語,是因為實際上為了讓它發揮出性能來往往不只是通過幾次嘗試去改變Xorg的配置就能做到的。如果你以前沒有使用過ppa-purge或者運行過「dpkg-reconfigure -phigh xserver-xorg」這類命令,那麼我可以向你保證修補Bumblebee的過程會讓你受益匪淺。

在等待了很長一段時間後,Nvidia才發布了支持Optimus的Linux驅動,但我們仍然沒有得到對雙顯卡切換的真正支持。然而,現在有了Ubuntu 14.04、nvidia-prime和nvidia-331驅動,任何人都可以在Intel晶元和Nvidia顯卡之間輕鬆切換。不過不幸的是,為了使切換生效,還是會受限於需要重啟X11視窗系統(通過註銷登錄實現)。

為了減輕這種不便,有一個小型程序用於快速切換,稍後我會給出。這個驅動程序的安裝就此成為一件輕而易舉的事了,HDMI也可以正常工作,這足以讓我心滿意足了。

安裝Nvidia Optimus驅動

為了更快地描述這個過程,我假設你已經安裝好Ubuntu 14.04或者Mint 17。

作為一名系統管理員,最近我發現90%的Linux操作通過命令行執行起來更快,但這次我推薦使用「Additional Drivers」這個應用程序,你可能使用它安裝過網卡或音效卡驅動。

注意:下面的所有命令都是在~#提示符下執行的,需要root許可權執行。在運行命令前,要麼使用「sudo su」(切換到root許可權),要麼在每條命令的開頭使用sudo運行。

你也可以在命令行輸入如下命令進行安裝:

 ~# apt-get install nvidia-331 nvidia-settings nvidia-prime 

接下來是重啟。確保你沒有安裝類似於Bumblebee或其他已載入的Nvidia驅動,否則很可能會破壞你的X11。萬一你沒有進行全新安裝,之前有安裝過Bumblebee程序,那麼在安裝nvidia-331和nvidia-prime前運行下列命令:

 ~# apt-get purge libvdpau-va-gl1 bumblebee* nvidia*

在Nvidia和非Nvidia顯卡之間切換

你可以通過按下Alt+F2或者從命令行鍵入下列命令實現Nvidia和非Nvidia(如Intel)顯卡之間的切換:

~$ nvidia-settings 

注意:~$表示不以root用戶身份執行。

你也可以使用命令行設置默認使用哪一塊顯卡:

~# prime-select intel (或 nvidia)

使用這個命令進行切換:

~# prime-switch intel (或 nvidia)

兩個命令的生效都需要重啟X11,可以通過註銷和重新登錄實現。當然重啟電腦也行。

對Ubuntu用戶鍵入命令:

~# service lightdm restart

對Mint用戶鍵入命令:

~# service mdm restart

鍵入這個命令確認哪一塊顯卡在運行:

~# prime-select query

最後,你可以通過添加ppa:nilarimogard/webupd8來安裝叫做prime-indicator的程序包,實現通過工具欄快速切換來重啟Xserver會話。要安裝它,只需要運行:

~# add-apt-repository ppa:nilarimogard/webupd8
~# apt-get update
~# apt-get install mesa-utils prime-indicator 

總結

總而言之,這個方法仍不完美,但至少它能簡單易用地提供合適的專門驅動支持。很多人不會使用這個安裝方法來設置Bumblebee,因為他們發現使用Nvidia驅動會很快耗完電池。對我個人的使用來說,這是一個更好的方法,因為我使用Nvidia只為了滿足HDMI輸出,這表示我必須把電腦插上電源才行。不然的話,Intel的顯卡對我的筆記本來說夠用了,因為除了頻繁地使用Libreoffice、Chromium和Terminator這幾個軟體我別無所求。

如果你寧願選擇在默認情況下使用Intel顯卡,為運行特定的應用程序使用Nvidia顯卡,你應該去閱讀那些Bumblebee教程。一旦你得以讓Bumblebee正常工作起來,我建議你記錄下用來配置電腦的命令和過程。因為沒有什麼比9個月之後再來一次全新安裝但忘記了上次是如何成功安裝更糟糕的事情了。

也可以花時間查看一下這個我偶然發現的腳本,用來方便地在Bumblebee和Nvidia-Prime之間進行切換,但我必須強調並沒有親自對此進行實驗。

最後,我感到非常慚愧,寫了這麼多才得以為Linux上的顯卡提供了專門支持,但仍然不能實現雙顯卡切換,因為混合圖形技術似乎是攜帶型設備的未來。一般情況下,AMD會發布Linux平台上的驅動支持,但我認為Optimus是目前為止我遇到過的最糟糕的硬體支持問題。

不管這篇教程對你的使用是否完美,但這確實是利用這塊Nvidia顯卡最容易的方法。你可以試著在Intel顯卡上只運行最新的Unity,然後考慮2到3個小時的電池壽命是否值得權衡。

via: http://xmodulo.com/2014/08/install-configure-nvidia-optimus-driver-ubuntu.html

作者:Christopher Ward 譯者:KayGuoWhu 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國