OLED screens are relatively new to laptops. In 2019, Samsung introduced its 15” 4K AMOLED display which was adopted by many laptop manufacturers, mostly for the laptops marketed towards content creators. Some of these laptops are the Asus Zenbook Pro Duo, the Dell XPS 15, the Gigabyte Aero 15 OLED, and the Razer Blade 15 Studio Edition. A few older laptops experimented with OLED displays as well such as the Galaxy Tab Pro S and the Lenovo ThinkPad X1 Yoga, however, they were not as popular as the more recent options.
Why doesn’t traditional control work?
The major characteristic of OLED screens is that the OLED pixels are self-emissive, unlike LCD screens which require a backlight. As a result, the brightness settings, which typically control the backlight of the LCD, do not work with OLED.
Even though Linux laptops such as the System76 Adder WS now feature OLED displays, the brightness functionality has not been implemented in many Linux distros yet.
What is the solution?
sudo apt install -y liblcms2-dev
git clone https://github.com/udifuchs/icc-brightness.git
Now you can run the tool using:
Which brings up the following help:
Control OLED display brightness by applying ICC color profiles.
icc-brightness brightness max-brightness - set brightness manually
icc-brightness apply - apply brightness from system setting
icc-brightness watch - continuously update to system setting
icc-brightness clean - remove all profiles generated by us
In order to make the watch command run automatically as you log in to the GNOME session, enter the following:
sudo make install
After you log out and log back in, the brightness controls will work. Beware that setting the brightness all the way down will cause the screen to go completely black.