If you have this as a kernel parameter remove it or comment it out and check if it works:
acpi_backlight=none
It worked for me. I had to add it at one point for this exact reason, brightness stuck on max.
Yes, three days ago I had the same problem and I solved it in the same way. Check it out to try other options
https://wiki.archlinux.org/title/backli … ne_options
/sys/class/backlight/
Also, how are you configuring optimus on your machine?
Are you are using PRIME, nvidia-xrun, or optimus-manager etc and making the nvidia card the main card for X? If so, then, because the internal display is physically attached to the internal gpu, the backlight may be assigned to the amd card, a backlight control is also produced for the nvidia card, but because no display is attached to it, it won't do anything. Unfortunately, if X is attached to the nvidia card, it/your DE will default to using the nvidia.
If this is the case, you can set the backlight by writing directly to
/sys/class/backlight/amdgpu_bl0/brightness
the actual name may vary, but that's how it appears for me with a 4800H and 2060 based laptop. You should also be able to control the backlight when the amd card is set as your main card and, by default any changes you make should save and restore on reboot and should stay the same when using the nvidia card. As mentioned Acpilight and brightnessctl can both be used to set brightness on the amd card, but you'll need to make sure that you specify the amd card.
If you've disabled the amd gpu in bios, then it's possible the backlight may not be attached to any device and be uncontrollable as a result - this has certainly been the case with some kernel and nvidia driver versions, but I'm not sure if it's still an issue.
]]>acpi_backlight=none
It worked for me. I had to add it at one point for this exact reason, brightness stuck on max.
]]>Any help?
Thanks