亮度控制将亮度增加 4 而不是 1

ast*_*tex 3 acpi backlight intel-graphics brightness

使用亮度控件时,/sys/class/backlight/acpi_video0/brightness 的值会增加 4,但我可以将值强制设为 [0-10] 中的任何值。我有一台 HP Envy 17-3200。可能更相关地说,我正在使用集成的英特尔显卡。

这个问题在 unity 和 gnome shell 中都存在。

Pra*_*h S 8

如果使用“系统设置>亮度和锁定”中的滑块,则不会出现此问题(通常)。

当使用亮度控制热键时(通常)会出现这种情况,因为 acpi 驱动程序、intel 驱动程序和 gnome 电源守护程序(可能还有更多)都处理热键并将它们传递到下一个级别 - 看起来真的是愚蠢的设计。

修复 1:

一个简单的解决方法是让英特尔驱动程序完成工作并禁用其余部分,如下所示。

  1. 作为 root 编辑 /etc/default/grub: sudo nano /etc/default/grub
  2. 找到包含 GRUB_CMDLINE_LINUX_DEFAULT= 的行并添加选项 acpi_backlight=vendor acpi_osi=Linux。例如,更改GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor acpi_osi=Linux"
  3. 按 Ctrl-O 保存文件,然后输入。按 Ctrl-X 退出。
  4. 现在,运行 sudo update-grub
  5. 重新启动计算机。现在,亮度应该以一的步长增加。

注意:如果你这样做,你将失去亮度滑块和亮度变化的 OSD 通知(因为它们是由 gnome 处理的)。然而,在我看来,这些都不重要。您可以通过再次将 /etc/default/grub 编辑为原来的样子,然后运行sudo update-grub并重新启动来撤消这些更改。

修复 2:

不是那么容易修复:让 gnome 处理亮度控制。

请参阅https://askubuntu.com/a/178003/111720。停止 acpi 驱动程序处理密钥应该可以正常工作,因为它在该答案中给出。但是要照顾英特尔驱动程序,您必须将 thinkpad_acpi 模块的指令移植到英特尔(这甚至可能不可能)。

修复 3:

更多信息:

实际上有 256 (0-255) 级亮度可用。要检查它是否适合您,请尝试sudo setpci -s '00:02.0' F4.B=xx其中 xx 是十六进制数。数字是 0,1,...9,a,b,c,d,e,f。示例:sudo setpci -s '00:02.0' F4.B=2b将亮度设置为 2*16 + 11(b 是 11) = 43。00 对应于绝对零亮度(如果您最终这样做,只需使用热键重新获得亮度)。

我发现这在黑暗中工作或阅读书籍时非常有用(您可以使用滑块设置的最小亮度实际上非常高,并且亮度级别的跳跃也更大 - 因为您已经发现滑块不是连续)。

我编写了一个 python 脚本(可重新映射到快捷方式),它使用它来控制亮度(增加和减少,而不仅仅是设置)并带有 OSD 通知。如果您有兴趣,请告诉我(可能需要对其进行编辑才能在不同的硬件上工作,我还没有在我的 ACER ONE D270 的其他任何设备上测试过它。所以我可能需要一些额外的信息)。