nvidia-xrun

出自 Arch Linux 中文维基

nvidia-xrun是一個實用的獨立顯卡與獨立的NVIDIA圖形完全性能。bumblebee目前的狀態提供了非常糟糕的表現,nvidia-xrun這個解決方案提供了一個更複雜的程序,擁有更好的GPU利用效率。

安裝[編輯 | 編輯原始碼]

安裝:

配置[編輯 | 編輯原始碼]

設置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

使用[編輯 | 編輯原始碼]

  1. 切換到tty
  2. 登錄
  3. 運行nvidia-xrun [app]

問題[編輯 | 編輯原始碼]

直接使用nvidia-xrun運行steam表現較差,使用一些像Openbox窗口管理器會更好。