不少深度用户遇到了显示屏幕亮度初始设为最大,且无法调节的问题。我也遇到了这个问题。
这个问题的根源在于Linux内核尚不能完全支持OLED或高分显示屏。这个问题也许会随着内核的改进最终得到解决。但当下需要通过其它方法解决。
这个问题一般发生在闭源显卡驱动的情况下。开源显卡驱动下亮度可以正常调节(同一台机器试验过)。 如果机器使用开源显卡驱动时没有任何问题,使用开源驱动是最好的选择。 这避免了安装,切换闭源显卡驱动的麻烦和可能因切换而产生的问题。所以闭源显卡驱动不一定就是最好的方案。
如果机器确实出现随机卡顿,锁死,或应用程序需要高性能的显卡功能,安装闭源显卡驱动是一个必要的选择。
恢复屏幕亮度调节当方法有多种。
方法1: 给内核添加参数,例如 "acpi_backlight=vendor", 或 "acpi_backlight=native". 这个方法最简单,需要改动的地方最少。
修改/etc/default/grub, 添加"acpi_backlight=vendor", 或 "acpi_backlight=native"。 例如:
# Written by com.deepin.daemon.Grub2 DEEPIN_GFXMODE_ADJUSTED=1 GRUB_BACKGROUND="/boot/grub/themes/deepin/background.jpg" GRUB_CMDLINE_LINUX="" GRUB_CMDLINE_LINUX_DEFAULT="splash quiet acpi_backlight=vendor "
运行以下命令更新/boot/grub/grub.cfg
sudo update-grub
重启机器。
重启以后,亮度就可以正常调节了。 但是有一个缺点,最大亮度时屏幕也比较暗,而且最低亮度时,屏幕完全黑暗。所以这个方法可用,但不是最佳的。
方法2 使用X window的工具,xrandr来解决这个问题。
在网上找到了两个方法:
oled-linux
https://github.com/lawleagle/oled-linux
ICC Brightness
https://github.com/udifuchs/icc-brightness
ICC Brightness主要是在联想笔记本上测试的。这个方法也许适用其它的笔记本。
这里主要测试了oled-linux方法。对oled-linux.sh的脚本进行了修改。修改的地方是去除了跟据白天,黑夜设置屏幕偏光度。另外让脚本适用于各个背光设备,比如acpi_video0, intel_backlight 等等。 这个方法最低屏幕亮度为10%,不会因为误操作而失去屏幕显示。
附件的压缩包里有两个文件, 脚本oled-linux.sh,和用于登录时自动运行的配置文件, oled-linux.desktop。
安装oled-linux步骤:
1. 安装inotify-tools
sudo apt install inotify-tools
2. 下载压缩包到/tmp. 解压压缩包。 如果下载当路径不同,需要修改路径。
unzip oled-linux.zip
3. 把oled-linux.sh移到/usr/local/bin文件夹
sudo mv oled-linux.sh /usr/local/bin sudo chmod +x /usr/local/bin/oled-linux.sh
4. 把oled-linux.desktop移到~/.config/autostart文件夹
cp oled-linux.desktop ~/.config/autostart
5. 退出当前登录的账户,重新登录。重新登录以后,就可以正常调节屏幕亮度了。
如果一台机器上有多个用户/账户,其他账户的用户需要运行第2, 4, 5步。
附件: oled-linux.zip
参考的文章:
https://wiki.archlinux.org/index.php/Backlight
收藏了
Popular Events
不少深度用户遇到了显示屏幕亮度初始设为最大,且无法调节的问题。我也遇到了这个问题。
这个问题的根源在于Linux内核尚不能完全支持OLED或高分显示屏。这个问题也许会随着内核的改进最终得到解决。但当下需要通过其它方法解决。
这个问题一般发生在闭源显卡驱动的情况下。开源显卡驱动下亮度可以正常调节(同一台机器试验过)。 如果机器使用开源显卡驱动时没有任何问题,使用开源驱动是最好的选择。 这避免了安装,切换闭源显卡驱动的麻烦和可能因切换而产生的问题。所以闭源显卡驱动不一定就是最好的方案。
如果机器确实出现随机卡顿,锁死,或应用程序需要高性能的显卡功能,安装闭源显卡驱动是一个必要的选择。
恢复屏幕亮度调节当方法有多种。
方法1: 给内核添加参数,例如 "acpi_backlight=vendor", 或 "acpi_backlight=native". 这个方法最简单,需要改动的地方最少。
修改/etc/default/grub, 添加"acpi_backlight=vendor", 或 "acpi_backlight=native"。 例如:
运行以下命令更新/boot/grub/grub.cfg
重启机器。
重启以后,亮度就可以正常调节了。 但是有一个缺点,最大亮度时屏幕也比较暗,而且最低亮度时,屏幕完全黑暗。所以这个方法可用,但不是最佳的。
方法2 使用X window的工具,xrandr来解决这个问题。
在网上找到了两个方法:
oled-linux
https://github.com/lawleagle/oled-linux
ICC Brightness
https://github.com/udifuchs/icc-brightness
ICC Brightness主要是在联想笔记本上测试的。这个方法也许适用其它的笔记本。
这里主要测试了oled-linux方法。对oled-linux.sh的脚本进行了修改。修改的地方是去除了跟据白天,黑夜设置屏幕偏光度。另外让脚本适用于各个背光设备,比如acpi_video0, intel_backlight 等等。 这个方法最低屏幕亮度为10%,不会因为误操作而失去屏幕显示。
附件的压缩包里有两个文件, 脚本oled-linux.sh,和用于登录时自动运行的配置文件, oled-linux.desktop。
安装oled-linux步骤:
1. 安装inotify-tools
2. 下载压缩包到/tmp. 解压压缩包。 如果下载当路径不同,需要修改路径。
3. 把oled-linux.sh移到/usr/local/bin文件夹
4. 把oled-linux.desktop移到~/.config/autostart文件夹
5. 退出当前登录的账户,重新登录。重新登录以后,就可以正常调节屏幕亮度了。
如果一台机器上有多个用户/账户,其他账户的用户需要运行第2, 4, 5步。
附件: oled-linux.zip
参考的文章:
https://wiki.archlinux.org/index.php/Backlight
https://github.com/lawleagle/oled-linux