Ubuntu – Ubuntu 20.04 Lenovo IdeaPad 5 Ryzen 4800u Display Brightness not working

20.04amd-ryzenbrightnessdisplaylenovo

I cannot get changing the display brightness to work. I have a Lenovo IdeaPad 5 with AMD Ryzen 4800u CPU and integrated Vega graphics.

I tried the following solutions: Grub property acpi_backlight, xbacklight, changing backlight directly in /sys/class/backlight/…, xgamma, xrandr, gdbus and setpci.

I followed instructions on these answers, but none of them worked:

I can see, that values for e.g. xrandr or xgamma or backlight are set, but they have no effect on the notebooks display.

I guess that it has something to do with AMD drivers but I don't know…

Now I don't know in wich direction to search further. Maybe it's a driver or kernel thingy.

So, can anyone help? 🙂

Best Answer

The issue is related to the Renoir graphics in AMD 4000 series processors. Here is a Phoronix article that gives a short description of it. Starting from Linux kernel 5.5, Renoir support was marked as no longer experimental. Kernel 5.7 is the newest kernel, so updating to that provides support for your processor.

I have a laptop with a 4500U. Upgrading to 5.7 helped fix every issue besides the brightness control.

The following steps to install the kernel comes from this answer which is a general version of an ubuntuforums.org post from user lykwydchykyn. The following steps contain some additions that I found useful when installing the kernel:

  1. Go here (sorted by most recent build): https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D

  2. Select the build you want, then navigate to the amd64/ directory.

  3. Download 3 (maybe 4) debs to a folder somewhere:

     linux-headers-VERSION-NUMBER_all.deb
     linux-headers-VERSION-NUMBER_amd64.deb
     linux-image-VERSION-NUMBER_amd64.deb
     linux-image-extra-VERSION-NUMBER_amd64.deb    # if available
    
  4. Install the debs with whatever package manager front-end you use, or use these commands:

     cd /path/to/folder/where/you/put/the/debs
     sudo dpkg -i *.deb
    

An additional resource is the Ubuntu wiki which explains how to install an upstream kernel with generic instructions. This is good for learning that you choose either the generic kernel or the lowlatency kernel and don't download all of them (like I did at first): https://wiki.ubuntu.com/Kernel/MainlineBuilds