以下介绍的是在深度Deepin、UOS 20系统中解决屏幕亮度无法调节问题的两种方法:一是给Linux内核添加参数,二是使用X window的工具解决问题。
前言 不少深度Deepin用户遇到了显示屏幕亮度初始设为最大,且无法调节的问题,我也遇到了这个问题,现在分享成功的解决经验。 这个问题的根源在于Linux内核尚不能完全支持OLED或高分显示屏,这个问题也许会随着内核的改进最终得到解决,但当下需要通过其它方法解决。 这个问题一般发生在闭源显卡驱动的情况下,开源显卡驱动下亮度可以正常调节(同一台机器试验过)。如果机器使用开源显卡驱动时没有任何问题,使用开源驱动是最好的选择。这避免了安装,切换闭源显卡驱动的麻烦和可能因切换而产生的问题。所以闭源显卡驱动不一定就是最好的方案。 如果机器确实出现随机卡顿、锁死,或应用程序需要高性能的显卡功能,安装闭源显卡驱动是一个必要的选择。参考在Deepin 20系统下选择合适的NVIDIA闭源驱动版本。 恢复屏幕亮度调节的方法有多种,以下介绍两种有效的解决方法。
方法一 给Linux内核添加参数,例如"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 重启机器。 重启以后,亮度就可以正常调节了。但是有一个缺点,最大亮度时屏幕也比较暗,而且最低亮度时,屏幕完全黑暗。所以这个方法可用,但不是最佳的。
方法二 使用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项目地址中下载脚本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.desktop文件内容 [Desktop Entry] Name=oled-linux Exec=/usr/local/bin/oled-linux.sh NoDisplay=true Terminal=flase Type=Application
相关主题 |