Suporte ao sensor de luz ambiente no GNOME 3.18

4

Eu tenho um laptop Dell XPS 13 (série antiga) com o ArchLinux e o Gnome 3.18. Eu li em notas de lançamento do gnome 3.18 oficiais que

If a light sensor is present, GNOME will now automatically adjust the display brightness in order to adjust for the ambient light level.

Can be tested using a ColorHugALS device for those who don't have built in hardware.

Windows 8 compatible hardware is supported.

A switch in the control center's power panel allows automatic display brightness to be turned on/off.

Meu sensor de luz ambiente não é compatível com o kernel Linux, mas eu compilei e instalei / carreguei este módulo e agora meu sensor aparece como /sys/bus/acpi/devices/ACPI0008:00/ . Por exemplo eu posso fazer

$ cat /sys/bus/acpi/devices/ACPI0008:00/iio\:device0/in_illuminance_raw
153

e leia a iluminância bruta atual.

No entanto, isso parece não ser detectado / suportado pelo gnome, pois ainda não recebo um "switch no painel de energia do centro de controle" e o brilho da tela não é ajustado automaticamente.

Como posso fazer isso funcionar?

    
por lviggiani 09.10.2015 / 12:40

2 respostas

2

No final, consegui que funcionasse graças ao suporte de um dos desenvolvedores iio-sensor-proxy e kernel.

No meu caso, tive que retirar iio-sensor-proxy do git e aplicar este patch:

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;

Compilado e instalado conforme a instrução README e finalmente habilitado iio-sensor-proxy.service Agora eu tenho o ajuste automático de brilho.

Finalmente, o desenvolvedor enviou um patch para o kernel do linux que no futuro habilitará o iio-sensor-proxy trabalhando fora da caixa também em computadores que possuam ALS sem requerer o patch iio-sensor-proxy .

    
por 02.02.2016 / 16:24
1

Funcionou para mim depois que instalei o pacote "iio-sensor-proxy" do aur.

    
por 13.10.2015 / 11:25

Tags