Gnome

GNOME 3.18 中的環境光感測器支持

  • February 21, 2016

我有一台裝有 ArchLinux 和 Gnome 3.18 的戴爾 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 檢測到/支持,因為我仍然沒有得到“控制中心電源面板中的開關”並且顯示亮度不會自動調整。

在此處輸入圖像描述

我怎樣才能讓它工作?

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 核心的更新檔,將來可以在具有類似ALSiio-sensor-proxy的電腦上開箱即用,而無需打更新檔。iio-sensor-proxy

引用自:https://unix.stackexchange.com/questions/234990