Please save my eyes: Brightness control not working

Hello!

Ever since I installed Fedora Silverblue 41 I cant control the brightness of my screen. It is stuck at 100%.

I tryed working with xbacklight but it gave the error: no outputs have backlight property.

In search for a solution i stumbled app on this: Brightness control not working

which seems to describe my problems with a solution which would be entering the line “GRUB_CMDLINE_LINUX= amdgpu.backlight=0”

Apart of the fact that i wouldn’t know how to add a line, i couldn’t find the described files "/etc/grub " or “/etc/default/grub” in which i should add the line.

Are they hidden? Is it different with silverblue?

Some infos about my hardware:

Hardware Information:

  • Hardware Model: SchenkerTechnologiesGmbH XMG CORE REN/E21
  • Memory: 32.0 GiB
  • Processor: AMD Ryzen™ 7 4800H with Radeon™ Graphics × 16
  • Graphics: AMD Radeon™ Graphics
  • Graphics 1: NV176
  • Disk Capacity: 500.1 GB

Software Information:

  • Firmware Version: N.1.06A05
  • OS Name: Fedora Linux 41.20250101.0 (Silverblue)
  • OS Build: (null)
  • OS Type: 64-bit
  • GNOME Version: 47
  • Windowing System: Wayland
  • Kernel Version: Linux 6.12.6-200.fc41.x86_64

Thanks in advance for your help

Some information about the missing grub config in Silverblue:

1 Like

Thank you.

How would i go about adding my configuration as a distinct configuration file?

If you’re just trying to test that GRUB command to see if it works, you can temporarily edit GRUB by hitting “e” on the kernel in the GRUB menu you want and adding GRUB_CMDLINE_LINUX=amdgpu.backlight=0. If Silverblue is set up to load GRUB differently, I don’t know if that will help…

I am realy confused.

After entering the Grub menu i couldn’t do anything.
entering "/boot/grub2/grub.cfg, " or "cat /boot/grub2/user.cfg set timeout=10 " gave simply an error.

I never messed with Grub. Am i doing something wrong?

It appears that you would need to use rpm-ostree kargs to add kernel arguments. I personally don’t use Silverblue so i can only give you broad information, but the syntax for that would be as follows:

$ sudo rpm-ostree kargs --append=KEY=VALUE

For your situation this would be:

$ sudo rpm-ostree kargs --append='amdgpu.backlight=0'

If you want to delete the argument at a later moment you can use delete instead of append:

$ sudo rpm-ostree kargs --delete=KEY=VALUE
1 Like

Yup, that looks like something unique to Silverblue; alas, I’m no use, then.

Thank you so much!

Finally i could enter the command.
It sadly didn’t have the desired effect. :frowning:
The brightness control doesn’t work.

Does this confirm that the command is in effect?

Yes, but you will need to reboot for the parameter to have an effect. You can see the active kernel parameters like this:

$  cat /proc/cmdline

BOOT_IMAGE=(hd0,gpt5)/vmlinuz-6.12.6-200.fc41.x86_64 root=UUID=64299da9-1f2b-4018-bdf9-07d1f842ed88 ro rootflags=subvol=root rhgb amdgpu.dcdebugmask=0x10 quiet

The command is active.
But it doesn’t seem to be the solution to my issue.

My brightness bar still moves but has no effect.

I’ll keep locking for a solution and would appreciate any suggestions.

Maybe we should check if the backlight is working on a lower level. What does the following give back?

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

If the above command gives back “No such file or directory”, you could check if amdgpu_bl1 has a different name on your system.

If the command gives back a number, you can try setting the backlight manually:

$ sudo -s
$ echo 100 > /sys/class/backlight/amdgpu_bl1/brightness
1 Like

thank you for not giving up on me :slight_smile:

I do get the answer “No such file…”

How would i go about finding out how “amdgpu_bl1” is called in my system?

$ ls -la /sys/class/backlight

You may have to remove that earlier kernel parameter again for it to show up.

gummiebaer@fedora:~$ ls -la /sys/class/backlight
total 0
drwxr-xr-x. 2 root root 0 Jan 3 17:34 .
drwxr-xr-x. 78 root root 0 Jan 3 16:44 …
lrwxrwxrwx. 1 root root 0 Jan 3 15:44 acpi_video0 → …/…/devices/pci0000:00/0000:00:08.1/0000:06:00.0/backlight/acpi_video0
lrwxrwxrwx. 1 root root 0 Jan 3 15:44 amdgpu_bl2 → …/…/devices/pci0000:00/0000:00:08.1/0000:06:00.0/drm/card2/card2-eDP-2/amdgpu_bl2

so it seams like the name is amdgpu_bl2

if i enter

cat /sys/class/backlight/amdgpu_bl2/brightness i get the number 252

Ok then:

$ sudo -s 
$ echo 100 > /sys/class/backlight/amdgpu_bl2/brightness
1 Like

Wohooo!! It worked! Thank you so much!

Is there a way to now make it more user friendly?
Or is this how i adjust the brightness from now on?

Great!

What may be the case, is that your system is trying to use the other backlight entry it found, acpi_video0 instead of the working amdgpu_bl2 one. If that is the case then it could help to disable the first one. You could try this by adding the kernel parameter:

acpi_backlight=vendor

in the same way as you did earlier.

1 Like

So the full command would be

sudo rpm-ostree kargs --delete=acpi_video0 =vendor

this way i command to delet the argument to use acpi_vdeo0 or did i get it wrong?

You would want to remove the earlier parameter you set, since that didn’t seem to have an effect:

$ sudo rpm-ostree kargs --delete='amdgpu.backlight=0'

Then add the new one instead:

$ sudo rpm-ostree kargs --append='acpi_backlight=vendor'

Thank you.

I made those changes.
Sadly it didn’t fix the issue. Now the brightness control on my keyboard doesn’t work either.
I still can move the Bar in the top right corner to no effect on brightness

Now $ ls -la /sys/class/backlight gives:

total 0
drwxr-xr-x. 2 root root 0 Jan 3 19:04 .
drwxr-xr-x. 78 root root 0 Jan 3 2025 …

that doesn’t look right to me