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窗口管理器会更好。