Linux 可以直接改变硬件功能吗?

Linux 可以直接改变硬件功能吗?

编辑:所选的答案并没有为我解决问题,但却是最接近的,也许可以对其他人有所帮助。

我有一台联想 Y720 笔记本电脑,它有 han RGB 键盘。不幸的是,RGB 仅在 Windows 上有效,因为它需要一个名为“Lenovo Nerve Sense”的程序来控制灯光。由于此程序仅在 Windows 上可用,是否有可能以任何方式在 Ubuntu 上点亮键盘?我尝试了那里的每一个线程,它们涉及 tcpi 或 thinkpads、xled、xset led 以及所有这些不起作用的功能。Ubuntu 实际上甚至看不到我的键盘上有 LED,它只能看到 caps lock 和 numlock,因为它们在固件级别,而键盘背光不在。

Linux 能否对硬件进行更改,例如为 RGB 灯找到一些寄存器?他们说联想不会在这方面提供帮助,也不会将程序移植到 Linux。

答案1

可能的答案(可能不适用于您的特定机器):

在我的 Lenovo P50 上,我的原装 Kubuntu 16.04 系统上:

  • /proc/acpi/ibm/伪文件系统中有一个目录/proc(联想继承了IBM的笔记本电脑品牌)
  • 该目录中有多个文件,其中一个名为/proc/acpi/ibm/kbdlight
  • cat /proc/acpi/ibm/kbdlight说:

    status:         0
    commands:       0, 1, 2
    
  • 然后

    sudo bash -c 'echo 2 >/proc/acpi/ibm/kbdlight'
    

    实际上点亮了键盘(使用echo 1会使它变暗,然后echo 0将其关闭)。

您的笔记本电脑上可能已经有类似的东西,因此可以cat进行文件和实验。笔记:sudo 命令有点不自然,因为更自然的命令sudo echo 2 >/proc/acpi/ibm/kbdlight不起作用,因为重定向是/proc/acpi/ibm/kbdlight由非特权用户 ID 完成的。

附言:此外,在我的 P50 上,Fn“-”space键组合确实可以原生控制键盘灯。

PPS: 底层模块是thinkpad_acpi司机它现在是 Linux 内核的一部分(自 2.6 版后期开始),并且似乎得到了积极维护(4 月份添加了支持 P50 的内容...)。请注意,文档中说已弃用/proc/acpi,应改用/sys/devices/platform/thinkpad_acpi/

相关内容