欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

解决 Linux 桌面亮度调整不工作

程序员文章站 2022-07-28 22:47:04
工作原因开始使用Ubuntu.桌面环境为GNOME,不过亮度调整和桌面环境没多大关系. 思路: 不管是GNOME还是Unity,都会尝试自己去接管亮度调整,也就是去 /sys/class/backlight下面去找brightness.所以说亮度无法调整大概可以归类到两种情况: 1.sys/clas ......

工作原因开始使用Ubuntu.桌面环境为GNOME,不过亮度调整和桌面环境没多大关系.

思路:

  不管是GNOME还是Unity,都会尝试自己去接管亮度调整,也就是去 /sys/class/backlight下面去找brightness.所以说亮度无法调整大概可以归类到两种情况:

  1.sys/class/backlight/下面是空的,多见于英伟达独显以及某些逗比笔记本.

  2.sys/class/backlight/下面有多个,多见于双显卡笔记本

  既然都想调亮度了,肯定是把linux作为主力系统使用的,所以先安装好闭源驱动,再说调整亮度的事情.

  笔者的情况是Thinkpad P51,使用discreted graphic,核显完全禁用,输出与运算都由NVIDIA独显负责.故属于情况1,这个情况下NVIDIA驱动接管了亮度调整,但默认不开启亮度调整功能.解决的话,需要开启NVIDIA的亮度调整handler,怎么搞下面再说.

  总体的思路总结起来,大概就是想办法让/sys/class/backlight下面只有一个brightness,并且是有效的那一个.

工作:

  情况1:对于NVIDIA独显,加核心参数把亮度调整handler开启就行了.

       对于非NVIDIA独显的,在grub中的内核启动参数加上 acpi_osi=Linux 基本可以解决问题.

  情况2:这个情况考虑禁掉独显,或者去用bumblebee,但最终的思路同上,想办法只留一个有效的brightness在/sys/class/backlight中,哪个有效请自行 echo 到brightness中改值测试

 

笔者的情况:

  NVIDIA独显,Ubuntu 18.04,操作如下:

  1.安装至少387版本的NVIDIA闭源驱动,笔者使用390.24(亮度调整handler 从387开始作为beta性功能提供,默认关闭)

  2.在moprobe.conf中给nvidia kernel模块加参数,这个文件在哪自己用whereis找吧.把如下内容加进去

options nvidia Nvreg_EnableBacklightHandler=1

  3.重新加载kernel参数,也就是让上一步的操作生效

# update-initramfs

  4.重启电脑,亮度就应该正常了,检查/sys/class/backlight,下面有唯一的nvidia_0,系统出现亮度滑块,亮度快捷键有效.

 

 

别的情况还是看上面的思路,双显卡用户尽量去想办法屏蔽掉独显,除非说你的独显可以单独工作.

总的来说没有必要使用任何亮度插件,调整起来麻烦且浪费精力.