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 的面板覆蓋,很蛋疼。
轉自:https://blog.csdn.net/iSpeller/article/details/37765999