我有一台配备 ArchLinux 和 Gnome 3.18 的 Dell XPS 13 笔记本电脑(旧系列)。我读过官方的gnome 3.18 发行说明那
如果存在光传感器,GNOME 现在将自动调整显示亮度以适应环境光水平。
对于没有内置硬件的用户,可以使用 ColorHugALS 设备进行测试。
支持 Windows 8 兼容硬件。
控制中心电源面板上的开关可以自动打开/关闭显示亮度。
Linux 内核不支持开箱即用的环境光传感器,但是我已经编译并安装/加载了该模块现在我的传感器显示为/sys/bus/acpi/devices/ACPI0008:00/
。例如我可以做
$ cat /sys/bus/acpi/devices/ACPI0008:00/iio\:device0/in_illuminance_raw
153
并读取当前原始照度。
然而,这似乎没有被 gnome 检测到/支持,因为我仍然没有“控制中心电源面板中的开关”,并且显示亮度不会自动调整。
我怎样才能让它发挥作用?
答案1
最后,在一位iio-sensor-proxy
内核开发人员的支持下,我成功地使其工作起来。
就我而言,我必须iio-sensor-proxy
从git并应用此补丁:
diff --git a/src/drv-iio-poll-light.c b/src/drv-iio-poll-light.c
index c2c5821..b568e78 100644
--- a/src/drv-iio-poll-light.c
+++ b/src/drv-iio-poll-light.c
@@ -37,7 +37,7 @@ iio_poll_light_discover (GUdevDevice *device)
return FALSE;
path = g_build_filename (g_udev_device_get_sysfs_path (device),
- "in_illuminance_input",
+ "in_illuminance_raw",
NULL);
ret = g_file_test (path, G_FILE_TEST_IS_REGULAR);
g_free (path);
@@ -130,7 +130,7 @@ iio_poll_light_open (GUdevDevice *device,
drv_data->interval = get_interval (device);
drv_data->input_path = g_build_filename (g_udev_device_get_sysfs_path (device),
- "in_illuminance_input",
+ "in_illuminance_raw",
NULL);
return TRUE;
按照README指令编译并安装并最终启用iio-sensor-proxy.service
现在我可以自动调节亮度了。
最后,开发人员提交了一个 Linux 内核补丁,将来iio-sensor-proxy
也可以在具有类似功能的计算机上开箱即用。肌萎缩侧索硬化症无需打补丁iio-sensor-proxy
。
答案2
在我从 aur 安装了“iio-sensor-proxy”包后,它对我有用。