If I try to change screen brightness on my Dell XPS15 with Fn + F11 or Fn + F12 or in the System Settings Dialogue, nothing happens. The bar indicating the screen brightness changes but the screen stays at a constant brightness, except when I turn the brightness off, the screen goes dark. I tried changing the grub settings as indicated here: Unable to change the brightness on my Dell XPS 15 (L502X), but that didn't change anything. Has anyone encountered this problem before and can tell me how to solve it?
I had the exact same behaviour than you so hopefully this will solve your issue:
In a terminal Ctrl + T type acpi_listen and press alternatively the luminosity up and down keys F11 and F12 you should get and output similar to the one below.
alexisv@SlingBeast-XPS15:~$ acpi_listen PNP0C14:02 000000d0 00000000 video/brightnessup BRTUP 00000086 00000000 PNP0C14:02 000000d0 00000000 video/brightnessup BRTUP 00000086 00000000 PNP0C14:02 000000d0 00000000 video/brightnessdown BRTDN 00000087 00000000 PNP0C14:02 000000d0 00000000 video/brightnessdown BRTDN 00000087 00000000
That tells us the BIOS is registering the key presses and forwarding them to the OS correctly.
Now press Ctrl + C to exit from acpi_listen and type lspci, in my case I was looking for the Intel VGA chip PCI id.
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07) 00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06) 00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07)
Then still in the terminal type:
sudo nano /usr/share/X11/xorg.conf.d/20-intel.conf
The file didn't existed so I created it, paste into the newly created file the following content:
Section "Device" Identifier "card0" Driver "intel" Option "Backlight" "intel_backlight" BusID "PCI:0:2:0" EndSection
The BusID section should match the "VGA compatible controller:..." ID retrieved previously with lspci. "00:02:0" becomes "PCI:0:2:0"
Save it, log out and restart.
That did for me. Creating the missing X config file got rid of the behaviour you described.
Let me know if it works.