nvidia-xrun的比bumblebee使用nvidia optimus的性能更好,关键是xrun支持Vulkan。
本文保存并更新在github:levinit/itnotes/linux/arch/archlinux安装-双显卡管理,如有疑问,请提issue。
bbswitch关闭独立显卡
在终端执行以下命令即可:
pacman -S bbswitch
#开机自动加载bbswitch模块
sudo echo 'bbswitch ' > /etc/modules-load.d/bbswitch
#设置bbswitch模块参数
sudo echo 'options bbswitch load_state=0' > /etc/modprobe.d/bbswitch.conf
#获取模块名
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
sudo cp /tmp/nvidia.conf /etc/modprobe.d/nvidia.conf #移动
执行以上命令即可进入下一小节(nvidia-xrun),本节其余内容是对上述命令的详细介绍:
安装bbswitch
开机自动加载bbswitch模块
添加文件/etc/modules-load.d/bbswitch
,写入内容bbswitch
。
- 设置bbswitch模块参数
添加/etc/modprobe.d/bbswitch.conf
文件,写入内容options bbswitch load_state=0
- 添加nvidia相关模块到黑名单
使用lsmod |grep nvidia
和lsmod | grep nouveau
找出所有的相关模块的名字;新建文件/etc/modprobe.d/nvidia.conf
,在其中添加模块黑名单。
黑名单写法:每行以blacklist
开头,然后一个空格,其后写上一个模块名。
检查:重启后使用lspci grep NVIDIA
和cat /proc/acpi/bbswitch
检查关闭情况。
nvidia-xrun
shell yaourt -S nvidia-xrun #或者nvidia-xrun-git
- 配置nvidia-xrun
-
设置NVIDIA设备的总线ID
获取ID:一般的设备的总线ID是
1:0:0
,为了确保正确,使用一下命令获取ID:shell lspci | grep NVIDIA
在输出内容中第行首即可看到ID。
新增文件
/etc/X11/nvidia-xorg.conf.d/30-nvidia.conf
,添加如下内容:shell Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:1:0:0" EndSection
上面的PCI即是获取到的总线ID。