1. 程式人生 > >Arch Linux 下Intel + NVIDIA 雙顯示卡3D 遊戲配置([email 

Arch Linux 下Intel + NVIDIA 雙顯示卡3D 遊戲配置([email 

下午打了幾場dota2 感覺流暢度還算很不錯的,寫點東西記錄一下。用Arch Linux 的一般來說都會用搜索引擎,所以只說下需要注意的地方即可。

1. steam 自帶的OpenGL 庫是過時的,執行可能會抱怨“Cannot find OpenGL GX” 之類的東西,看ArchWiki 「steam」條目,刪除steam 自帶的幾個庫。

2. 但是刪除了steam 自帶的那些庫之後你需要在系統中安裝新版的庫,除去64 位的庫之外(不可能還有人在用32 位的系統吧),看看有沒有「lib32-mesa」和「lib32-mesa-libgl」,雙顯示卡的lib32 還需要安裝「lib32-intel-dri」,不要問為什麼,不裝上的話會非常非常卡,「primusrun」會不聲不響失敗,「optirun」會提示“cannot find opengl entry point xxxx

” 之類的東西。

3. NVIDIA 的驅動需要安裝「nvidia」而不是「nouveau」,同時安裝「nvidia-utils」 和「lib32-nvidia-utils」。不過「bumblebee」安裝的時候可能會有依賴衝突,看ArchWiki 的「bumblebee」條目,好象是同時安裝「intel-dri」、「xf86-video--intel」、「bumblebee」和「nvidia」來規避依賴衝突。

4. 「bumblebee」是用來切換獨顯來執行某個程式的東西,但是「startx」進入桌面環境還是用的Intel 核心顯示卡,所以不要生成「xorg.conf」,如果你的系統中有任何合法的「xorg.conf」,無論是「/etc/X11」下的還是主目錄下的,刪除它或者改為不會被檢測到的名字,否則你可能無法啟動X11。當然bumblebee 你也得配置好才行,「optirun glxgears -info」看看有沒有輸出「NVIDIA」字樣的資訊,輸出了就是配好了。

5. dota2 沒法用「optirun」跑起來,安裝「primus」包,使用「primusrun」來執行,當然不要在虛擬終端下跑dota2,那太挫了。steam 裡右鍵dota2,「Properties」中的「SET LUNACH OPTIONS...」 裡面填入「vblank_mode=0 primusrun %command%」,當然這是全球服,如果玩完美世界代理的國服填入「vblank_mode=0 primusrun %command% -language schinese -international -perfectworld」。

6. 如果你之前用的是開源驅動,N 卡驅動從nouveau 切換到nvidia 之後需要重新生成核心映象,看看「/etc/mkinitcpio.conf

」註釋掉所有的nouveau 模組,然後「sudo mkinitcpio -p linux」,重啟之後「dmesg」資訊裡看看有沒有「nouveau」 和「nvidia」 字樣的資訊,應該是前者沒有而後者有的。

7. 這一條不是什麼重要的東西,因為我們是雙顯示卡,只有才跑3D 的時候才會手動切換顯示卡,平時用的都是Intel 核心顯示卡,所以用不著加「nomodeset」核心引數來禁用kms。

8. 對了再說一個不是BUG 的特性,steam 安裝的dota2 跑完美代理的國服剛開始是沒法全屏的,左上角的設定裡找到視訊欄改成「全屏」就好了,以前好象是“無什麼視窗”之類的玩意兒,遊戲畫面會被Xfce4 的面板覆蓋,很蛋疼。

基本就這些了,寫的主要是ArchWiki 中含含糊糊或者沒有提及而又非常重要的東西,如果你有這個需求的話,最好參考下ArchWiki 中的以下條目:「steam」,「bumblebee」,「nvidia」。

下面是我安裝的相關包,如果有問題看看是不是少了什麼。

------------------------------------------------------------
~ » pacman -Qqs '(nvidia|intel|mesa)' | sort                [email protected]
bumblebee
glu
intel-dri
intel-tbb
lib32-glu
lib32-intel-dri
lib32-libtxc_dxtn
lib32-libvdpau
lib32-mesa
lib32-mesa-libgl
lib32-nvidia-utils
libcl
libtxc_dxtn
libvdpau
mesa
mesa-demos
mesa-libgl
nvidia
nvidia-utils
xf86-video-intel
------------------------------------------------------------
~ »                                                         [email protected]

2014/10/4Arch Linux mesa 包調整(傳送門),所有驅動都被整合到了mesa-dri,單獨的驅動包如intel-dri 已被移除(包括multilib 倉庫的驅動)。所以對應你需要安裝的包是mesa-dri 和lib32-mesa-dri。


就這樣,祝你愉快~


相關推薦

Arch Linux Intel + NVIDIA 顯示3D 遊戲配置<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="72161d06134032010617131f">[email&#160;

下午打了幾場dota2 感覺流暢度還算很不錯的,寫點東西記錄一下。用Arch Linux 的一般來說都會用搜索引擎,所以只說下需要注意的地方即可。 1. steam 自帶的OpenGL 庫是過時的,

Linux$#,$0,$1,$2,$3,<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bc98fc">[email&#160;protected]a>,$*,$$,$?代表的含義

$# :傳給指令碼的引數個數; $0 :指令碼名稱; $n :n為數字,代表傳給指令碼的第n個引數; [email protected] :引數列表; $* :也是顯示引數列表,與上一條命

LinuxMakefile的編寫及四個特殊符號的意義@、<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="062246">[email&#160;protected]a>、$^、$

我們先看三段C++程式: 一、line1的原始碼 line1.h #ifndef _LINE_1_H #define _LINE_1_H void line1_print(const char *strMsg); #endif line1.cpp #includ

linux bash Shell特殊變數:Shell $0, $#, $*, <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8aaeca">[email&#160;protected]a>, $?

在linux下配置shell引數說明 前面已經講到,變數名只能包含數字、字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。  例如,$ 表示當前Shell程序的ID,即pid,看下面的程式碼: [[email protected] /]$ ec

linux中,$*和<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="90b4d0">[email&#160;protected]a>有什麼區別?

看了很多的文章,依然似懂非懂。現在,終於理解了它們兩者之間的區別。 $*會把當前指令碼的所有引數作為一個引數傳遞給子指令碼。(在英文中,*字元有“所有”的意思) [email protected]會把當前指令碼的所有引數分別作為一個引數傳遞給子指令碼。(在英文中,@字元有“獨立”的

【Shell】linux bash Shell特殊變數:Shell $0, $#, $*, <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4f6b0f">[email&#160;protected]<

在linux下配置shell引數說明 前面已經講到,變數名只能包含數字、字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。  例如,$ 表示當前Shell程序的ID,即pid,看下面的程式碼: $echo $$ 執行結果 29949

linux中,$*和<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="250165">[email&#160;protected]a>有什麼區別?

看了很多的相關文章,似懂非懂。現在,終於真正理解了它們兩者之間的區別。 首先我們看如下一個bash命令: ./start.sh "a b" "c" "d" 請問,給start.sh指令碼傳遞了幾個引數? 大部分人都知道,總共傳遞了3個引數,其中,$1等於a b,$2等

MacOSgit clone <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b8dfd1ccf8dfd1ccd0cdda96dbd7d5">[email&#160;protected]a>: P

MacOS下git clone [email protected]: Permission denied (publickey)錯誤及解決方式 前言 錯誤訊息 解決辦法 改用git當使用者名稱 檢查是否有使用key

linux備忘筆記】Linux root 從bash-3.2回到<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="8af8e5e5fecae6e5e9ebe6e2e5f9fe">[email&#160;

1.進入目錄 cd /etc/skel 2.顯示隱藏檔案 ls -a   .bash_logout  .bash_profile  .bashrc  拷貝這些隱藏檔案到/home  接

淺談linux中shell變數$#,<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="674327">[email&#160;protected]a>,$0,$1,$2,$?的含義解釋

淺談linux中shell變數$#,[email protected],$0,$1,$2,$?的含義解釋 下面小編就為大家帶來一篇淺談linux中shell變數$#,[email protected],$0,$1,$2的含義解釋。小編覺得挺不錯的,現在就分享給大家,

Git在windows的安裝和使用<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="52151b06121d0111">[email&#160;protected]a>

Git for Windows v2.7.0 Release Notes Latest update: January 5th 2016 Introduction These release notes describe issues specific to the Git for Windows rele

MingW/codeblocks <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c691958795b2a7b4b2b3b686fe">[email&#160;protected]a>報錯的解決

socket程式設計時出現如下的error: ||=== 生成: Debug in ccc (compiler: GNU GCC Compiler) ===| obj\Debug\main.o||In function `[email protected]':|

makefile$^,<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cbef8b">[email&#160;protected]a>,$?,$<,$(@D),$(@F)定義使用詳解

    每次看makefile的時候,總會遇到一些變數記不住,就需要去查詢資料,今天有時間,就順便把幾個常用的變數學習了下,順便總結了下記憶方法,感覺記住它們並不難,特把方法分享給大家。變數定義:$^所有的依賴目標的集合。以空格分隔。如果在依賴目標中有多個重複的,那個這個變數

mac/linux/centos通過 ssh <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="21534e4e5561">[email&#160;protected]a>方式連線如何上傳檔案都阿里雲

目錄1、mac上傳檔案到Linux伺服器scp 檔名 使用者名稱@伺服器ip:目標路徑如:scp /Users/test/testFile [email protected]:/test/2、mac上傳資料夾到Linux伺服器,與上傳檔案相比多加了-rscp -r

linux <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="311571">[email&#160;protected]a>和$*區別

最近學習shell程式設計,發現 [email protected]和$*很有意思,分享一下 $* 取當前shell的所有引數,將所有的命令列視為單個字串,相當於“$1$2” [email protected] 取當前shell的所有引數保留引數裡的空白

Linux Bash Shell $*和<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ffdbbf">[email&#160;protected]a>的區別

在 Linux Bash Shell 中,$* 和 [email protected] 都表示引數列表中的所有引數,它們在具體使用中會有哪些不同呢?這裡我們可以寫一個 Shell 指令碼做實

linux命令提示符[<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c8baa7a7bc88a4a7aba9a4a0a7bbbc">[email&#160;protected]a> ~]#詳解

       [[email protected] ~]#        root代表當前登入的使用者,在Linux中管理員賬戶是root        localhost當前計

Linux之間影象介面的傳輸 ssh -X <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="15606670677b74787055">[email&#160;protected]a>{remote

   之前用windows平臺連線Linux平臺,總是通過Xshell+Xming來傳輸Linux系統的介面。    現在在linux系統平臺下,通過ssh連線另一個Linux系統,如何將遠端Linux的圖形介面傳輸到當前Linux系統呢。搜了好久,好像並沒有人去問這個問題。

Makefile單字尾,字尾,以及<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="113551">[email&#160;protected]a>的意.

均是根據《跟我一起寫Makefile》寫的,只不過是具體解釋 關於Makefile的單字尾,也就是.c: $(CC) -c $< $(CFLAGS) $(INCDIRS)相當於%:%.c $(CC) -c $< $(CFLAGS) $(INCDIRS)我

Linux之Shell學習(三)Shell特殊變數:Shell $0, $#, $*, <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="321672">[email&#160;protected]a

前面已經講到,變數名只能包含數字、字母和下劃線,因為某些包含其他字元的變數有特殊含義,這樣的變數被稱為特殊變數。例如,$ 表示當前Shell程序的ID,即pid,看下面的程式碼: $echo $$ 執行結果 29949 特殊變數列表 變數 含義 $0 當前指令碼