Fn + F5 / F6 亮度键在 Asus R556L 上不起作用

Fn + F5 / F6 亮度键在 Asus R556L 上不起作用

我已经尝试了网上找到的许多解决方案,但都没有奏效。我使用的是全新安装的 Ubuntu 16.04 LTS。

  • 这台笔记本配有 Intel HD Graphics 5500 和 Nvidia GeForce 920M。我以为安装专有 Nvidia 驱动程序可以解决问题,但问题仍然存在。安装bumblebeeNvidia Optimus 也无法解决问题。
  • 其他Fn按键,如音量增大、减小、屏幕关闭、WiFi 等均没有任何问题。
  • 亮度键在 GRUB 选择菜单中有效。选择并启动 Ubuntu 后,它们立即停止工作。在 Windows 上,它们工作正常。
  • xev并且无论我尝试什么解决方案,都根本acpi_listen无法检测到Fn+ F5/组合。F6
  • /sys/class/blacklight包含一个intel_backlight文件夹,可以使用命令更改亮度sudo tee /sys/class/backlight/intel_backlight/brightness <<< 200。此文件夹可能还包含第二个文件夹,就像acpi_video0尝试了一些解决方案之后一样,但此文件夹中的亮度设置没有任何效果。
  • 通常,可以在设置中或使用来更改亮度xbacklight,唯一的问题是 Fn 亮度键似乎被认为在系统中不存在。编辑:显然,xbacklight当使用 Nvidia GPU 时不起作用。当在 Nvidia Prime 中设置 Intel GPU 时,它可以工作。所以我猜这个问题与双 GPU 设置有某种关系。

以下是我已经尝试过但均失败的解决方案:

  • /etc/default/grub通过注释掉该GRUB_CMDLINE_LINUX行并更改该GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"行进行了编辑。无论是否混合,以下添加对我均不起作用:
    • acpi_backlight=vendor
    • acpi_backlight=native
    • acpi_backlight=video
    • video.use_native_backlight=1
    • acpi_osi=
    • acpi_osi=Linux
    • acpi_osi='!Windows 2012'
  • 我创建了一个/usr/share/X11/xorg.conf.d/20-intel.conf包含以下内容的文件:

    Section "Device"
        Identifier "card0"
        Driver "intel"
        Option "Backlight" "intel_backlight"
        BusID "PCI:0:2:0"
    EndSection
    

    它只导致黑屏而不是登录屏幕,所以我不得不删除这个文件。

  • 我编辑了/etc/X11/xorg.conf文件以添加Option "Backlight" "intel_backlight"Option "RegistryDwords" "EnableBrightnessControl=1"。这并没有改变任何东西。以下是该文件的实际内容:

    Section "ServerLayout"
        Identifier "layout"
        Screen 0 "nvidia"
        Inactive "intel"
    EndSection
    
    Section "Device"
        Identifier "intel"
        Driver "modesetting"
        BusID "PCI:0@0:2:0"
        Option "AccelMethod" "None"
        Option "Backlight" "intel_backlight"
    EndSection
    
    Section "Screen"
        Identifier "intel"
        Device "intel"
    EndSection
    
    Section "Device"
        Identifier "nvidia"
        Driver "nvidia"
        BusID "PCI:4@0:0:0"
        Option "ConstrainCursor" "off"
        Option "RegistryDwords" "EnableBrightnessControl=1"
    EndSection
    
    Section "Screen"
        Identifier "nvidia"
        Device "nvidia"
        Option "AllowEmptyInitialConfiguration" "on"
        Option "IgnoreDisplayDevices" "CRT"
    EndSection
    

我找不到其他解决方案,到处都和上面一样。提前感谢任何可能解决问题的帮助或想法。

答案1

嘿,对于不同的华硕电脑似乎有几个相关问题:

https://askubuntu.com/search?q=brightness+F5

这个答案可能特别有趣(它建议内核降级):

华硕 GL552JX 上的 14.04:Fn+F5 和 Fn+F6 亮度问题

我没有华硕 R556L 可以进行实验,但我建议以下几点:

  1. showkeys 命令在键码和扫描码级别运行,因此可能会提供 xev 不会提供的信息:sudo showkey -s

  2. 此 archwiki 页面描述了https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes将扫描码映射到键码的过程,显然这发生在内核中,但可以从用户空间进行定制。

为了让其他读者了解情况,这里有一张显示当前情况的图片。

按键 --键盘---> 扫描码 --内核---> 键码 ---X----> 键符号 --- 应用程序 / wm ----> 事件

关于 GPU 和 xbacklight 的评论有点让人困惑。我倾向于尝试绕过窗口管理器并直接设置绑定。需要记住的一件事是,用于更改背光设置的内核协议最近已更改为使用 sysfs,而 xbacklight 不支持此功能存在问题。请参阅 acpilight 以了解替代方案。您还可以在 sysfs 中手动执行操作。

答案2

我遇到了同样的问题,并像你一样尝试了 GRUB 中的几种组合。同样使用华硕和 Ubuntu 16.04

经过多次尝试,这是对我有用的 GRUB 和 .CONF 的组合(未安装 xblacklight):

  1. 编辑 GRUB
    • 打开终端
    • 类型sudo gedit /usr/default/grub
    • 输入您的密码
    • 找到这一行:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    • acpi_osi=紧接着“quiet splash”添加如下内容:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="
    • 下一行应如下所示:GRUB_CMDLINE_LINUX=""
    • 保存并关闭文件
    • 在终端中输入sudo update-grub
  2. 创建 .CONF 文件

    • 打开终端
    • 输入(或复制/粘贴):sudo gedit /usr/share/X11/xorg.conf./20-intel.conf
    • 删除文件里的所有内容,然后逐行粘贴:
      Section "Device" Identifier "card0" Driver "intel" Option "Backlight" "intel_backlight" BusID "PCI:0:2:0" EndSection

    • 保存并关闭文件


3. 重启计算机


以下是一个解释链接,其中含有对我有帮助的参考资料链接:功能键不起作用(亮度和声音)Ubuntu 16.04

相关内容