Laptop Power Bottleneck

I’m curious if anyone knows a way to activate the full power usage of a gpu in linux.
I own a Acer Helios 500 with Ryzen 2700 and Vega 56

Vega 56 can pull 120 watt out of the box, but in Linux running of battery and sometimes even on AC the system will fail to pull the full 120 watt when running something like a game, also do note that the enter system runs slow in this mode.
I can tell it’s in a lower power state just by how slowly the terminal will load.
For the last 6 months I literately just pulled out the battery and only use the laptop plugged in.
Even running on AC I sometimes have to restart to get the system to run at full speed.
I understand power management can be a good thing, but at the same time I want a system that can use the full power of the cpu and gpu when I ask it to like running a game.
Anyone know a way to trigger a system to use the full power of the cpu and gpu when it’s being prevented.
I’d love to be able to use the battery again, but I need the system to pull the power I need when I ask it too. Otherwise I’m best off sticking with no battery.
Again even the desktop is slow when this happens it really just makes the system unusable.
If anyone has the knowledge base I’d love to listen.

There’s a bunch of variables. The mobile version of any GPU isn’t a direct comparison to the desktop version. Where did you find the wattage specified? How many watts is your AC adapter? My Dell XPS 15 has a few options for AC adapters, the small 65 watt travel adapter, a standard 90 watt and the very large maximum performance 150 watt adapter, and it knows which one is connected. I don’t think I can fully use the on board GTX 1050 without the 150 watt connected.

Don’t know if it’s implemented in Linux… there’s various methods Windows and drivers use to manage power usage on a portable platform. I know I can set the power profile my XPS 15 from Balanced to Max Performance and it gets very hot when gaming.

That’s the big issue, heat. A desktop GPU will thermal throttle, but it has a lot of mass, and air volume. A mobile GPU has very little mass and much less air volume. So the thermal throttle might be kicking in well before reaching any sort of maximum draw.

Found this on Google, it might help:

https://www.tecmint.com/tlp-increase-and-optimize-linux-battery-life/

This issue is only when running off battery and sometimes it does work with the battery. It’s just not consistent.
The Acer Helios 500 arguably has the best laptop cooler around cpu and gpu never go over 70 c.

Linux has TLP that I’ve been trying to mess with, but even if I manually set to AC they’re is no guarantee it will work.

Don’t believe there ever was a mobile Vega 56 part - this is a laptop that acer have stuck desktop parts (the 2700 is a desktop part as well) into and power throttled them to fit…

It’s one of these, yeah?

Desktop CPU, Desktop GPU, but power throttled.

I believe you can mess with power settings for Vega in Linux through the powerplay tables. I can’t remember how to off the top of my head - google for Linux powerplay for more details.

The only thing I can think of that would justify this erratic behaviour is overheating in the power stages. They can run pretty hot but if you’re pushing a system like that full tilt I think the internal temperature of them can rise pretty fast. Do you know if they’re cooled or not? If not I’d open it up and see if I can stick those tiny heatsinks that you’d use on an SBC. Or even add just some copper shims to give them some more thermal mass.

Ya, your right this is a laptop with a desktop 2700 and a desktop vega 56. It’s so backwards in the laptop market that this Vega 56 is similar performance to rtx 2080’s in laptops.

This vega 56 is capped down to 120 watt’s where my desktop vega is at 150 watt’s

I want to clarify both the cooling and throttling

I’ve ran The Witcher 3 at unlimited frame-rates and the temperatures of the cpu and gpu never got to high. Never going over 70 C actually the 2700 runs hotter then the vega 56, but both hover around 60-70 C when pushing 80-90 fps in The Witcher 3, but I’ll typically runs games at 60 fps.

Second thing is if I open up the laptop and unplug the battery pack that came with the laptop.
Meaning I now cannot turn on the laptop unless plugged into an outlet. The throttling will no longer happen. That has already been a solution for me.

I’m just trying to find a way to get the laptop to run as I want when they’re is a battery so that I can sometimes use it without being plugged into AC.

But thus far AC mode is broken unless I remove the battery to fix the problem.

I’ve install tlp 1.2.2

I’ve messed with a number of settings basically checking everything to performance.

State = enabled
RDW state = enabled
Last run = 04:48:02 PM, 632 sec(s) ago
Mode = AC
Power source = battery

