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.
I made a github repo to fix all the issues for Ubuntu on Dell XPS 7590(Brightness, wifi, power consumption, suspend power consumption).
long story short,
- CPU Issues: Ubuntu 19.04 or 19.10 are better because the kernel support newer processors better. But you can use Ubuntu 18.04 but kernel in that version doesn't support new processors which lead to high power consumption, so you will have to install PowerTop and other power management tools to reduce the power consumption. be aware that PowerTop disable intel module which case screen flickering in suspend mode(fixed this issue in my script).
- WiFi: you can install killer wifi driver following bellow steps(killer wifi website).
sudo add-apt-repository ppa:canonical-hwe-team/backport-iwlwifi
sudo apt-get update
sudo apt-get install backport-iwlwifi-dkms
reboot
- Brightness: you will have to use one of two methods:
- Xrandr: just run in terminal window
xrandr --output $(xrandr --listmonitors | awk '$1 == "0:" {print $4}') --brightness 0.6
to set the brightness to 60%, or change 0.6 to range from 0 to 1(0 to 100%). you will have to make a script to change it by fn
keys(check the repo).
- ICC color profile: check this source repo for instruction, or use my script which have the above two methods to choose from.
Best Answer
I recommend using the ICC Brightness tool, which worked well for my Dell 7590 with OLED screen. It requires compiling and installing a small utility, but it works well.
Full instructions can be found at https://github.com/udifuchs/icc-brightness but here is a summary.
After a reboot your brightness keys should now work. Be careful not to use this in conjuction with the xrandr solutions as they don't play nicely together.