在 14.04 LTS Ubuntu(64 位)中,使用任何提供的内核解决方案(包括 3.19 之前的较新版本),f2/f3 亮度控制都无法注册。事实上,dmesg 中的按键被报告为未知键,这表明内核解释这些按键的方式有些奇怪:
atkbd serio0: 按下了未知键(翻译集 2,isa0060/serio0 上的代码 0xab)。atkbd serio0: 使用“setkeycodes e02b”使其为人所知。atkbd serio0:释放了未知键(翻译集 2,isa0060/serio0 上的代码 0xab)。atkbd serio0: 使用“setkeycodes e02b”使其为人所知。
f2 和 f3 都报告相同的 e02b 键码。
此功能在 12.04 LTS 中运行良好。启动标志没有区别,有些则使情况更糟(例如,亮度甚至对软件黑客停止响应,例如通过 /proc 自定义映射以更改亮度)。可以使用第三方和/或命令行黑客调整亮度,但通常响应较慢(新亮度最多需要一秒钟才能注册)。这是在带有 AMD APU 63xx 的 HP dm1z 上。关于哪些内核编译标志是必要的和/或补丁以使它们工作,有任何想法/报告吗?奇怪的是音量和其他键工作正常。
这台笔记本电脑采用的是 AMD APU 63xx 系列,我尝试了所有最新的 fglrx 驱动程序,包括最新的 15.7 和最旧的 14.9,但这个问题没有任何改善。
答案1
因此,事实证明这是一个 acpi_osi 怪癖。对于带有 fglrx 驱动程序的 HP dm1z(带有 AMD E-450 的 4xxx 系列,又名 Radeon HD63xx APU 系列),我必须将以下内容添加到我的内核启动选项中:
acpi_osi="!Windows 2012"
如果将其添加到 /etc/default/grub 选项中,则需要在引号前面加上反斜杠,如下所示:
GRUB_CMDLINE_LINUX="thermal.off=1 acpi_osi=\"!Windows 2012\""
尝试使用 acpi_osi=Linux(带或不带引号)并不能解决问题(可能是因为 acpi 在检测到 Linux 时会禁用许多选项,因此使用上述选项我们可以欺骗 acpi 以相信我们是 Windows8 之前的操作系统),而将 acpi_osi= 保留为空选项会导致笔记本电脑无法启动。