GNOME 3.18 中的环境光传感器支持

GNOME 3.18 中的环境光传感器支持

我有一台配备 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-proxygit并应用此补丁:

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”包后,它对我有用。

相关内容