Laptop battery discharging very rapidly (LOW BATTERY LIFE) on new laptop in idle mode

Hello, my laptop fluctuates from 8-12W whenever I leave the laptop on without any applications on or If i browse using firefox, it shoots up to 15W. I used the application “powertop” to confirm that I was discharging those rates explaining my battery life taking a toll. This is a new laptop that I got from University and it has an AMD cpu + gpu. Also in windows my battery life is significantly better so I think this is something to do with linux using more power.

OS: Fedora 38 Workstation
Laptop : Thinkpad P14s Gen 3

powertop SCREENSHOT:
image

powertop SCREENSHOT (Streaming/Watching a video):
image

having 7 tabs on firefox yielded:

image

I’m guessing the firefox problem is because there is something wrong with the video decode acceleration in firefox?

See : Firefox Hardware acceleration - Fedora Project Wiki

But for idle, you have done powertop --autotune and cpupower frequency-set -g powersave?

But it looks like (but is hard to see from the screen shots) that firefox is still running in your idle case. If you killall firefox does it actually go idle? For idle you want to kill off all the unneeded background tasks that are waking up and then try to drive the idle power down with BIOS and linux settings. I would say that any of the recent amd/thinkpads should be sub 5W when actually idle unless there is something wrong.

It is well known that when running an app that requires hardware acceleration on the GPU but the driver does not support hardware acceleration then the CPU is tasked with the graphics rendering and becomes both power hungry and slows down other actions.

Please post the output of inxi -Fzxx so we may see the hardware involved and drivers in use.

I’m using this one, mb it will help you too:

> systemctl cat cpupower

/etc/systemd/system/cpupower.service

[Unit]
Description=Configure CPU power related settings
After=syslog.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/sh -c ‘echo balance_performance | tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference’

[Install]
WantedBy=multi-user.target