软件在硬件层面控制显示照明?

软件在硬件层面控制显示照明?

我使用旧的 ThinkPad R60 作为我的日常工作机器。它运行良好,在我看来世界上最好的键盘,由于采用镁合金内骨架,坚固耐用。只有显示屏太暗,无法在明亮的日光下舒适地工作(后续型号 T60 对此进行了改进)。显示屏亮度可以增加Fn + Home和减少Fn + End,但只能在预设范围内。是否可以访问背光的硬件控制器并增加最大亮度值?

在目录中/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/backlight/acpi_video0我发现了以下文件(内容在括号中):

-rw-r--r-- 1 root root 4096 bl_power ('0')
-rw-r--r-- 1 root root 4096 brightness ('7')
-r--r--r-- 1 root root 4096 actual_brightness ('7')
-r--r--r-- 1 root root 4096 max_brightness ('7')
-r--r--r-- 1 root root 4096 type ('firmware')
-rw-r--r-- 1 root root 4096 uevent (empty)

brightness似乎调整当前设置,值根据亮度从变为07反之,改变亮度会改变值。其他文件是什么意思,为什么我不能写入max_brightness 即使作为 root

我尝试echo 10 | sudo tee /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/backlight/acpi_video0/max_brightness以普通用户和 root 身份执行此操作sudo su,但我一直收到:

tee: '/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/backlight/acpi_video0/max_brightness': Permission denied

更新:我已更改文件权限,现在出现 I/O 错误:

tee: '/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/backlight/acpi_video0/max_brightness': Input/output error

有没有办法破解背光控制器并调整实际驱动电流?

答案1

您无法写入的原因max_brightness是它是只读的 ( -r--r--r--),因此任何人都无法修改。这不是权限问题,ACPI 固件只是公开了固件所说的可以设置的最大亮度值(您会注意到报告typefirmware

此目录中的文件由 ACPI 公开,以提供用户与设备的交互,您可以在thinkpad-acpi 文档acpi背光下sysfs 文档

更改该max_brightness值可能需要能够修改和加载修改后的固件(我认为仅通过修改 DSDT 是不可能的,但您也可以调查这一点),并且可能还需要设备数据表。

相关内容