0

AFAIK, currently, all laptop OLED screens are Samsung screens, and they all use Pulse-Width Modulation (PWM) to adjust brightness.

Windows support this feature, while Linux doesn't...

  • Where should this feature be implemented (i.e., the Linux kernel, Intel Graphics drivers, etc.)?
2

5 Answers 5

4

I've been using an OLED screen on linux on and off since they first came out in 2016 on the Thinkpad X1 Yoga. I usually went for the xrandr + acpi solution provided in this thread.

Truth be told, OLED on linux was always a compromise, either in smooth brightness control or reliability or night light features or a mix of them or even all of them (but not any more).

  1. Basic support for OLED is already implemented, but there was no software available fully take advantage of it. OLED pixels behave differently, they don't have a backlight so the amount of light they emit is based on the color they emit, and so, "color correction" with xrandr is a proper way to handle brightness control on OLED displays. Sure, having some kernel modules to do that automatically is helpful, and getting it upstream is good for a future where OLED is more widespread, but the same results can be achieved in user space.

  2. I love this question, because I can answer it like this: Here's a full-featured implementation, written in simple bash, with extensive documentation in README.md.

3

For everybody hitting on this issue in 2021:

The OLED support (or more general the support for eDP back-light control) is now merged into the Linux Kernel version 5.12-rc1. See the comment thread under the arch linux-oled package: https://aur.archlinux.org/pkgbase/linux-oled/

Many thanks to Lyude for investing the time!

2

If you are using gnome and you have tried all configurations to no avail, you can download the Soft Brightness extension. You can install this extension directly by opening the link in chrome and clicking install.

It has options to:

  1. Enable and disable backlight control.

  2. Select monitors (All,Built-in and external)

  3. Select the builtin monitor.

  4. Select full-screen behavior.

    • Do not enforce brightness in full screen.
    • Brightness enforced in full screen.
    • Brightness enforced in full screen, always tear-free
  5. Set minimum brightness - (Lowest brightness level)

  6. Control brightness from keyboard.

  7. Mouse cursor brightness control.

2
  • 1
    I have a XPS with OLEd and tried other solutions previously, and faced a lot of bugs. This one seems like the best so far
    – luksfarris
    Apr 28, 2021 at 7:32
  • 1
    I also tried so many options including writing some shell scripts for config and adding some kernel params but they did not work. Seems there is a dispute especially if your laptop has both Intel and NVIDIA May 3, 2021 at 20:14
1

The Arch Linux wiki article Backlight mentions some software for colour correction which can be used to alter brightness, one of which is icc-brightness which is specifically for changing the brightness on OLED displays.

3
  • 1
    That's true, but the question is about actual brightness control...
    – Or Harel
    Jan 5, 2020 at 12:13
  • Actually icc-brightness works ONLY if your system is in English Language Do not ask me why
    – Michael
    May 12, 2020 at 15:45
  • This one works great for me, thanks!
    – DAB
    Apr 30, 2022 at 1:54
1

Visit monitor-brightness !! My laptop's screen is OLED too. I write a code that connect backlight value, e.g. backlight bar(brightness key).

monitor-brightness

Auto-Start Installation

git clone https://github.com/tw-yshuang/monitor-brightness.git
cd ./monitor-brightness
sudo make

If you use make to install, it can auto start when you logging-in next time.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .