Since a few days, I got a HP ENVY 15-dr0350nd. It has a gorgeous 4k screen and NVIDIA® GeForce® MX250 video. Pretty much everything works well, apart from the fact that so far, I did not find any way to set brightness, except with xrandr. It works neither from keys (although it shows the changing slider), nor from energy settings.

I'd love to see that this is a dupe of an existing question, however, despite the fact that I tried I believe all options that were mentioned inside and outside AU:

  • running both nouveau and nvidia drivers
  • running the very latest 430 nvidia driver
  • running the latest 5.2 kernel
  • adding the boot parameters acpi_osi=Linux acpi_backlight=intel, acpi_osi=Linux acpi_backlight=intel_backlight, acpi_backlight=vendor, acpi_backlight=video, which were mentioned in several posts and/or blogs.
  • tried controlling brightness with xbacklight and ddcontrol
  • edited the file /usr/share/X11/xorg.conf.d/10-nvidia.conf
  • tried sudo echo <number> > /sys/class/backlight/intel_backlight/brightness, which did make the slider in energy settings move, but not the real brightness.

So far nothing gave a sign of live to setting brightness on this otherwise gorgeous laptop. If nothing else is possible, I'll control brightness with xrandr, but would love to see it work the way it should.

Did anyone find a fix or workaround?

  • Someone posted a question the other day mentioning that OLED screen has no brightness control and I wonder if it is similar to your problem?: askubuntu.com/questions/1150339/… – WinEunuuchs2Unix Jun 15 at 23:28
  • if ll /sys/class/backlight shows two directories let me know. I'll dig up an old answer on that. – WinEunuuchs2Unix Jun 15 at 23:30
  • @WinEunuuchs2Unix thanks, yeah the symptoms are the same, and (an applet using-) xrandr is my current workaround. Through the years the issue occurs in many cases. None of the existing answers make any change on this one however. /sys/class/backlight shows only one directory (intel_backlight) which confuses me a bit, since I have an nvidia graphics card. – Jacob Vlijm Jun 16 at 5:37
  • The script I wrote took what was written to intel_backlight and mirrored it into nvidia_backlight using inotify-wait. Here is another script that sets xrandr rather than mirrors the dual backlights. Which is more relevant to you as you only have one backlight: askubuntu.com/questions/935585/… – WinEunuuchs2Unix Jun 16 at 13:51
  • @WinEunuuchs2Unix looks like a very thorough answer +1. Unfortunately, none of the options work. Looking into the linked sites. – Jacob Vlijm Jun 16 at 14:33

Update June 16, 2019 2:44pm MST

It was revealed it's a "WLED" screen not an "OLED" screen we are interested in. Hope can be found in this Linux Kernel Proposed Update message:

qcom: spmi-wled: Support for QCOM wled driver

From: Kiran Gunda

To: bjorn.andersson-AT-linaro.org, linux-arm-msm-AT-vger.kernel.org

Subject: [PATCH V1 0/4] qcom: spmi-wled: Support for QCOM wled driver

Date: Thu, 16 Nov 2017 17:48:33 +0530

Message-ID: <1510834717-21765-1-git-send-email-kgunda@codeaurora.org>

Cc: linux-kernel-AT-vger.kernel.org, linux-arm-msm-owner-AT-vger.kernel.org, Kiran Gunda

Archive-link: Article

WLED driver provides the interface to the display driver to adjust the brightness of the display backlight. This driver exposes two APIs to set and get the brightness of the display backlight through the backlight framework. This driver has the support to handle the OVP (over voltage protection) and the SC (short circuit protection) interrupts. It also has the auto calibration algorithm support to configure the right strings if the user specified string configuration is in-correct.

Kiran Gunda (4):
  qcom: spmi-wled: Add support for qcom wled driver
  qcom: spmi-wled: Add support for short circuit handling
  qcom: spmi-wled: Add support for OVP interrupt handling
  qcom: spmi-wled: Add auto-calibration logic support

 .../bindings/leds/backlight/qcom-spmi-wled.txt     | 118 +++
 drivers/video/backlight/Kconfig                    |   9 +
 drivers/video/backlight/Makefile                   |   1 +
 drivers/video/backlight/qcom-spmi-wled.c           | 999 +++++++++++++++++++++
 4 files changed, 1127 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/backlight/qcom-spmi-wled.txt
 create mode 100644 drivers/video/backlight/qcom-spmi-wled.c

-- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project

Original Answer

Although not an answer hoped for this Arch Linux article states:

It may be helpful to know that OLED displays by their nature do not have backlight.

The only solution therefor is to use something like this:

$ xrandr --output eDP1 --brightness .5
  • where .5 is 50% brightness, .63 would be 63% brightness, etc.
  • Thanks for the answer! However, this laptop actually has a wled screen, which is backlit. As said, what I am using atm already is an applet, setting brightness with xrandr. – Jacob Vlijm Jun 16 at 18:43
  • In that case I'll keep digging. Next year I'll be getting a new laptop and it will probably be similar to yours. I assume the applet is one of the many you've written in python ;) – WinEunuuchs2Unix Jun 16 at 19:20
  • Hah, this is one that was written by Serdar :). Thanks though for all your effort! much appreciated. – Jacob Vlijm Jun 16 at 19:27
  • I think I've just put in my final effort above. I would nag HP to death (or at least once a week like in Shawshank Redemption) to put their WLED driver into the kernel :) – WinEunuuchs2Unix Jun 16 at 20:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.