1

Today (12th Dec 2023) I reinstalled Ubuntu 22.04.3 on my Asus dual-boot laptop with the specs "Ryzen 6800H with Radeon graphics + Nvidia RTX 3070 GPU". When I try to change the screen brightness (using FN + F7/F8 key combinations, the brightness 'bar' appears to change but the screen remains at 100% brightness (being blinded by the screen). Output of 'lshw' is:

$ lshw -c video
*-display                 
       description: VGA compatible controller
       product: GA104M [GeForce RTX 3070 Mobile / Max-Q]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: iomemory:7c0-7bf iomemory:7e0-7df irq:105 memory:fb000000-fbffffff memory:7c00000000-7dffffffff memory:7e00000000-7e01ffffff ioport:f000(size=128) memory:fc000000-fc07ffff
  *-display
       description: VGA compatible controller
       product: Rembrandt
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:05:00.0
       logical name: /dev/fb0
       version: c8
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list fb
       configuration: depth=32 driver=amdgpu latency=0 resolution=2560,1440
       resources: iomemory:7e0-7df iomemory:7e0-7df irq:49 memory:7e10000000-7e1fffffff memory:7e20000000-7e201fffff ioport:d000(size=256) memory:fc500000-fc57ffff

As evident from the output above, I am using the Nvidia proprietary drivers activated under 'Software and Updates':

enter image description here

In the past, maybe a few months ago, using these proprietary drivers enabled me to control brightness. But alas not anymore.

I have also tried to install 'Brightness Controller', but it doesn't change screen brightness either. However, I noticed that the screen brightness can be controlled by changing the value inside the file /sys/class/backlight/amdgpu_bl0/brightness (thanks to my girlfriend's web searching), which originally has value 255. If I change it to say, 100, the brightness of the monitor does indeed change, but this is a less-than-ideal solution.

How can I fix this issue? I just want to control my brightness with FN + F7/F8 like I do in Windows 11.

1 Answer 1

1

The fundamental issue was that using FN + F7/F8 was changing the value of brightness inside the nvidia file in the corresponding directory:

/sys/class/backlight/nvidia*/brightness

instead of the amd file:

/sys/class/backlight/amd*/brightness

and thus the brightness 'bar' appears to change but doesn't actually change the screen brightness, because my display is actually outputted by my AMD integrated GPU that comes with Ryzen 6800H.

The issue was fixed by editing Grub configs in the file:

/etc/default/grub

adding amdgpu.backlight=0 to the following line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

So that you have:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.backlight=0"

For completeness, you carry out the above step as follows:

$ sudo gedit /etc/default/grub

then add the amdgpu.backlight=0 specifier as explained above. Then save and exit gedit and do:

$ sudo update-grub

Then restart. After restart, you should be able to now control screen brightness with Fn + F7/F8. Interestingly, the tool 'Brightness Controller' also works after this. In addition, if you check inside:

$ cat /sys/class/backlight/amdgpu_bl1/brightness

You can see that the value inside now changes as you control the brightness with the FN + F7/F8 buttons :)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .