我已经尝试了网上找到的许多解决方案,但都没有奏效。我使用的是全新安装的 Ubuntu 16.04 LTS。
- 这台笔记本配有 Intel HD Graphics 5500 和 Nvidia GeForce 920M。我以为安装专有 Nvidia 驱动程序可以解决问题,但问题仍然存在。安装
bumblebee
Nvidia 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 可以进行实验,但我建议以下几点:
showkeys 命令在键码和扫描码级别运行,因此可能会提供 xev 不会提供的信息:
sudo showkey -s
此 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):
- 编辑 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
创建 .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