双显卡切换的问题是难倒很多新手的问题,我也是那么折腾过来的,大黄蜂的wiki 也有详细的介绍,本文做一个速记总结。

安装 nvidia 内核模块

安装

用包管理器安装英伟达显卡驱动(如果显卡较老加载不成功则可尝试nvidia-390xx,更老则可搜索aur里的驱动安装 nvidia-340xx ,注意后面加了 -390xx 之后,后面所有带 nvidia 的包名都得加 -390xx,其它以此类推)

1
2
3
pacman -S nvidia nvidia-utils

# 若是 390xx 的,则包名为 nvidia-390xx nvidia-390xx-utils

32位程序程序使用英伟达显卡驱动支持(记得需要开启 multilib 仓库

1
2
3
pacman -S lib32-nvidia-utils

# 若是 390xx 的,则包名为 lib32-nvidia-390xx-utils

尝试加载驱动

1
2
3
modprobe nvidia nvidia_uvm nvidia_drm nvidia_modeset

# 如果这一步报错,则卸载刚刚装的所有,回到第一步,尝试其它驱动。

测试

查看驱动是否在运行(有输出代表成功运行)

1
2
lsmod | grep nvidia
nvidia-smi

查看显卡所有信息

1
nvidia-smi -q

安装 bbswitch

安装

安装显卡驱动开关

1
pacman -S bbswitch

启动

加载显卡驱动开关

1
modprobe bbswitch

测试

把开关打开

1
tee /proc/acpi/bbswitch <<< ON

把开关关闭

1
tee /proc/acpi/bbswitch <<< OFF

查看开关状态

1
cat /proc/acpi/bbswitch

安装大黄蜂

安装

安装配置双显卡切换器

1
pacman -S bumblebee

配置

将自己用户加入到 bumblebee 组(注销重新登录后生效)

1
sudo usermod -a -G bumblebee <用户名>

修改 /etc/bumblebee/bumblebee.conf :

1
2
3
Driver=nvidia
[driver-nvidia]
PMMethod=bbswitch

启动

启动服务

1
systemctl start bumblebeed

设置服务自动启动

1
systemctl enable bumblebeed

测试

测试英伟达显卡驱动(不加optirun为测试集显,终端输出了显卡型号,以后用optirun运行程序则表示使用英伟达显卡)

1
2
optirun glxspheres64
optirun glxspheres32