Linux's Display Brightness/Backlight Interface Is Finally Being Overhauled
Hans de Goede of Red Hat has been involved with many great Linux desktop/laptop hardware improvements over the years for work that would have otherwise likely gone unaddressed. One of the initiatives he has been focusing on recently that has long been a sore point for Linux laptops has been the user-space backlight/brightness interface. This week at Linux Plumbers Conference was a presentation on this effort that has long been ripe for improvement.
Hans de Goede has been working on addressing current limitations with the /sys/class/backlight user-space API and to introduce a new, better-designed API. Hans originally talked about the issues with the backlight interface all the way back in 2014 that there can be multiple backlight devices associated with a single display, a value of 0 is undefined meaning for the backlight brightness, no way to map the backlight sysfs device to a given display, etc.
To address the current issues, the plan that's been brewing is to add new "display_brightness" and "display_brightness_max" properties to the DRM connector object. A value of 0 for the max brightness would now be defined as the brightness control not being supported.
Those wishing to learn more about the work being done to improve the Linux backlight brightness control handling for displays can see Hans' slide deck (PDF) from LPC 2022. There are also the kernel patches he has been working on for addressing this mess.
Hans de Goede has been working on addressing current limitations with the /sys/class/backlight user-space API and to introduce a new, better-designed API. Hans originally talked about the issues with the backlight interface all the way back in 2014 that there can be multiple backlight devices associated with a single display, a value of 0 is undefined meaning for the backlight brightness, no way to map the backlight sysfs device to a given display, etc.
To address the current issues, the plan that's been brewing is to add new "display_brightness" and "display_brightness_max" properties to the DRM connector object. A value of 0 for the max brightness would now be defined as the brightness control not being supported.
Those wishing to learn more about the work being done to improve the Linux backlight brightness control handling for displays can see Hans' slide deck (PDF) from LPC 2022. There are also the kernel patches he has been working on for addressing this mess.
36 Comments