Do you have a laptop that is either “quite old”or “otherwise weird”? Did it come from the factory without Windows, or did you flash it with coreboot firmware? You could help the Linux kernel advance its highlighting code without abandoning fancy hardware like yours.
Hans de Goede, longtime Linux developer and chief engineer at Red Hat, writes in his Livejournal about the need to test a “special group of laptops”to prevent their backlight controls from disappearing in the Linux 6.1 kernel.
If your (old, weird) laptop is already running Linux, or you can boot it in a live USB session, you might want to check if your laptop is affected by running ls /sys/class/backlight
. If there is only one entry, and it’s called intel_backlight
, nouveau_bl
, amdgpu_bl0
or radeon_bl0
, chances are your laptop may be affected by an upcoming major backlight change. For further testing, follow the instructions in de Goede’s post.
Tests on older laptops are needed because de Goede is initiating some major changes to userspace backlight controls, which he has been working on since 2014. As detailed in the Linux Phoronix blog, there are many problems with how Linux tries to solve the wide range of backlight schemes in displays, which de Gueude outlined at the recent Linux Plumbers conference.. Multiple backlights can work with a single display, so the high-level controls “guess which one will work”. Root permissions are currently required to control brightness. And the “0”passed as the backlight value remains a mystery, as an engineer pointed out in 2014: Is it completely off or as low as the display can be lit?
The changes proposed by de Goede for the 6.1 kernel will allow setting a maximum brightness value, clearly reporting when brightness controls are not supported, and responding to hot plug events such as connecting a monitor that supports a different brightness control scheme.
As you can see from the recent Linux kernel emergency update, providing the right code to properly power a laptop display is no easy task. There are many laptop displays, and the kernel authors and maintainers cannot test them all. If you have an old one that you can boot into Linux, you can help.