OpenSUSE 42.3 on Dell Inspiron 14R Laptop Screen Brightness not working

Hello,

I am trying to convert from Ubuntu to OpenSUSE, and I am liking it so far. But I am having difficulty with the screen brightness. I cannot change it via the brightness app (through the battery icon) or through my function keys. When I press the function keys, the brightness icon appears and the bar moves up and down appropriately, but the brightness does not actually change. I’ve tried adding the following to /usr/share/X11/xorg.conf.d/20-intel.conf


Section "Device"
        Identifier      "card0"
        Driver          "intel"
        Option          "Backlight"     "intel_backlight"
        BusID           "PCI:0:2:0"
EndSection

But when I reboot, the graphical component does not load, and I have to log in via CLI and remove that file before I can proceed. I’ve also tried adding /usr/share/X11/xorg.conf.d/20-intel.conf with the following content:

Section "Device"
        Identifier "Intel Graphics"
        Driver "intel"
        Option "AccelMethod" "sna"
        Option "Backlight" "intel_backlight" # intel instead of acpi_video0 
        BusID "PCI:0:2:0"
EndSection

It had the same result. I also tried adding /usr/share/X11/xorg.conf.d/80-backlight.conf with these contents:

Section "Device"
    Identifier  "Intel Graphics"
    Driver      "intel"
    Option      "AccelMethod"     "sna"
    Option      "Backlight"       "intel_backlight" # use your backlight that works here
    BusID       "PCI:0:2:0"
EndSection

Again, the same result. It would not fully reboot until I removed that file.

I’ve also tried editing the GRUB entry in /etc/default/grub as follows:

GRUB_CMDLINE_LINUX="acpi_backlight=vendor acpi_osi=Linux"

After rebooting, I saw no change in the behavior.

Here is my kernel information

> uname -a
Linux linux-dkbi 4.4.87-25-default #1 SMP Wed Sep 13 07:19:13 UTC 2017 (3927ef5) x86_64 x86_64 x86_64 GNU/Linux

Please let me know if there is anything else I can provide that will help in resolving this. Your help is greatly appreciated.

Btw, this does work for changing the brightness:

sudo echo 1000 > /sys/class/backlight/intel_backlight/brightness

It’s been a while since I installed Ubuntu on my laptop, and I had to perform a fix then as well in order to get the brightness to work. If I remember correctly, I followed this post to get it working: brightness control not working in 14.04 (dell inspiron 3537) - Ask Ubuntu

The main part is below, and I had to replace acpi_videoX with intel_backlight.

Now we will have to create a file at /etc/init/ for configurations.

sudo gedit /etc/init/fixbrightness.conf
Now paste this to opened text file without quotes.

"description “Sets brightness after graphics device is loaded”

start on graphics-device-added task exec /bin/echo BRIGHTNESS_VALUE> /sys/class/backlight/acpi_videoX/brightness"

You have to replace BRIGHTNESS_VALUE with actual brightness you get and acpi_videoX with your laptop’s ACPI. Save the file and reboot the laptop and find out weather the problem is fixed.

However, in openSUSE, I don’t have an /etc/init/ directory. Can this configuration file still be used, and if so, where would I put it?

Additional driver information:

> sudo lspci -nnk | grep -A3 VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 18)
        Subsystem: Dell Device [1028:0456]
        Kernel driver in use: i915
        Kernel modules: i915

I followed another post that led me to this:

> sudo udevadm monitor
[sudo] password for root: 
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1646.801456] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)
UDEV  [1646.802915] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)
KERNEL[1646.838172] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)
UDEV  [1646.839719] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)
KERNEL[1648.711263] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)
UDEV  [1648.712604] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)
KERNEL[1650.510135] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)
UDEV  [1650.511418] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)
KERNEL[1651.629454] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)
UDEV  [1651.631175] change   /devices/platform/dell-laptop/backlight/dell_backlight (backlight)

And I found that /sys/class/backlight/dell_backlight/brightness changes when I press the brightness keys, but not intel_backlight/brightness. See below. Notice that dell_backlight/brightness changed from 7 to 4, but the intel_backlight/brightness did not change at all:

> cat /sys/class/backlight/intel_backlight/brightness 
2371
> cat /sys/class/backlight/dell_backlight/brightness 
7
# PRESSED THE BRIGHTNESS DOWN BUTTON 3 TIMES
> cat /sys/class/backlight/intel_backlight/brightness 
2371
> cat /sys/class/backlight/dell_backlight/brightness 
4

Is there anything I can do to use dell_backlight instead of intel_backlight?

Hi
SysVinit is dead these days, systemd is the new toy :wink:

Is the dell-wmi module present?

Check for systemd service files present and check status


systemctl list-units |grep backlight
systemctl status <your_service>

Probably;
systemctl status systemd-backlight@backlight:intel_backlight.service

I would suggest backing out of the configurations you changed and concentrate on the systemd service, can always create your own systemd service as well.

SOLVED:

I checked some logs and found that the “intel” module was not installed. So I installed xf86-video-intel, created the following file, rebooted and now it works:

# cat /etc/X11/xorg.conf.d/20-intel.conf 
Section "Device"
        Identifier      "card0"
        Driver          "intel"
        Option          "Backlight"     "intel_backlight"
        BusID           "PCI:0:2:0"
EndSection