I believe that

Power source =battery might be the issue
I already figured out how to set mode to AC which was an issue earlier.

Basically the system doesn’t know how to switch to the proper power when needed.
Plugging in an external monitor can also cause it to switch to the wrong power profile.
This power issue is unrelated to the gpu. It’s related to how the system is interacting with the AC adapter and the battery inside the laptop.
Roughly speaking a BIOS or kernel bug.

Any one have any luck to tlp to enabled more performance

1 Like

Sounds like a fair assessment.

Sounds like the battery simply can’t supply enough watts and you’re power throttled unless you physically remove it.

Maybe report it to the kernel team? It’s likely a one-liner logic error somewhere…

Unless the battery is HUGE it’s not likely rated for 200+ watts continuous discharge

I know that if the ac adapter is connected and the battery is in the laptop, it can pull 200+ watt’s. I know this because sometimes it works, it’s just to replicate I have turn the laptop off 1-100 times and cross my fingers which make it not usable so something between the bios/kernel/os/tlp is off.

When the laptop is properly working this is what would happen in say The Witcher 3. Plugged into AC the game will run at 60 FPS stable, then when I unplugged the ac adapter the game drops to 30-40 fps. In this state I can continually disconnect reconnect. This is TLP switching Power Source from AC to battery and back and forth. That’s how it’s supposed to work.

However most the time PC boots and you get 12-15 fps even plugged into the AC adapter, unless you remove the battery. Even the desktop is slow in this situation. I was right in my guess about the Power Source in TLP.

State = enabled
RDW state = enabled
Last run = 07:22:31 PM, 525 sec(s) ago
Mode = AC
Power source = AC

This is what I got when removing the battery.
I could connect the battery again at check this status when in the rare chance it boots into the right power mode with the ac adapter.

Basically I’m wondering if they’re is a way to change Power Source =
in the

sudo nano /etc/default/tlp , but nothing I’ve messed with seems to consistently trigger the effect needed.

This is what I currently have

# Set to 0 to disable, 1 to enable TLP.
# Default: 0
TLP_ENABLE=1

# Operation mode when no power supply can be detected: AC, BAT.
# Concerns some desktop and embedded hardware only.
# Default:
TLP_DEFAULT_MODE=AC

# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
# Hint: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
# Default: 0
TLP_PERSISTENT_DEFAULT=1

AC adapter specs are such “330W 19.5V 16.9A”

So I put the battery back in and got it in the right power source

Power source = AC

Note that the battery was at 100% charge. Maybe battery needs to be at 100% to be consistent. I’ll try testing.

Yeah, but it works in windows(?). OP seems to imply it only happens in linux?

There’s likely some logic that’s messed up somewhere (on the linux power management side) with the decision to limit power draw based on being “on battery” as opposed to being “on battery without additional AC”, that the Windows driver/whatever gets right.

Apparently

I discovered partly what’s happening

Laptop with Battery installed

If I boot at 100% battery mode, everything works perfectly. I can even disconnect the ac adapter and reconnect ac adapter without issue.

If I boot with the ac adapter with anything other then 100%, it will boot into battery mode with slower performance then with the steps above, slower and basically unusable. Also the laptop will never charge.

If I boot without 100% and ac adapter, the desktop will be quick and snappy in battery mode, but if I reconnect the ac adapter it will still never charge.

Instead I would need to turn the PC off and wait for AC adapter to fully charge the battery.

Basically as it is I need to always turn the PC on with 100% charge plugged into AC. From this point the laptop is always usable until I do a shutdown where I must again wait tell the battery is at 100% charge before next boot.

Lastly I need to see how this work with external monitors. I’ve also noticed that external monitor refresh rates mess with the power mode.

Typically displays have some default refresh rate that a computer on boot will load for a split second. I’ve ran into issues when this default is something like 50hz or 30hz. Mess up the power mode and put the laptop into a slow unusable power state.

Actually Windows had an issue in the past with the battery as well, but I don’t plan on ever using it anyway so I don’t care.

At the end of the day if they’re is anyway of fixing the issue with TLP it has to do with

Power source = battery

I need to know a command for tlp that changes Power Source or a setting to change in

/etc/default/tlp

If anyone ever discovers a fix let me know.

1 Like