华硕 N551VW 上的亮度 Fn 键无法使用

华硕 N551VW 上的亮度 Fn 键无法使用

我知道已经有很多类似的问题,但那里列出的解决方案都没有帮助我。

笔记本电脑:华硕 N551VW

VGA:Intel Skylake (00:02.0) + nVidia GTX 960M (01:00.0)

发行版:Linux Mint 18(也在 Debian 8.6 上尝试过,结果相同)内核更新为 4.4.0-43-generic x86_64

内容/sys/class/backlight

intel_backlight

从该文件夹中读取的亮度、实际亮度和最大亮度都给出了 913 值。写入那些没有效果。

我尝试过什么:

  1. 使用以下内核选项/etc/default/grub

    acpi_osi=
    acpi_osi=Linux
    acpi_backlight=intel
    acpi_backlight=native
    acpi_backlight=vendor
    video.use_native_backlight=1
    

以及它们的各种组合。

将 acpi_backlight 设置为 native/vendor 的唯一效果是 GUI 停止识别我按下 fn 键的事实,并且不显示当前级别的亮度图标(如它所认为的那样)。如果没有这些设置,它会显示图标及其级别,但实际亮度保持最大。

  1. 运行 xbacklight 没有任何效果(尽管它没有显示任何错误并且在返回之前停止了一小会儿)。

如果我切换到英特尔适配器并尝试使用 -set 运行它 - 它会完全挂起笔记本电脑(只能使用电源按钮重新启动)。

  1. 使用setpci直接写入亮度值。完全没有效果。

最有趣的部分是,在 BIOS 和 BIOS 闪屏中,我可以使用 fn+f5 和 fn+f6 更改亮度,没有任何问题,但 Linux 启动后,它会将亮度设置为最大级别,并且不允许更改不再了。

不知道还能尝试什么。

更新:

ddccontrol -p -r 0x10 -w 50输出:

ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin ([email protected])
Copyright 2004-2006 Nicolas Boichat ([email protected])
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

Probing for available monitors....I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/LGD046F.xml"
Document not parsed successfully.
....
Detected monitors :
 - Device: dev:/dev/i2c-3
   DDC/CI supported: No
   Monitor Name: VESA standard monitor
   Input type: Digital
No monitor supporting DDC/CI available.
If your graphics card need it, please check all the required kernel modules are loaded (i2c-dev, and your framebuffer driver).

更新2:

将内核升级到4.8.4并设置内核选项字符串即可acpi_osi=解决该问题。

答案1

第一的,环境亮度和得到Fn 键事件是两个不同的事情。

1a) 找出/dev/input/event*您的键盘适合哪个设备。 (查看/dev/input/by-id/dev/input/by-path并跟随符号链接,查看 demsg/syslog,或者只是测试所有这些)。在此设备上运行evtest,然后按 Fn 亮度键。您收到关键事件了吗?如果是的话,很好。如果不是,它可能会生成 ACPI 事件(如果它确实在没有特殊驱动程序的情况下生成事件)。

1b) 运行xev,在窗口中移动鼠标,按 Fn 键。你能得到关键事件吗?已经有那些BRIGHTNESS名字里有的了?如果是,那就好:X 事件的转换有效。

2) 作为 root,将一个数字写入brightness

echo 500 > /sys/class/backlight/intel_backlight/brightness

(如果这是正确的路径)。如果你想使用sudo,你还需要eg tee(输出重定向不是以root身份完成的)。亮度有变化吗?如果是的话,很好。

如果您对所有这些问题都能回答“是”,那么所需要的只是一些程序(例如您的窗口管理器或您运行的任何桌面)来对按键事件做出反应并更改亮度。如果答案是否定的,那就会变得更加困难。

这些按键在 BIOS 中起作用一点也不有趣,因为 BIOS 已经知道您拥有哪个变体并正确解释它们,而 Linux 还不知道如何做到这一点。

答案2

由于您已经尝试了许多解决方案但没有成功,所以我认为您的硬件对于您的内核来说太新了...
尝试更新的内核(或者只是具有更新内核的实时发行版,例如 ubuntu 16.10 具有 4.8...)

相关内容