1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-27 18:55:40 +03:00

backlight: let udev properties override clamping

On my computer, the minimum brightness enforced by clamping in
backlight is too bright.

Let udev property ID_BACKLIGHT_CLAMP control whether the brightness
is clamped or not.
This commit is contained in:
Topi Miettinen 2015-02-01 08:49:02 +02:00 committed by Lennart Poettering
parent 3f4d56a069
commit bca81be775
2 changed files with 12 additions and 2 deletions

View File

@ -58,7 +58,14 @@
is a service that restores the display backlight
brightness at early boot and saves it at shutdown. On
disk, the backlight brightness is stored in
<filename>/var/lib/systemd/backlight/</filename>.</para>
<filename>/var/lib/systemd/backlight/</filename>. During
loading, if udev property
<option>ID_BACKLIGHT_CLAMP</option> is not set to
false value, the brightness is clamped to a value of
at least 1 or 5% of maximum brightness, whichever is
greater. This restriction will be removed when the
kernel allows user space to reliably set a brightness
value which does not turn off the display.</para>
</refsect1>
<refsect1>

View File

@ -373,6 +373,7 @@ int main(int argc, char *argv[]) {
if (streq(argv[1], "load")) {
_cleanup_free_ char *value = NULL;
const char *clamp;
if (!shall_restore_state())
return EXIT_SUCCESS;
@ -390,7 +391,9 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
clamp_brightness(device, &value, max_brightness);
clamp = udev_device_get_property_value(device, "ID_BACKLIGHT_CLAMP");
if (!clamp || parse_boolean(clamp) != 0) /* default to clamping */
clamp_brightness(device, &value, max_brightness);
r = udev_device_set_sysattr_value(device, "brightness", value);
if (r < 0) {