Non-linear backlight brightness on Acer Aspire 5 (AMD) since recent kernel update – 0% brighter than 1-5%

Hi everyone,

I’m running Manjaro KDE on an Acer Aspire 5 A515-45G-R93U (AMD Ryzen 7 5700U with integrated Radeon Graphics and RX 640 dGPU). Recently, after a system update (likely involving the kernel upgrade to 6.15 or later), I’ve encountered a weird issue with screen brightness control.

Problem Description:
The brightness levels are not behaving linearly at low values. Specifically:

  • 0% brightness is noticeably brighter than 1% or even 5%.
  • It only starts getting brighter than 0% around 10%.

This makes dimming the screen in dark environments frustrating, as the lowest setting isn’t actually the dimmest. It seems like a bug in the amdgpu driver, possibly related to a new custom brightness curve from the firmware introduced in kernel 6.15.5.

System Details:

  • Manjaro Edition: KDE
  • Kernel: 6.15.7-1-MANJARO
  • Hardware: Acer Aspire 5 A515-45G-R93U (AMD Ryzen 7 5700U, Radeon RX 640)
  • DE: Plasma 6.3.6-1
inxi -Fxxxz                                                                                                                                            
System:
  Kernel: 6.15.7-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 15.1.1
    clocksource: hpet
  Desktop: KDE Plasma v: 6.3.6 tk: Qt v: N/A wm: kwin_wayland vt: 1 dm: SDDM
    Distro: Manjaro base: Arch Linux
Machine:
  Type: Laptop System: Acer product: Aspire A515-45G v: V1.52
    serial: <superuser required>
  Mobo: LN model: Calla_LC v: V1.52 serial: <superuser required>
    part-nu: 0000000000000000 uuid: <superuser required> UEFI: INSYDE v: 1.52
    date: 10/24/2023
Battery:
  ID-1: BAT1 charge: 40.0 Wh (100.0%) condition: 40.0/53.2 Wh (75.0%)
    volts: 12.5 min: 11.6 model: COSMX AP20CBL type: Li-ion serial: <filter>
    status: full
  Device-1: hidpp_battery_0 model: Logitech Marathon Mouse/Performance Plus
    M705 serial: <filter> charge: 55% (should be ignored) rechargeable: yes
    status: discharging
