Brightness key not work lenovo g400s

Hello! This is my first time with OpenSuse. I just bought a new computer, it’s a Lenovo G400S with Windows 8. First thing that I made were install OpenSuse. (Almost) everything works fine, my only problem is that my brightness keys (F11 and F12) don’t work. What can I do to fix it?

From a quick google, I note that others have similar issues with this (and similar Lenovo models). Which graphics chipset is this machine using?

/usr/sbin/hwinfo --gfxcard
08: PCI 02.0: 0300 VGA compatible controller (VGA)                [Created at pci.319]
  Unique ID: _Znp.sup1nu1whb0
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Model: "Intel VGA compatible controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x0166 
  SubVendor: pci 0x17aa "Lenovo"
  SubDevice: pci 0x3977 
  Revision: 0x09
  Driver: "i915"
  Driver Modules: "drm"
  Memory Range: 0xe0000000-0xe03fffff (rw,non-prefetchable)
  Memory Range: 0xd0000000-0xdfffffff (ro,non-prefetchable)
  I/O Ports: 0x3000-0x303f (rw)
  IRQ: 43 (124576 events)
  Module Alias: "pci:v00008086d00000166sv000017AAsd00003977bc03sc00i00"
  Driver Info #0:
    Driver Status: i915 is active
    Driver Activation Cmd: "modprobe i915"
  Config Status: cfg=no, avail=yes, need=no, active=unknown

Primary display adapter: #8

U need **to add **this to kernel:


See my comment


I have a lenovo G400S.

The main problem is not that the Brightness Keys don’t work, but they work really slow. It means that the brightness values are changed but you need to hold one of the keys for quite a while until you see some difference.

I believe it has to do with my /sys. There are 2 adapters:

# ls /sys/class/backlight/
acpi_video0  intel_backlight

And two different max_brightness values:

# cat /sys/class/backlight/intel_backlight/max_brightness
# cat /sys/class/backlight/acpi_video0/max_brightness

However when selecting full brightness at KDE, intel_backlight/brightness sticks to 765 and doesn’t increase.

Each + or - brightness key increases or reduces the brightness only by a factor of “1” in acpi_video0 and something around (but not exactly) “9” on intel_backlight.

So if I press 10 times the “-” brightness key, I would have:
“90” on /sys/class/backlight/acpi_video0/brightness and
“687” on /sys/class/backlight/intel_backlight/brightness (as I said it’s not exactly “9” but something around)

So it gives the impression that the brightness keys do not work. The normal behavior would be to increase/decrease the brightness by 10% on key press and not only 1%.

This can be done by reading a suggestion on this thread:, and passing the acpi_osi=Linux parameter to the kernel arguments. Any other to acpi_backlight=, including vendor, intel_backlight, no parameter at all, etc. does not work for me.

So after booting the kernel with acpi_osi=Linux, we have these values:

# cat /sys/class/backlight/acpi_video0/max_brightness
# cat /sys/class/backlight/intel_backlight/max_brightness

It roughly changed the max_brightness on acpi_video0 to 10 instead of 100. So by pressing only once the “-” key makes it reduces the brightness by a factor of 1, which is 10% and it does for both (a little more for Intel):

# cat /sys/class/backlight/acpi_video0/brightness
# cat /sys/class/backlight/intel_backlight/brightness

This effectively reduces my Screen Brightness by 10%.

The only problem is that it is not integrated to KDE. If I reduce by 10% e.g. the Power Management will still point the brightness at 100%.

So, we have 1 fix and 1 issue:

FIX: add **acpi_osi=Linux **to the kernel boot options.
ISSUE: KDE doesn’t follow the brightness changes, either being on FrameBuffer or on X.