前言#
bumblebee 的 optirun 的兼容性问题; primusrun 关垂直同步的画面撕裂,开垂直同步的输入延迟;直接使用 NVIDIA 的耗电等一系列双显卡之痛之后,发现 optimus-manager 十分适合。可以设置开机默认使用 Intel 还是 Nvidia ,可以随时在这两者之间切换。
安装#
安装前须知: optimus-manager
上游直接支持的Display Manager为 sddm
、 lightdm
和 gdm
,其他 DM 要用的话需要额外配置 Xsetup 脚本,这里不介绍。
可以通过AUR
安装optimus-manager
也可以通过archlinxucn
源直接安装
$ sudo pacman -Sy optimus-manager
安装完成后开启服务
$ sudo systemctl enable optimus-manager.service
配置#
首先确保/etc/X11/xorg.conf
和/ext/X11/xorg.conf.d
下没有其他显卡与显示相关的配置,如果有的话可以直接删除,因为optimus-manager
会自动生成显卡配置/etc/X11/xorg.conf.d/10-optimus-manager.conf
如果已经安装bumblebee
,请执行以下命令关闭bumblebeed
$ sudo systemctl disable bumblebeed
检查/etc/modules-load.d/
以确保bbswitch
模块不要在开机时被加载
最后安装nvidia
闭源驱动
$ sudo pacman -S nvidia-utils
配置 optimus-maager#
$ sudo mkdir -p /etc/optimus-manager
将optimus-manager
默认配置复制至/etc/optimus-manager
进行另外配置
$ sudo cp /usr/share/optimus-manager.conf /etc/optimus-manager/optimus-manager.conf
$ sudo vim /etc/optimus-manager/optimus-manager.conf
各选项配置
[optimus]
# 切换方式,可能值: nouveau, bbswitch, none
# 如果选择 none,Nvidia在你使用 Intel 的时候将一直处于通电状态
# 如果使用 bbswitch, 在你使用 Intel 的时候将无法使用 Nvidia 上的
# 接口输出到外接显示器。
# 使用 bbswitch 必须安装 bbswitch 或者 bbswitch-dkms。
# bbswitch 暂时还不支持 10系以上显卡 (真的不支持?还是 ACPI 锁死问题呢?)
switching=nouveau
# 在 Intel 模式下开启 PCI 电源管理
# 如果不开的话会你会发现耗电量会比较大
# 如果已经使用了 bbswitch 这个选项会被忽略
pci_power_control=yes
[intel]
# 使用哪一个 Intel 驱动
# 可能值: modesetting, intel
driver=modesetting
# 加速模式
# intel 驱动专属,对modesetting无效
# 可能值 : sna, xna
# 留空以使用默认值
accel=
# 开启 TearFree 选项
# intel驱动的选项, 对modesetting无效
# 可能值: yes, no
# 留空以使用默认值
tearfree=
# DRI 版本. 可能值 : 2, 3
DRI=3
# 是否对 nouveau 开启 modesetting.
# 对 intel 驱动无效
# 如果你使用 bbswitch 作为切换方式,这个选项会被忽略
modeset=yes
[nvidia]
# DRI版本,可能值: 2, 3
DRI=3
# 是否开启 modesetting,如果要使用 PRIME Synchronization 来避免
# 画面撕裂的话,必须开启
modeset=yes
# 是否开启 NVIDIA 驱动的 NVreg_UsePageAttributeTable 选项
# 推荐开启,否则可能会导致 CPU 低性能。
PAT=yes
# DPI 值. 帮你设置登录管理器的 DPI
# 原理是启动登录管理器的时候执行:
# xrandr --dpi
# 留空以使用默认值
DPI=
# Nvidia 专有选项,选项之间以逗号分隔
# 支持的选项:
# - overclocking : 开启 CoolBits 并在 NVIDIA 面板中解锁超频选项。
# - triple_buffer : 开启三倍缓冲
options=overclocking
配置完成后直接重启生效
用法#
确保optimus-manager.service
已经运行
运行
$ optimus-manager --switch nvidia
切换至nvidia
运行
$ optimus-manager --switch intel
切换至intel
运行
$ optimus-manager --set-startup=intel
设置开机使用intel
图形前端 optimus-manager-qt
#
gnome-shell 扩展 optimus-manager-argos
kde`用户可以从`archlinuxcn`源安装`optimus-manager-qt-kde
$ sudo pacman -Sy optimus-manager-qt-kde
非kde
用户, 安装optimus-manager-qt
$ sudo pamcna -Sy optimus-manager-qt
转载自https://blog.edward-p.xyz/optimus-manager/