Comment 10 for bug 1683445

Revision history for this message
Vincent Gerris (vgerris) wrote :

Hi,

Thanks for your feedback. I had a chat with somebody with some experience and he suggested it should be fixed in userspace, here:
https://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/power/gsd-backlight-linux.c

This is what he suggests (if the above is indeed what Ubuntu uses, because it is meant for Fedora):

In the gsd_backlight_helper_get_best_backlight helper.
It only looks at the type of backlight and not at the connection between the backlight interface and the connector.
An option is, if the gsd_backlight_helper_get_type (devices, "firmware")
and gsd_backlight_helper_get_type (devices, "platform") calls both
are unsuccessful, then instead of using gsd_backlight_helper_get_type which simply returns the first matching one of the found backlights of type raw, do the following:

Take $PATH as the variable to /sys/class/backlight/foo dir
and check the content of $PATH/../enabled, it has to be "enabled", that way you can find out which backlight interface is connected to an LVDS interface that actually has a connected LCD.

If no interface is found with:
`cat $PATH/../enabled` == "enabled" then as a fallback, still return the first found interface.

I tried to implement this, but just getting the development environment setup to develop and test took me so much time that I haven't gotten to it.

Perhaps the above is easy to implement for someone with the proper setup.
Please keep us informed, if I make progress I will post too (but that might take a while).
cheers