笔记本ubuntu20.04屏幕亮度问题
笔者的笔记本是联想R7000,使用独显直连模式
刚开始安装和ubuntu,显卡驱动默认使用的是nouveau,此时是可以通过系统任务栏的亮度控制条控制亮度的
安装n卡最新驱动nvidia-driver-440后,亮度控制条无法控制屏幕亮度了,键盘的Fn+F5也没有反应
解决办法:
- 修改grub
#sudo vi /etc/default/grub
修改GRUB_CMDLINE_LINUX字段
修改前:
GRUB_CMDLINE_LINUX=""
修改后:
GRUB_CMDLINE_LINUX="acpi_backlight=vendor"
- 更新grub
# sudo update-grub
- 添加n卡背光设备
# sudo vi /usr/share/X11/xorg.conf.d/10-nvidia.conf
添加如下:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "RegistryDwords" "EnableBrightnessControl=1"
Option "NoLogo" "True"
EndSection
- 禁止加载ideapad_laptop驱动
# vi /etc/modprobe.d/blacklist.conf
在末尾添加一行
blacklist ideapad_laptop
- 重启系统
此时再进入系统就可以控制屏幕亮度了,但是每次开机屏幕总是最亮的
systemd有一个systemd-backlight服务会控制屏幕背光
笔者通过修改其配置,实现了开机默认亮度控制
systemd-backlight的配置文件位于/var/lib/systemd/backlight
默认有以下几个文件:
pci-0000:00:14.3-platform-VPC2004:00:backlight:ideapad
pci-0000:01:00.0:backlight:acpi_video0
pci-0000:01:00.0:backlight:nv_backlight
每个文件的数值代表了屏幕亮度配置。
不同设备的亮度范围是不同的,比如idapad的亮度范围是1-16,nv_backlight的亮度范围是1-100
最大值可通过查看/sys/class/backlight/{device}/max_brightness获取
创建pci-0000:01:00.0:backlight:nvidia_0,
echo 60|sudo tee pci-0000:01:00.0:backlight:nvidia_0
重启系统登录,可以看到屏幕亮度不再是最亮了