You are not logged in.
Most of the time I boot my laptop during daylight, so I want the screen to start at full brightness by default. For this I did the following measures:
`systemd.restore_state=0` is part of the kernel command line
The following is the contents of `/etc/udev/rules.d/50-backlight.rules`:
SUBSYSTEM=="backlight", ACTION=="add", ATTR{brightness}=ATTR{max_brightness}
The file is included in the initramfs via the `FILES` array in `/etc/mkinitcpio.conf`.
Since the last update, after searching around here for a bit, `amdgpu.dcdebugmask=0x40000` is also part of the kernel cmdline.
Since the last update, however, the screen starts at about half brightness instead of full brightness.
What other methods exist to set the screen brightness at boot, preferably before I have to enter my LUKS password?
Linux version: 6.16.4.arch1-1
Systemd version: 257.8-2
amd-ucode and linux-firmware-amdgpu version: 20250808-1
Last edited by phoenixclank (2025-10-04 10:58:45)
Offline
Since the last update
So what was updated? Does downgrading the package(s) help?
I am presuming the udev rule worked as expected before the upgrade.
Jin, Jîyan, Azadî
Offline
linux was updated, I was referring to https://bbs.archlinux.org/viewtopic.php … 4#p2248154 without realizing that happened two months ago.
Anyway now the screen boots at max brightness again, without me having done anything to the boot setup in the meantime.
It didn’t work for the first two or three boots after adding `amdgpu.dcdebugmask=0x40000` to the kernel command line. I’ll keep it there now.
I am maximally confused, but I’ll mark this as “solved”. I may have to come back here when it starts acting up again.
Offline
By now I have noticed that the screen brightness is simply inconsistent at boot. Sometimes it starts at half brightness, sometimes at full.
I removed the udev rule file from the initramfs, to let the brightness sort itself out during early boot. My hope is that it gets applied correctly when the root partition is decrypted, and fix any inconsistensies that may happen before then.
So far though the screen booted at max brightness now. I will add the [SOLVED] back in if it stays this way for a couple more boots.
Oh and I removed the `amdgpu.dcdebugmask=0x40000` parameter from the kernel command line again, because it wasn't doing anything.
Offline
Do you actually have/run on an AMD GPU?
https://bbs.archlinux.org/viewtopic.php?id=307614 - this is intel Arc, though
Online
It's an AMD CPU (Ryzen 5 5500U) with integrated graphics (fastfetch says: Lucienne). The backlight subsystem is called `amdgpu_bl1` (in `/sys/class/backlight/`).
Also it just booted at half brightness and the udev rule did not get applied after decrypting the root partition.
Offline
Can you adjust the backlight level at runtime and at will?
Edit: wrt https://github.com/gregkh/linux/commit/ … 85f50bbc66 - is this still an issue w/ 6.16.4 ?
x-ref, https://bbs.archlinux.org/viewtopic.php?id=308051
Last edited by seth (2025-09-04 20:43:33)
Online
Yes I can set the brightness at will. (I mapped the keyboard “backlight brightness up” and “down” buttons in my desktop environment, to go at increments of 5%, but I can set it manually to arbitrary values lower than 61680.)
6.16.4 is exactly the version where the issue appeared.
Offline
This would suggest one of those patches being the cause, see https://bbs.archlinux.org/viewtopic.php … 2#p2260272 and ideally confirm this by reverting that (or both) patch(es)
In the meantime you could setup a systemd service to manually set the brightness during the boot.
Online
I figured out this behavior started with kernel 6.13.8 for me and likely following commit: drm/amd/display: fix default brightness
With this commit, initial brightness is no longer set automatically to maximum brightness but according to ACPI. This usually leads to max brightness only if a power cord is connected and to half brightness, otherwise.
I solved it by using a custom mkinitcpio hook to always set brightness to max at early boot in initramfs:
Add following brightness hook to /etc/initcpio/hooks/brightness:
#!/bin/sh
run_hook() {
for dev in /sys/class/backlight/amdgpu_bl*; do
if [ -d "$dev" ]; then
max=$(cat "$dev/max_brightness")
echo "$max" > "$dev/brightness"
fi
done
}
Potentially adapt /sys/class/backlight/amdgpu_bl* to your situation.
Make it executable: sudo chmod +x /etc/initcpio/hooks/brightness
Add following brightness install script to /etc/initcpio/install/brightness:
#!/bin/bash
build() {
add_runscript
}
help() {
cat <<HELPEOF
This hook sets AMD backlight brightness to max at initramfs early boot.
HELPEOF
}
Make it executable: sudo chmod +x /etc/initcpio/install/brightness
Add brightness hook to /etc/mkinitcpio.conf after kms hook, e. g.:
HOOKS=(base udev autodetect microcode modconf kms brightness keyboard keymap consolefont block encrypt lvm2 filesystems fsck resume)
Rebuild initramfs: sudo mkinitcpio -P
Maybe this is of help for someone!
Offline
Thank you so much, this finally fixed it!
I guess it’s a noble idea to reduce the brightness when the laptop isn’t plugged in. But I don’t want that. And I’m glad I finally found a way to change that!
Offline