nvidia-xrun
nvidia-xrun是一個實用的獨立顯卡與獨立的NVIDIA圖形完全性能。bumblebee目前的狀態提供了非常糟糕的表現,nvidia-xrun這個解決方案提供了一個更複雜的程序,擁有更好的GPU利用效率。
安裝[編輯 | 編輯原始碼]
安裝:
- nvidia包
- bbswitch包
- nvidia-xrunAUR 或者 nvidia-xrun-gitAUR
- 一個窗口管理器, 例如 openbox包 可選,僅用來運行需要使用nvidia的程序,因為直接使用nvidia-xrun運行一些程序(如steam)表現較差,使用一些像Openbox窗口管理器會好一些。
配置[編輯 | 編輯原始碼]
設置nvidia的bus id[編輯 | 編輯原始碼]
如果安裝nvidia-xrun完畢後,/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
文件中已經設置好bus id,可直接跳過本步。
如果你從[nvidia-xrun github repo]下載安裝的nvidia-xrun,你應該需要進行手動設置bus id。
獲取ID:一般的設備的總線ID是1:0:0,為了確保正確,使用一下命令獲取ID:
lspci | grep NVIDIA
在輸出內容中第行首即可看到ID。
新增文件/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
,添加類似如下內容:
/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:1:0:0" EndSection
同樣的,如果遇到問題你可以調整一些NVIDIA設置:
/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
Section "Screen" Identifier "nvidia" Device "nvidia" # Option "AllowEmptyInitialConfiguration" "Yes" # Option "UseDisplayDevice" "none" EndSection
自動y運行窗口管理器[編輯 | 編輯原始碼]
編輯~/.nvidia-xinitrc,例如使用openbox,在其中添加:
openbox-session
在tty登錄後,通過以下命令啟動openbox桌面環境,在openbox中運行程序即可使用NVIDIA渲染:
nvidia-xrun
使用bbswitch在管理nvidia顯卡[編輯 | 編輯原始碼]
平時使用bbswitch關閉nvidia顯卡,在需要使用nvidia運行程序時,運行nvidia-xrun
就會喚醒nvidia顯卡,並自動打開設定好的窗口管理器。
- 在啟動時載入bbswitch模塊
# echo 'bbswitch ' > /etc/modules-load.d/bbswitch.conf
- 關閉nvidia顯卡的選項
# echo 'options bbswitch load_state=0 unload_state=1' > /etc/modprobe.d/bbswitch.conf
- 將nvidia相關模塊加入黑名單
$ lsmod | grep nvidia | cut -d ' ' -f 1 > /tmp/nvidia $ lsmod | grep nouveau | cut -d ' ' -f 1 >> /tmp/nvidia $ sort -n /tmp/nvidia | uniq > /tmp/nvidia.conf#去重 $ sed -i 's/^\w*$/blacklist &/g' /tmp/nvidia.conf #添加blacklist # cp /tmp/nvidia.conf /etc/modprobe.d/nvidia.conf #移动
重啟系統即可。 查看狀態:
cat /proc/acpi/bbswitch
開關顯卡可以使用bbswitch相關命令
# tee /proc/acpi/bbswitch <<<OFF # tee /proc/acpi/bbswitch <<<ON
更多bbswitch信息查看 Bumblebee-Project/bbswitch
使用[編輯 | 編輯原始碼]
- 切換到tty
- 登錄
- 運行
nvidia-xrun [app]
問題[編輯 | 編輯原始碼]
直接使用nvidia-xrun運行steam表現較差,使用一些像Openbox窗口管理器會更好。