Brightness control on Lenovo Y540 running Linux

4 minute read

In every programmer’s life there’s a time to get a new shiny piece of hardware… So it was for me recently. What may be surprising to you is the fact that I try to postpone this very moment as far in time as possible. And that’s for a good reasons. One of them is whole migration stuff (nowadays much more easier thanks to the cloud storage), second one being… Possible hardware issues.

I was looking for a powerful machine with lots of threads, memory and fast M.2 storage. As I run bootcamps for amateur programmers, which involves some travelling, it had to be laptop. Saying that, I wanted it to have superb keyboard (touchpad wasn’t that important for me, as I use mouse most of the time) and 17,3 inch screen; I know it’s kind of an animal on a verge of extinction, but I don’t get people who use 14 inch or even smaller displays with resolution of 1080p or even 4K.

Quick research made it evident that I have two options: either typical workstation or… gaming laptop. It came out that main difference between the two are: price (workstations being generally more expensive), graphics cards (WMs being stuffed with professional ones which are optimized for CAD etc.), displays (again, WMs bringing in better colors, while gaming ones - faster refresh rate). The worst thing about gaming laptops is their awful look, which may be fine for 14 year old boy, but not a professional… But! Thanks to Lenovo’s Legion tuned design language, we can have business look and gaming laptop power. That’s why I decided to buy Lenovo Legion Y540-17ICH, which is equipped with 32 GB of RAM, 6 cores / 12 threads i7-9750H CPU, M.2 NVMe storage, 17,3 inch 1080p screen. Plus really great, backlit keyboard - which is not a big surprise as Lenovo keyboards rock.

Happy with my choice, I’ve installed the latest KDE Neon. As I mostly work on my personal stuff after midnight, I was hit with bright stream of light from IPS display. I’ve pressed functional keys which dims the screen, the action was received by computer (nicely animated bar shown) and… nothing happened.

I googled the issue and seems many people came across it. Also, there is a lot of confussion around this topic. So I thought I’ll note done my solution as it’s pretty easy.

  1. Enter BIOS (‘System setup’ entry in GRUB) and go to ‘Configuration’. There, you shall be able to change from ‘Discrete’ graphics to ‘Switchable’. Please note I’m not giving you exact names here as I don’t remember them.
  2. Pass one additional argument to the kernel. That is, edit /etc/default/grub (I used nano) and edit ‘GRUB_CMDLINE_LINUX_DEFAULT’ entry by adding ‘acpi_backlight=intel_backlight’ (this was the value that changed in my case when pressing functional keys).
  3. Reboot.

I hope that will also help you. Originally, I wanted to post only this 3-step solution, but maybe some of you will find this reasoning behind choosing Y540 also interesting. Till the next time!

Categories:

Updated:

Leave a comment