CPU:
  Info: 8-core model: AMD Ryzen 7 5700U with Radeon Graphics bits: 64
    type: MT MCP smt: enabled arch: Zen 2 rev: 1 cache: L1: 512 KiB L2: 4 MiB
    L3: 8 MiB
  Speed (MHz): avg: 1397 min/max: 412/1801 boost: enabled cores: 1: 1397
    2: 1397 3: 1397 4: 1397 5: 1397 6: 1397 7: 1397 8: 1397 9: 1397 10: 1397
    11: 1397 12: 1397 13: 1397 14: 1397 15: 1397 16: 1397 bogomips: 57491
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Lexa [Radeon 540X/550X/630 / RX
    640 E9171 MCM] vendor: Acer Incorporated ALI driver: amdgpu v: kernel
    arch: GCN-4 pcie: speed: 2.5 GT/s lanes: 4 bus-ID: 01:00.0
    chip-ID: 1002:6987 class-ID: 0380 temp: 45.0 C
  Device-2: Advanced Micro Devices [AMD/ATI] Lucienne
    vendor: Acer Incorporated ALI driver: amdgpu v: kernel arch: GCN-5 pcie:
    speed: 8 GT/s lanes: 16 ports: active: eDP-1 empty: HDMI-A-1
    bus-ID: 05:00.0 chip-ID: 1002:164c class-ID: 0300 temp: 46.0 C
  Device-3: Chicony HD User Facing driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 3-4:3 chip-ID: 04f2:b64f class-ID: 0e02
    serial: <filter>
  Display: wayland server: X.org v: 1.21.1.18 with: Xwayland v: 24.1.8
    compositor: kwin_wayland driver: X: loaded: amdgpu unloaded: modesetting
    alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: 0
  Monitor-1: eDP-1 model: LG Display 0x0563 res: mode: 1920x1080 hz: 60
    scale: 125% (1.25) to: 1536x864 dpi: 142 size: 344x194mm (13.54x7.64")
    diag: 395mm (15.5") modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: radeonsi device: 2 drv: swrast gbm: drv: kms_swrast
    surfaceless: drv: radeonsi wayland: drv: radeonsi x11: drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 25.1.6-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (radeonsi
    renoir ACO DRM 3.63 6.15.7-1-MANJARO) device-ID: 1002:164c
    display-ID: :1.0
  API: Vulkan v: 1.4.321 layers: 1 surfaces: N/A device: 0
    type: discrete-gpu hw: amd driver: mesa radv device-ID: 1002:6987 device: 1
    type: integrated-gpu hw: amd driver: mesa radv device-ID: 1002:164c
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor wl: wayland-info
    x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Renoir Radeon High Definition
    Audio vendor: Acer Incorporated ALI driver: snd_hda_intel v: kernel pcie:
    speed: 8 GT/s lanes: 16 bus-ID: 05:00.1 chip-ID: 1002:1637 class-ID: 0403
  Device-2: Advanced Micro Devices [AMD] Audio Coprocessor
    vendor: Acer Incorporated ALI driver: N/A pcie: speed: 8 GT/s lanes: 16
    bus-ID: 05:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
    vendor: Acer Incorporated ALI driver: snd_hda_intel v: kernel pcie:
    speed: 8 GT/s lanes: 16 bus-ID: 05:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.15.7-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.4.6 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Acer Incorporated ALI driver: r8169 v: kernel pcie: speed: 2.5 GT/s
    lanes: 1 port: 2000 bus-ID: 03:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp3s0 state: down mac: <filter>
  Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie:
    speed: 5 GT/s lanes: 1 bus-ID: 04:00.0 chip-ID: 8086:2723 class-ID: 0280
  IF: wlp4s0 state: up mac: <filter>
Bluetooth:
  Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 bus-ID: 1-3:2 chip-ID: 8087:0029 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 2 state: up address: N/A
Drives:
  Local Storage: total: 953.87 GiB used: 285.22 GiB (29.9%)
  ID-1: /dev/nvme0n1 vendor: Micron model: 2210 MTFDHBA1T0QFD
    size: 953.87 GiB speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: P6MA000 temp: 35.9 C scheme: GPT
Partition:
  ID-1: / size: 937.53 GiB used: 285.21 GiB (30.4%) fs: ext4 dev: /dev/dm-0
    mapped: luks-77b78c0c-2772-4c0c-a2a6-3e3d1a88a3ec
  ID-2: /boot/efi size: 299.4 MiB used: 472 KiB (0.2%) fs: vfat
    dev: /dev/nvme0n1p1
Swap:
  ID-1: swap-1 type: file size: 8 GiB used: 0 KiB (0.0%) priority: -2
    file: /swapfile
Sensors:
  System Temperatures: cpu: 47.8 C mobo: N/A
  Fan Speeds (rpm): N/A
  GPU: device: amdgpu temp: 45.0 C watts: 4.07 device: amdgpu temp: 47.0 C
Info:
  Memory: total: 16 GiB note: est. available: 14.97 GiB used: 3.34 GiB (22.3%)
  Processes: 416 Power: uptime: 28m states: freeze,mem,disk suspend: deep
    wakeups: 0 hibernate: platform Init: systemd v: 257 default: graphical
  Packages: 1475 pm: pacman pkgs: 1420 pm: flatpak pkgs: 55 Compilers:
    clang: 20.1.8 gcc: 15.1.1 Shell: Zsh v: 5.9 default: Bash v: 5.3.0
    running-in: konsole inxi: 3.3.38

When it Started:
This wasn’t an issue before; it appeared after a recent update. I confirmed by booting an older kernel (e.g., 6.12 LTS), where brightness works normally.

Workaround that Fixed it for Me:
Adding the kernel parameter amdgpu.dcdebugmask=0x40000 to GRUB resolved the non-linear behavior and restored proper linear dimming. Steps:

  1. Edit /etc/default/grub and add it to GRUB_CMDLINE_LINUX_DEFAULT (e.g., “quiet splash amdgpu.dcdebugmask=0x40000”).
  2. Run sudo update-grub.
  3. Reboot.

Questions/Next Steps:

  • Has anyone else with AMD laptops (especially Acer) experienced this?
  • If so, please share your hardware details and kernel version.
  • I think this should be reported upstream to AMDGPU devs on GitLab. If multiple users are affected, we could collect data here and file a joint report.

Thanks for any input! Let’s get this fixed properly.

1 Like

Some more information on that topic here: [Solved?] AMD CPU/GPU backlight brightness issues since updates / Laptop Issues / Arch Linux Forums

1 Like

Thanks for the quick reply. I read the entire thread you linked to, but it deals with brightness that is much too low during the boot process and difficulties recognizing the Grub menu or the LUKS prompt.

My issue is that the brightness control does not function at 0% screen brightness when the desktop is fully loaded. 1% is sufficiently dark, but 0% is significantly brighter. Every other brightness values are working properly, but 0% is too bright. I did not see any wrong behaviour on boot process.

It may have the same cause, but the behavior of the bug is different.

Then there’s your fix. Run it at 1% instead. :slight_smile:

I’m the guy who asked the question on Arch Forums. It’s an AMD issue not an Arch or Manjaro one. They’ve been mucking about in their kernal patches without considering the impact on laptop users.

Around the same time–6.12 to 6.13–one of their patches raised the CPU idle speed from barest minimum to something else. I mention this since I see your CPU idle speeds are higher than barest minimum, which may also increase power use and reduce battery runtimes.

See this thread for that fix:

There’s another thread opened here today about how to get AMD to backport these and other fixes:

EDIT: And it seems that, potentially, there;s more fun to come:

1 Like

There is a possibility this is a feature rather than a bug … i.e. to prevent OLED displays being completely unreadable at minimum brightness — which is an issue with tablets (and also was with my now-defunct PinePhone Pro (battery went EOL), which kept reverting to minimum).

Just a thought. :thinking:

Thanks for your reply.

Using 1% isn’t really suitable, as my brightness keys work in 5% increments. I have to open the taskbar widget “brightness and color” and set the slider to 1%, which is really fiddly with my trackpad.

Never thought about my idle CPU speeds. Please stop mentioning such rabbit holes :see_no_evil:

Hmpf, what is AMD doing? And why? :scream:

With Plasma you should be able to hold the SHIFT key while adjusting brightness, for 1% steps.
I’m typing this on my Xfce machine so can’t check this directly just yet.

3 Likes

So easy?
Thank you!
That’s not the ultimate solution but a good workaround and it works.

1 Like

You’re welcome! :wink:

I only mentioned it because if you were so concerned about getting your backlight down to zero, you must be either:

A) Wound too tight, or
B) Concerned about power consumption.

