xbacklight works but the brightness slider won't

Good morning :slight_smile:

I’m on the way to setting up my new computer using openSUSE 13.2. After updating the kernel manually and using the nvidia drivers “the hard way” almost everything is working properly; there’s only 2 things that are not working as expected yet: the backlit of my keyboard (but I found a npm module which I’ll test later) and the brightness fn keys which is what brought me to make this thread.

I’ve read a bunch of threads and what confuses me is in most of the cases when the fn keys and the brightness slider, xbacklight doesn’t work either, but in my case the fn keys and the brightness slider won’t work, but xbacklight does :question:

I’ve tried things, none of them have worked so far:

  • echo the value under ‘/sys/class/backlight/acpi_video0/brightness’: the value registered inside the file but the brightness didn’t change
  • ‘cat /sys/class/backlight/acpi_video0/brightness’ and see if it reflects changes: this is interesting; the cat actually notices the changes from the slider (it will show the proper value of the brightness slider position) but the brightness itself doesn’t change with either the fn keys or the brightness slider
  • added ’ acpi_osi="!Windows 2012" ’ to my kernel boot options under YaST->Boot Loader->Kernel Parameters->Optional Kernel Command Line Parameter: didn’t work
  • ‘acpi_backlight=vendor’ to my kernel boot options using the same method: it reduced the screen brightness a tiny bit, but removed the fn keys function (they don’t work anymore) and brightness slider from the UI.

I’ve also tried to add 'Option “RegistryDwords” “EnableBrightnessControl=1” ’ to the /etc/X11/xorg.conf file and when it didn’t work I add this whole section to the /etc/X11/xorg.conf.d/50-device:

Section "Device"
  Identifier "Default Device"
  Driver "nvidia"
  VendorName "NVIDIA Corporation"
  Option  "RegistryDwords" "EnableBrightnessControl=1"

That didn’t work either. The first option keeps the screen brightness slider position when I shut down or reset the laptop, but the brightness doesn’t change to the real value reflected by that position; the second one does nothing.

Fun fact is xbacklight works perfectly, if I just type it it will return the real current screen brightness and if I use 'xbacklight -dec ’ or ’ xbacklight -inc ’ they’ll adjust the brightness to the specified percentage. Also note the values returned by ‘xbacklight -get’ are different from the ones returned by ‘cat /sys/class/backlight/acpi_video0/brightness’ because this one returns the position of the brightness slider, which is not applying hence is not the real value.

Is there anything to correct this issue and make the fn function keys to work as xbacklight? Thanks :slight_smile:

Is this a laptop or a desktop? Please post the model and specs.

Hey there :slight_smile: it’s a laptop, MSI GT72 Dominator Pro, here’s the technical specifications, it’s the GT72 Dominator Pro-010 model: http://usgaming.msi.com/Product/2014/Notebook/GT72-Dominator-Pro/

That’s unusual; on this laptop with the NVidia driver installed, xbacklight doesn’t work but the brightness keys and GUI control do work. Perhaps nouveau does not support brightness for this card. You could try installing the proprietary driver, I suppose.

What do you mean with “xbacklight doesn’t work but the brightness keys control do work”? Do you have by chance this same model? I do have nvidia propietary drivers installed, but I had to replace my 3.16 kernel for the 4.x default kernel because my wireless card wasn’t working with the 3.16 kernel.

Just to clarify some things:

  • I’m not running the desktop-optimized kernel, I’m currently using 4.2.3-1.gef1562d-default because the 3.1x kernel wasn’t compatible with my Atheros Wireless Card.
  • I am using Nvidia propietary drivers, the version I currently have installed is 352.41 if I recall right (I’m not on my laptop at the moment) while I was checking the version of my driver I found a new one was released a couple days ago, I’ll check it out and will report if that solves my issue.
  • I’m using Gnome desktop
  • So far, neither the fn function keys or the brightness slider at the top right corner menu are working, but xbacklight works perfectly.

No, this laptop is an older Gateway (I don’t have the thousands it must cost for a GT72 Dominator:)), but the common factor was the NVidia graphics. I suppose it doesn’t make much difference though if you are using the proprietary drivers too. I can’t seem to find anyone else with this problem (probably most people don’t have this laptop). Did the backlight controls work with the older kernel?

Sorry for delay in the response, turns out the new display driver wasn’t supported by the kernel, and was such an experience lol. In the end I got an update from zypper and community drivers and now I’m using the community one with the 4.2 kernel. Keyboard backlight actually is fully recognized and functional, but the screen backlight is the same case than nVidia propietary driver: the brightness slider and the fn keys won’t apply the brightness value to the screen backlight, only xbacklight works. I didn’t use the nouveau much because it wasn’t supporting the card properly, but as much as I recall it had the same problem

I understand xbacklight applies the value among all of the “displays” under X Server, could it be the proper backlight controllers are in other folders rather than those? How do I find out?

Last bump: since xbacklight works and the command to increase brightness is recognized but won’t change the screen brightness, is there a way to remap the command of fn keys to execute xbacklight -inc 10 or xbacklight -dec 10 instead of the command which is not working?

I’m sure thats possible (I once remapped another key via a gui in kde, but can’t remember how, sorry!).

But regarding your first tries:

I had the same problem: no brightness control with native Nvidia driver on leap 42.1.
Are you aware that xorg.conf.d only works if there is no xorg.conf? Maybe it masked your changes.

Anyways, for me this fixed it (flickers, but thats acceptable):

Whish you luck :slight_smile: