Brightness keys not working


first time I've used another distro than ubuntu for a very long time, so that's already saying something ;-). Long time linux user though, started in 1996. It's the btrfs support with the snapshots that won me over (used Arch in the past but found it too buggy - I hope the snapshots can help here). I installed the MATE version.

Anyway, for some reason the brightness keys on my laptop (XPS 13 9370) don't do anything. This has worked always (in any linux live USB stick that I've tried, in ubuntu, etc, hell it even works in the hackintosh install on same laptop ;-)). No idea why. Installed mainline kernel 5.10.1 but same issue. Brightness control works though, screen dims when idle for a while.

Any ideas?

update: these keys don't generate X events (ACPI handled I think), so xev doesn't print anything.



Perhaps the Archwiki may be of some help:


Thanks, but unfortunately no info there. While researching this, everyone that has this issue (apparently a lot) is using some form of Arch linux :roll_eyes:

Using the /sys interface on the commandline I can control brightness, so it's really the keys that are not working (Fn-up/Fn-down - all other Fn keys work)

1 Like

Have you tested kernel boot parameters such as:


Please post your system specs:

inxi -Fxxxza

As well, please post all your troubleshooting efforts (in detail) to this point, with links to pertinent info you've found.

Many suggestions here:

Including this promising looking info:

I currently fixed this was by removing enable_dpcd_backlight from my /etc/modprobe.d/i915.conf. That file now contains this line only:

options i915 modeset=1 enable_psr=2 enable_fbc=1 enable_guc=2 fastboot=1

Then the other thing I had to do previously (which I thought was the only thing till I accidentally reverted the i915.conf change above) is remove i915 from the MODULES=() block in my /etc/mkinitcpio.conf file and regenerate the boot image (which I had done by reinstalling the linux package to be sure I didn't accidentally use the wrong syntax calling the utility directly).

Welcome to Garuda BTW.


I have tried acpi_backlight=vendor, acpi_osi, does not do anything. The options on the i915 driver don't solve the problem either, and on top they make my system unusably slow.

inxi output:

  Kernel: 5.10.1-103-tkg-bmq x86_64 bits: 64 compiler: gcc v: 10.2.0 
  parameters: intel_pstate=passive BOOT_IMAGE=/@/boot/vmlinuz-linux-tkg-bmq 
  root=UUID=2838d551-253f-4c92-8866-2fdf0ec25881 rw [email protected] quiet 
  splash rd.udev.log_priority=3 vt.global_cursor_default=0 
  systemd.unified_cgroup_hierarchy=1 loglevel=3 mem_sleep_default=deep 
  Desktop: MATE 1.24.1 info: mate-panel, plank wm: marco 1.24.1 
  dm: LightDM 1.30.0 Distro: Garuda Linux 
  Type: Laptop System: Dell product: XPS 13 9370 v: N/A serial: <filter> 
  Chassis: type: 10 serial: <filter> 
  Mobo: Dell model: 0F6P3V v: A00 serial: <filter> UEFI: Dell v: 1.13.1 
  date: 07/08/2020 
  ID-1: BAT0 charge: 41.4 Wh condition: 41.4/52.0 Wh (80%) volts: 8.8/7.6 
  model: LGC-LGC6.73 DELL H754V84 type: Li-ion serial: <filter> status: Full 
  Info: Quad Core model: Intel Core i7-8550U bits: 64 type: MT MCP 
  arch: Kaby Lake note: check family: 6 model-id: 8E (142) stepping: A (10) 
  microcode: E0 L2 cache: 8 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 32026 
  Speed: 3448 MHz min/max: 400/4000 MHz Core speeds (MHz): 1: 3448 2: 3795 
  3: 3865 4: 3815 5: 3764 6: 2107 7: 3726 8: 3791 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort status: Not affected 
  Device-1: Intel UHD Graphics 620 vendor: Dell driver: i915 v: kernel 
  bus ID: 00:02.0 chip ID: 8086:5917 
  Device-2: Realtek Integrated_Webcam_HD type: USB driver: uvcvideo 
  bus ID: 1-5:2 chip ID: 0bda:58f4 serial: <filter> 
  Display: x11 server: X.Org 1.20.10 compositor: marco v: 1.24.1 
  driver: intel unloaded: modesetting alternate: fbdev,vesa display ID: :0 
  screens: 1 
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") 
  s-diag: 582mm (22.9") 
  Monitor-1: eDP1 res: 1920x1080 hz: 60 dpi: 168 size: 290x160mm (11.4x6.3") 
  diag: 331mm (13") 
  OpenGL: renderer: Mesa Intel UHD Graphics 620 (KBL GT2) v: 4.6 Mesa 20.3.1 
  direct render: Yes 
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Dell 
  driver: snd_hda_intel v: kernel alternate: snd_soc_skl bus ID: 00:1f.3 
  chip ID: 8086:9d71 
  Sound Server: ALSA v: k5.10.1-103-tkg-bmq 
  Device-1: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter 
  vendor: Bigfoot Networks Killer 1435 Wireless-AC driver: ath10k_pci 
  v: kernel port: f040 bus ID: 02:00.0 chip ID: 168c:003e 
  IF: wlp2s0 state: up mac: <filter> 
  Device-2: Realtek RTL8153 Gigabit Ethernet Adapter type: USB driver: r8152 
  bus ID: 4-1:2 chip ID: 0bda:8153 serial: <filter> 
  IF: enp57s0u1 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  Local Storage: total: 476.94 GiB used: 88.29 GiB (18.5%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: SK Hynix model: PC401 NVMe 512GB 
  size: 476.94 GiB block size: physical: 512 B logical: 512 B 
  speed: 31.6 Gb/s lanes: 4 serial: <filter> rev: 80003E00 temp: 38.9 C 
  ID-1: / raw size: 46.57 GiB size: 46.57 GiB (100.00%) 
  used: 14.24 GiB (30.6%) fs: btrfs dev: /dev/nvme0n1p4 maj-min: 259:4 
  ID-2: /boot/efi raw size: 750 MiB size: 746 MiB (99.47%) 
  used: 188.8 MiB (25.3%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 
  ID-3: /home raw size: 232.83 GiB size: 232.83 GiB (100.00%) 
  used: 73.87 GiB (31.7%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3 
  ID-4: /var/log raw size: 46.57 GiB size: 46.57 GiB (100.00%) 
  used: 14.24 GiB (30.6%) fs: btrfs dev: /dev/nvme0n1p4 maj-min: 259:4 
  ID-5: /var/tmp raw size: 46.57 GiB size: 46.57 GiB (100.00%) 
  used: 14.24 GiB (30.6%) fs: btrfs dev: /dev/nvme0n1p4 maj-min: 259:4 
  Kernel: swappiness: 10 (default 60) cache pressure: 75 (default 100) 
  ID-1: swap-1 type: partition size: 1.86 GiB used: 0 KiB (0.0%) 
  priority: -2 dev: /dev/nvme0n1p5 maj-min: 259:5 
  ID-2: swap-2 type: zram size: 1.92 GiB used: 0 KiB (0.0%) priority: 32767 
  dev: /dev/zram0 
  ID-3: swap-3 type: zram size: 1.92 GiB used: 0 KiB (0.0%) priority: 32767 
  dev: /dev/zram1 
  ID-4: swap-4 type: zram size: 1.92 GiB used: 0 KiB (0.0%) priority: 32767 
  dev: /dev/zram2 
  ID-5: swap-5 type: zram size: 1.92 GiB used: 0 KiB (0.0%) priority: 32767 
  dev: /dev/zram3 
  ID-6: swap-6 type: zram size: 1.92 GiB used: 0 KiB (0.0%) priority: 32767 
  dev: /dev/zram4 
  ID-7: swap-7 type: zram size: 1.92 GiB used: 0 KiB (0.0%) priority: 32767 
  dev: /dev/zram5 
  ID-8: swap-8 type: zram size: 1.92 GiB used: 0 KiB (0.0%) priority: 32767 
  dev: /dev/zram6 
  ID-9: swap-9 type: zram size: 1.92 GiB used: 0 KiB (0.0%) priority: 32767 
  dev: /dev/zram7 
  System Temperatures: cpu: 54.0 C mobo: 36.0 C sodimm: SODIMM C 
  Fan Speeds (RPM): cpu: 0 
  Processes: 303 Uptime: 38m wakeups: 1 Memory: 15.34 GiB 
  used: 3.31 GiB (21.6%) Init: systemd v: 247 Compilers: gcc: 10.2.0 
  clang: 11.0.0 Packages: pacman: 1344 lib: 317 Shell: Bash v: 5.1.0 
  running in: mate-terminal inxi: 3.2.00
1 Like

Just popping by to say how nice it is to see a new forum member who posts details about their issue, researches, and replies with useful information... :grinning_face_with_smiling_eyes:


Thanks, usually I don't need any help ;-). Professional software dev with 25 years of linux experience ;-). This seems to be an Arch specific issue though, and already going on for a long time, I see people post about this exact problem for years.


Try other params, maybe one is better.

Check your backlight(s):

systemctl status systemd-backlight*
ls /sys/class/backlight/

You'll find this article interesting.

1 Like

Although the info on that page is interesting, it mostly addresses the backlight itself not working. It does. I can control it via /sys/class/backlight and via xbacklight. Also it dims by itself when on battery power. The problem is only with the specific backlight keys on the laptop keyboard that don't work. This has worked in all distros that so far (even works in macOS that I have on same laptop ;-)). Only noticed this when I installed garuda.

That's inspiring. Then start from the start (when Linux boots :wink:).
It seems a hardware issue.
If the HW is not at fault, then the system cannot "hear" the buttons.

  • Check/install/enable/start acpid and/or AUR search for Dell that shows some relevant, possibly useful packages, (or ideas ).
  • xev is for Xorg. Check dmesg/journal input in TTY/console (no X). Try to find a Dell oriented keyboard layout (Garuda Settings has a GUI for that, or follow Archwiki guide).

It's not a hardware issue. When I boot with garuda kde lite install usb it works. Same with garuda mate install usb. In installed os it doesn't. Even tried booting from the first snapshot (directly after I installed) and not working. Very strange.

1 Like

Have you looked at what I suggested? :point_up:

Xev does not see these keypresses. Also in mac os karabiner elements does not see them. Not yet had a chance to check acpid (not on the laptop right now, replying via phone). Will check in an hour or so.

From :

This doesn't sound like the issue as you do have backlight support, just not controllable via the keyboard...

There's nothing related on the page so I don't know why the keys don't work on your specific laptop... :thinking:

1 Like

Indeed, I read that already. System boots from UEFI.

acpid wasn't installed. Installed and started, but still no luck.

Gave up trying to fix this. Reinstalled from kde lite USB stick I still had laying around. Confirmed keys are working. Tried to upgrade, failed because 'pipewire-support conflicts with pulseaudio-support' neither of which were installed. Reset the KDE settings that were still poluting my home dir, but KDE completely borked. Gave up again. Reinstalled mate. Upgraded and brightness keys are still working. No idea what broke it last time, but solved :smile:

1 Like

Thanks for all suggestions!

1 Like

It is great that you found a workaround to your issue. However, this may only be temporary as without finding the cause of your problem it may manifest itself again.

I'm not criticizing you for the route you took, but with your level of competancy I was hoping your experience might help contribute to finding a solution to this issue.

I thought a few days back I'd read somewhere that someone had written a service to help correct this Intel issue, but I forgot to save the page where I read it.

Regardless, I'm glad you found a workaround, and again welcome to Garuda.


And... it's broken again. So some update/package that I installed since broke it.