getsolus / packages

Solus Package Monorepo & Issue Tracker
65 stars 81 forks source link

Battery drain in Solus is much worse than it should have been (T9800) #246

Open celticmagic opened 1 year ago

celticmagic commented 1 year ago
Longwu Ou (#xulongwu4), 2021-07-09 20:38:49 UTC

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 {F7756192} 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 {F7756200} Fedora {F7756207} 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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.
celticmagic commented 1 year ago
Joey Riches (#joebonrichie), 2021-07-09 21:04:46 UTC

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.
celticmagic commented 1 year ago
Longwu Ou (#xulongwu4), 2021-07-10 01:00:14 UTC

> 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.
celticmagic commented 1 year ago
Longwu Ou (#xulongwu4), 2021-07-24 11:18:28 UTC

#joebonrichie I was able to get the device-wise power estimation and it is attached here.{F7810173} 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.
celticmagic commented 1 year ago
Longwu Ou (#xulongwu4), 2021-07-24 11:19:00 UTC

On kernel 5.13.4: {F7810204}
celticmagic commented 1 year ago
Maik Wöhl (#maikwoehl), 2021-09-08 21:57:16 UTC

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.
celticmagic commented 1 year ago
nazar (#nazar), 2022-01-14 20:09:30 UTC

#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).
celticmagic commented 1 year ago
Longwu Ou (#xulongwu4), 2022-01-14 20:47:14 UTC

>>! 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.
celticmagic commented 1 year ago
Joey Riches (#joebonrichie), 2022-05-12 12:44:07 UTC