I found the issue, it’s not the kernel, it’s me not knowing how to add kernel parameters with systemd-boot.

When I tried, my systemd-boot config — /boot/loader/entries/arch.conf — was as follows:

title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root="LABEL=arch_os" rw 
acpi_backlight=native

The mistake was with me adding options with single lines, while it needed to be added with spaces, not new lines. So the correct config is:

title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root="LABEL=arch_os" rw acpi_backlight=native

I tried all three different options: video, vendor, native.

When set as video, I had brightness, but my wifi stopped existing.

$ ls /sys/class/backlight/
acpi_video0

$ ls /sys/class/backlight/acpi_video0
actual_brightness  brightness  max_brightness  scale      type
bl_power           device      power           subsystem  uevent

$ iwctl station wlan0 show
Device wlan0 not found.
Device wlan0 not found.
No station on device: 'wlan0
  • vendor did nothing for brightness, and I forgot to check Wi-Fi
  • native helped: I have brightness back again, and Wi-Fi also works