arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
132 lines (86 loc) • 4.42 kB
Markdown
**翻译状态:** 本文是英文页面 [Nvidia-xrun](/index.php/Nvidia-xrun "Nvidia-xrun") 的[翻译](/index.php/ArchWiki_Translation_Team_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "ArchWiki Translation Team (简体中文)"),最后翻译时间:2017-09-19,点击[这里](https://wiki.archlinux.org/index.php?title=Nvidia-xrun&diff=0&oldid=490779)可以查看翻译后英文页面的改动。
[nvidia-xrun](https://github.com/Witko/nvidia-xrun)是一个实用的独立显卡与独立的NVIDIA图形完全性能。[bumblebee](/index.php/Bumblebee "Bumblebee")目前的状态提供了非常糟糕的表现,nvidia-xrun这个解决方案提供了一个更复杂的程序,拥有更好的GPU利用效率。
## Contents
* [1 安装](#.E5.AE.89.E8.A3.85)
* [2 配置](#.E9.85.8D.E7.BD.AE)
* [2.1 设置nvidia的bus id](#.E8.AE.BE.E7.BD.AEnvidia.E7.9A.84bus_id)
* [2.2 自动y运行窗口管理器](#.E8.87.AA.E5.8A.A8y.E8.BF.90.E8.A1.8C.E7.AA.97.E5.8F.A3.E7.AE.A1.E7.90.86.E5.99.A8)
* [2.3 使用bbswitch在管理nvidia显卡](#.E4.BD.BF.E7.94.A8bbswitch.E5.9C.A8.E7.AE.A1.E7.90.86nvidia.E6.98.BE.E5.8D.A1)
* [3 使用](#.E4.BD.BF.E7.94.A8)
* [4 问题](#.E9.97.AE.E9.A2.98)
## 安装
安装:
* [nvidia](https://www.archlinux.org/packages/?name=nvidia)
* [bbswitch](https://www.archlinux.org/packages/?name=bbswitch)
* [nvidia-xrun](https://aur.archlinux.org/packages/nvidia-xrun/) 或者 [nvidia-xrun-git](https://aur.archlinux.org/packages/nvidia-xrun-git/)
* 一个 [窗口管理器](/index.php/Window_manager_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) "Window manager (简体中文)"), 例如 [openbox](https://www.archlinux.org/packages/?name=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](https://github.com/Bumblebee-Project/bbswitch)
## 使用
1. 切换到tty
2. 登录
3. 运行`nvidia-xrun [app]`
## 问题
直接使用nvidia-xrun运行steam表现较差,使用一些像Openbox窗口管理器会更好。