IT之家學院:如何為Linux配置雙顯卡

0
15

感謝TechRoomage網友 鳶一雨音 的投稿

眾所周知,自從高性能獨立圖形處理器出現之後,很多攜帶型計算機就會採取一種雙顯卡的設計:節能的核心圖形處理器用於渲染常規的桌面環境,而高性能的獨立圖形處理器則負責渲染高需求的應用程序。這種技術被稱作Optimus智能顯卡切換。但是英偉達經常被Linux用戶詬病的原因之一,便是一直不對Linux平台上心,不僅沒有Linux下的Optimus支持,驅動程序更新也慢半拍。

這意味著,Linux用戶必須在一次會話中一直使用核心顯卡或者一直使用獨立顯卡;一直使用核心顯卡會很節能,但是Hold不住某些應用程序(比如現在很多巨型的3D遊戲已經通過Steam登陸了Linux平台),而一直使用獨立顯卡將會非常耗電,即使你在做很簡單的工作。

所幸的是,Linux平台上有一個有名的第三方項目,名叫Bumblebee(大黃蜂)。這個項目目的就是給Linux提供類似Optimus技術的支持。這個項目以前並不出名,但是它某個版本的安裝腳本install.sh多敲了一個空格,從而錯誤地刪掉了所有用戶的整個/usr,這個事件使它迅速出名並獲得了大量的技術支持。這麼想也是因禍得福吧。

TechRoomage學院:如何為Linux配置雙顯卡” data-original=”https://img.ithome.com/newsuploadfiles/2017/6/20170613_191704_776.png” width=”400″ height=”463″ alt=”TechRoomage學院:如何為Linux配置雙顯卡”>

一、配置bumblebee

筆者所有指令對應於Arch Linux 64位版。

閑話收住,現在開始正式配置我們的雙顯卡。首先,安裝英偉達官方的顯卡驅動程序:

sudo pacman -S nvidia

選擇和你目前的操作系統相匹配的驅動程序,比如筆者的是Linux 4.9內核,我就應該選帶有linux49字樣的包。等待安裝完成,期間你應該會看到類似的輸出:

TechRoomage學院:如何為Linux配置雙顯卡” data-original=”https://img.ithome.com/newsuploadfiles/2017/6/20170613_191705_381.png” width=”554″ height=”415″ alt=”TechRoomage學院:如何為Linux配置雙顯卡”>

然後安裝bumblebee軟體包:

sudo pacman -S bumblebee

安裝完成之後,記得檢查當前用戶是否在用戶組「bumblebee」內。如果不是,請手動添加。重啟計算機,以使英偉達驅動被正確載入,並使bumblebee守護進程啟動。

二、測試bumblebee

Bumblebee提供了指令optirun,以使用戶在會話仍然以集成顯卡渲染的情況下,使用獨立顯卡渲染指定的應用。我們使用加了光影和視差貼圖材質包的MC(Minecraft,我的世界)來檢查獨立顯卡的運行狀態。

首先我們採用常規的方式啟動MC,我用的是HMCL啟動器:

TechRoomage學院:如何為Linux配置雙顯卡” data-original=”https://img.ithome.com/newsuploadfiles/2017/6/20170613_191705_910.png” width=”554″ height=”22″ alt=”TechRoomage學院:如何為Linux配置雙顯卡”>

下面是比較吃配置的資源包和光影:

TechRoomage學院:如何為Linux配置雙顯卡” data-original=”https://img.ithome.com/newsuploadfiles/2017/6/20170613_191706_406.png” width=”554″ height=”330″ alt=”TechRoomage學院:如何為Linux配置雙顯卡”>

TechRoomage學院:如何為Linux配置雙顯卡” data-original=”https://img.ithome.com/newsuploadfiles/2017/6/20170613_191707_4.png” width=”554″ height=”330″ alt=”TechRoomage學院:如何為Linux配置雙顯卡”>

從第二張截圖還能看出,MC識別出了我們的顯卡型號:Intel HD Graphics 5500,也就是我的集成顯卡。

我們新建一個世界,進去看看:

TechRoomage學院:如何為Linux配置雙顯卡” data-original=”https://img.ithome.com/newsuploadfiles/2017/6/20170613_191707_548.png” width=”554″ height=”311″ alt=”TechRoomage學院:如何為Linux配置雙顯卡”>

這根本就不能正確渲染。下面我們使用optirun指令來執行MC:

TechRoomage學院:如何為Linux配置雙顯卡” data-original=”https://img.ithome.com/newsuploadfiles/2017/6/20170613_191708_134.png” width=”554″ height=”22″ alt=”TechRoomage學院:如何為Linux配置雙顯卡”>

進入到光影選項,發現MC已經正確識別了我們的顯卡:

TechRoomage學院:如何為Linux配置雙顯卡” data-original=”https://img.ithome.com/newsuploadfiles/2017/6/20170613_191708_638.png” width=”554″ height=”43″ alt=”TechRoomage學院:如何為Linux配置雙顯卡”>

我們進入一個世界:

TechRoomage學院:如何為Linux配置雙顯卡” data-original=”https://img.ithome.com/newsuploadfiles/2017/6/20170613_191709_165.png” width=”554″ height=”311″ alt=”TechRoomage學院:如何為Linux配置雙顯卡”>

嗯。光影正常工作了,幀率也很高,這意味著這個程序一定是高性能獨立顯卡在渲染了。

如果你能正常使用optirun指令,那麼你的配置就完成了。

三、注意

如果你遇到了使用optirun指令會讓整個會話崩潰的情況,那麼有兩個地方你需要檢查:第一,你是否安裝了正確的nvidia包;第二,嘗試使用最新的bumblebee倉庫里的代碼自行編譯,不要使用發行版倉庫提供的版本。

Bumblebee項目不兼容Vulkan(新的圖形介面),這意味著如果你想體驗Vulkan就必須讓整個會話使用獨立顯卡渲染。

在Steam下,可以通過修改遊戲的高級啟動選項為:optirun %command% 來指定該遊戲運行在獨立顯卡上。

雖然Bumblebee有很多缺陷,包括不能支持Vulkan,但是對於Linux用戶來說,它是在Linux上實現Optimus技術的唯一途徑。希望本教程能對部分Linux用戶有所幫助。

轉載文章請附上來源:IT之家學院:如何為Linux配置雙顯卡科技空間 TechRoomage

Facebook Comments