Page MenuHomeSolus

Battery drain in Solus is much worse than it should have been
Open, NormalPublic

Description

I have a fairly new laptop and I transferred an ssd that has a Solus installation to this laptop and updated to the latest. The system works fine, but I have noticed that the battery drain seems to be very high, and indeed much higher than if I run other distros on the same laptop.

This is a screenshot for the battery drain in Solus

Screenshot from 2021-07-09 16-25-45.png (1×1 px, 497 KB)

As one can see, the battery drain is around 25W. As a comparison, I installed ubuntu 21.04 and Fedora 34 on the same laptop and checked the battery drain as well.

Ubuntu

Screenshot from 2021-07-09 16-19-43.png (1×1 px, 179 KB)

Fedora

Screenshot from 2021-07-09 16-05-02.png (1×912 px, 148 KB)

Ubuntu has kernel 5.11 and consumes about 8W while Fedora has kernel 5.12 and consumes about 12 W.

I started using this laptop a month ago and at that time Solus was on 5.11. I noticed that the battery drain was much higher than on other distros with kernel 5.11 (above 30W on Solus back then). At one of the 5.12 kernels on Solus, I think the battery drain was down to below 10W. However, I don't remember at this point which release that was. Later we updated to a newer patch of 5.12 series and the battery drain increased to about 25 W. Now we are on 5.13 series, and the situation does not seem to get better.

The following is the output of lspci -v:

❯ lspci -v
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Root Complex
	Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir Root Complex
	Flags: fast devsel

00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Renoir IOMMU
	Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir IOMMU
	Flags: bus master, fast devsel, latency 0, IRQ -2147483648
	Capabilities: <access denied>

00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
	Flags: fast devsel

00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 32
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 0000e000-0000efff [size=4K]
	Memory behind bridge: fb000000-fc0fffff [size=17M]
	Prefetchable memory behind bridge: 000000fc00000000-000000fe01ffffff [size=8224M]
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 33
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: [disabled]
	Memory behind bridge: fca00000-fcafffff [size=1M]
	Prefetchable memory behind bridge: [disabled]
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
	Flags: fast devsel

00:02.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 34
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: 0000d000-0000dfff [size=4K]
	Memory behind bridge: fc900000-fc9fffff [size=1M]
	Prefetchable memory behind bridge: [disabled]
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 35
	Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
	I/O behind bridge: 00001000-00001fff [size=4K]
	Memory behind bridge: fc800000-fc8fffff [size=1M]
	Prefetchable memory behind bridge: 0000000410000000-00000004101fffff [size=2M]
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:02.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 36
	Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
	I/O behind bridge: [disabled]
	Memory behind bridge: fc700000-fc7fffff [size=1M]
	Prefetchable memory behind bridge: [disabled]
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:02.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 37
	Bus: primary=00, secondary=06, subordinate=06, sec-latency=0
	I/O behind bridge: [disabled]
	Memory behind bridge: fc600000-fc6fffff [size=1M]
	Prefetchable memory behind bridge: [disabled]
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge
	Flags: fast devsel

00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus (prog-if 00 [Normal decode])
	Flags: bus master, fast devsel, latency 0, IRQ 38
	Bus: primary=00, secondary=07, subordinate=07, sec-latency=0
	I/O behind bridge: 0000c000-0000cfff [size=4K]
	Memory behind bridge: fc200000-fc5fffff [size=4M]
	Prefetchable memory behind bridge: 000000fe10000000-000000fe201fffff [size=258M]
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 51)
	Subsystem: ASUSTeK Computer Inc. FCH SMBus Controller
	Flags: 66MHz, medium devsel
	Kernel driver in use: piix4_smbus

00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
	Subsystem: ASUSTeK Computer Inc. FCH LPC Bridge
	Flags: bus master, 66MHz, medium devsel, latency 0

00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 166a
	Flags: fast devsel

00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 166b
	Flags: fast devsel

00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 166c
	Flags: fast devsel

00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 166d
	Flags: fast devsel

00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 166e
	Flags: fast devsel

00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 166f
	Flags: fast devsel

00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1670
	Flags: fast devsel

00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1671
	Flags: fast devsel

02:00.0 SD Host controller: Genesys Logic, Inc Device 9755 (prog-if 01)
	Subsystem: ASUSTeK Computer Inc. Device 202f
	Flags: bus master, fast devsel, latency 0, IRQ 75
	Memory at fca00000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>
	Kernel driver in use: sdhci-pci

03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
	Subsystem: ASUSTeK Computer Inc. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
	Flags: bus master, fast devsel, latency 0, IRQ 95
	I/O ports at d000 [size=256]
	Memory at fc904000 (64-bit, non-prefetchable) [size=4K]
	Memory at fc900000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: r8169

04:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
	Subsystem: Intel Corporation Wi-Fi 6 AX200
	Physical Slot: 0-1
	Flags: bus master, fast devsel, latency 0, IRQ 97
	Memory at fc800000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: iwlwifi

05:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 (prog-if 02 [NVM Express])
	Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
	Flags: bus master, fast devsel, latency 0, IRQ 39, NUMA node 0
	Memory at fc700000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: nvme

06:00.0 Non-Volatile memory controller: SK hynix Device 174a (prog-if 02 [NVM Express])
	Subsystem: SK hynix Device 174a
	Flags: bus master, fast devsel, latency 0, IRQ 41, NUMA node 0
	Memory at fc600000 (64-bit, non-prefetchable) [size=16K]
	Memory at fc605000 (32-bit, non-prefetchable) [size=4K]
	Memory at fc604000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>
	Kernel driver in use: nvme