Truth be told, I’m a little of each. :crazy_face:

Either way, I thought you’d appreciate the link.

Frankly, I didn’t notice the idle speed increase at first on my laptop. It was the fans cycling on my desktop that alerted me to the matter.

As for AMD, speculating here, I think it’s because so much of their business these days is in servers and gamers–both of whom (in the case of the idle speed thing) might appreciate a faster ramp-up time from idle, and perhaps less cycling between idle and mid-speeds. The people writing a patch for that wouldn’t necessarily be thinking about the impact on laptops.

The brightness thing is baffling, though.

The pleasure is all mine.

I regularly use the laptop in very dark environments and find the display too bright even at the darkest setting since I bought it. I think this is due to the hardware limitations of the cheap screen. My fault.

So the new behavior annoys me. Energy consumption isn’t that important to me, but the bright light from the screen bothers my eyes. On the other hand, the display should be as bright as possible for everyday outdoor use in sunlight, so I don’t want to modify it with a screen filter.

I don’t understand AMD’s changes regarding the minimum clock frequency. Mobile chips like APUs should be as energy-efficient as possible, especially when I use the power-saving profile in the operating system. There are Threadripper CPUs for servers and X3D CPUs for gaming, and I use performance mode on my gaming desktop (5800X3D+7900XTX) when I want to play demanding games. But my AMD APU in my laptop should save as much energy as possible in the power saving profile, and no one should have to worry about ramp-up times from idle in this mode.

We’re getting off topic. I hope an official solution can be found for the problem I described earlier with the brightness being higher at 0% than at 5%. Thank you very much for your interest and your ideas. Have a good time. And let’s hope that AMD doesn’t do too many crazy experiments with its drivers anymore.

1 Like