我的联想拯救者15最近装上了Archlinux,我也准备逐渐将日常使用逐渐迁移过来,其间也遇到了很多问题,通过查询wiki的方法也都得到了解决,其中之一就是屏幕亮度问题。按照官方的wiki解决之后,恢复了电脑屏幕亮度调节的功能,但是之后通过optimus-manager这套方案解决多显卡切换问题之后屏幕亮度不仅无法通过按键调节,xbacklight也出现了问题,在此记下解决方法。
问题具体描述
桌面的解决方案采用的仍然是传统的Xserver的模式,所以在仅使用核显的时候安装了xorg-xbacklight
,并且使用xbacklignt
进行亮度调节。搭配i3
桌面的快捷键绑定功能恢复了Fn+上下方向键
调节亮度的功能。
但是 xorg-xbacklight
包中提供的xbacklight
命令默认只对 Intel 核显有效,在其它显卡上会提示 No outputs have backlight property
错误,我此次的optimus双显卡解决方案也受到了影响。
解决方法
我们知道调整屏幕亮度在硬件层面就是调整LED灯的功率大小,在linux里面通过acpi(高级配置与电源接口)来控制,具体是通过设置/sys/class/backlight/%k/brightness
来实现的,当然手动调节这个文件的数值是可行的,但是并不是很方便。所以安装ACPI的亮度控制取代xbacklight
的功能:
sudo pacman -S acpilight
将当前用户加入 video 组,实现免 root 控制亮度:
sudo gpasswd video -a 用户名
acpilight 兼容 xbacklight 重启之后就可以通过下面命令控制亮度了:
# 获得当前亮度
xbacklight -get
# 设置亮度
xbacklight -set 70
# 增加亮度
xbacklight -inc 10
# 降低亮度
xbacklight -dec 10