07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 1638 (rev c4) (prog-if 00 [VGA controller])
	Subsystem: ASUSTeK Computer Inc. Device 118c
	Flags: bus master, fast devsel, latency 0, IRQ 85
	Memory at fe10000000 (64-bit, prefetchable) [size=256M]
	Memory at fe20000000 (64-bit, prefetchable) [size=2M]
	I/O ports at c000 [size=256]
	Memory at fc500000 (32-bit, non-prefetchable) [size=512K]
	Capabilities: <access denied>
	Kernel driver in use: amdgpu

07:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 1637
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Device 1637
	Flags: bus master, fast devsel, latency 0, IRQ 115
	Memory at fc5c8000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel

07:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor
	Subsystem: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor
	Flags: fast devsel, IRQ 255
	Memory at fc400000 (32-bit, non-prefetchable) [disabled] [size=1M]
	Memory at fc5cc000 (32-bit, non-prefetchable) [disabled] [size=8K]
	Capabilities: <access denied>

07:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1 (prog-if 30 [XHCI])
	Subsystem: ASUSTeK Computer Inc. Renoir USB 3.1
	Flags: bus master, fast devsel, latency 0, IRQ 76
	Memory at fc300000 (64-bit, non-prefetchable) [size=1M]
	Capabilities: <access denied>
	Kernel driver in use: xhci_hcd

07:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1 (prog-if 30 [XHCI])
	Subsystem: ASUSTeK Computer Inc. Renoir USB 3.1
	Flags: bus master, fast devsel, latency 0, IRQ 85
	Memory at fc200000 (64-bit, non-prefetchable) [size=1M]
	Capabilities: <access denied>
	Kernel driver in use: xhci_hcd

07:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor (rev 01)
	Subsystem: ASUSTeK Computer Inc. Raven/Raven2/FireFlight/Renoir Audio Processor
	Flags: fast devsel, IRQ 114
	Memory at fc580000 (32-bit, non-prefetchable) [size=256K]
	Capabilities: <access denied>

07:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller
	Subsystem: ASUSTeK Computer Inc. Family 17h (Models 10h-1fh) HD Audio Controller
	Flags: bus master, fast devsel, latency 0, IRQ 116
	Memory at fc5c0000 (32-bit, non-prefetchable) [size=32K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel

This issue makes my battery life abysmal and I am not sure how to debug it. Any help is appreciated. Let me know if you need any more information from my side.

Event Timeline

xulongwu4 renamed this task from Battery drain in Solus is much worse than other distros to Battery drain in Solus is much worse than it should have been.Jul 9 2021, 8:39 PM
xulongwu4 updated the task description. (Show Details)

Could you reupload the solus screenshot/post a paste with the power estimation for each service enabled? IIRC it may need to be ran as sudo and be left for a while first.

Also, this may seem kind of dumb but could you restart the NetworkManager service after boot and see if you notice any improvement?

Have you dabbled with using tlp at all? Although, this wattage usage does seem quite high and we should try and fix whatever needs fixing on our end.

Could you reupload the solus screenshot/post a paste with the power estimation for each service enabled? IIRC it may need to be ran as sudo and be left for a while first.

@joebonrichie, can you give me some instructions on how to get that statistics? I usually run powertop without parameters. When we were on 5.12.x, the power draw of each device is shown on the left column of the Device stats tab, but not any more after we upgraded to 5.13.x kernel. I do remember that the Radio device: iwlwifi item consumed around 10W when we were on 5.12.x.

could you restart the NetworkManager service after boot and see if you notice any improvement?

I tried your suggestion but it doesn't seem to make a difference.

Have you dabbled with using tlp at all?

No. The power draws on the three distros were all taken with their default settings. TLP was not installed.

@joebonrichie I was able to get the device-wise power estimation and it is attached here.

Screenshot from 2021-07-24 02-57-39.png (1×2 px, 845 KB)

As you can see, the screen brightness was set to the lowest value while the battery drain for that single item is 17W. It is also weird that the device-wise power drains add up to about 23 W while the total power drain is shown to be above 30 W.

EDIT: This is on kernel 5.13.2.

Unknown Object (User) added a subscriber: Unknown Object (User).Jul 25 2021, 11:25 AM

I can tell that my battery life time has been gone down from about 8-10 hours to 1-2 hours in the last months. So I'm experiencing this as well.

On my notebook the audio codec/device is at 100% load. Even if nothing is playing. And besides firefox the tick_sched_timer is very high (~450 context switches per second). I don't have any reference.

Maybe this helps.

@xulongwu4 since hardware you use is quite recent, did the situation improve with 5.14 kernel? Also is it possible Fedora/Ubuntu installer sets up TLP without user knowing?

My 35W mobile Haswell draws 11W when idle and it's been like that for quite a few 5.x kernel releases. The difference is my hardware is dated and I enable powertop (run once systemctl enable powertop).

In T9800#191735, @nazar wrote:

@xulongwu4 since hardware you use is quite recent, did the situation improve with 5.14 kernel? Also is it possible Fedora/Ubuntu installer sets up TLP without user knowing?

My 35W mobile Haswell draws 11W when idle and it's been like that for quite a few 5.x kernel releases. The difference is my hardware is dated and I enable powertop (run once systemctl enable powertop).

No I have not seen any improvements recently.

TBH, the battery drain was much better at one of the 5.12.x kernels. However, I don't remember exactly which kernel that was.

ermo triaged this task as Normal priority.May 4 2023, 5:25 PM