Extremely weird dGPU power behaviour on 140W chargers (moved)

Hello to y’all - as a proud new FW16 Owner i got to play around with it over the previous days and thoroughly enjoyed this absolute beast of a Laptop so far on Fedora 40. However, i’ve ran into the most curious issues with it when i play games on it while using a temporary (until 240W USB-C chargers come out) 140W UGREEN Nexode Charger.

When i run games on the battery or a 60W anker charger everything works fine, both on the dgpu and igpu, with the expected performance reduction that i can live with - but of course that would also significantly cut into the time i could do so for, so i tried to run it on the 140W charger and it goes from mostly smooth vrr frametimes like that:

(Ignore the “Thermal Throttling” Line, its flatpak steam)

Sorry, only one picture, i can only post two images as a new user but imagine there being basically the same picture here for battery exclusive use saying “53 FPS” instead.

to this absolute mess:

And its not just when trying to charge the battery, this also happens when full (60% set limit, and it still randomly drains the battery even plugged in but that sadly seems expected behaviour from other threads).

Nothing helps this - not even limiting the game to vsync, or the same framerate as it can get on battery. It keeps jittering around until the 140W charger is removed and i use a 60W charger at max.

This affects countless games - Helldivers 2, Planetside 2, Overwatch 2, Gunfire Reborn and and and.

What i dont get is how the gpu spikes this hard into frametimes worse than a 60W charger being plugged in, all while the Nexode is only delivering 100 instead of 140W (measured at the wall with a smart plug).

My first try would’ve been to enable amdgpu power limits and Limiting the amdgpu to 80W or 60W
echo 80000000 > /sys/class/drm/card1/device/hwmon/hwmon8/power1_cap.

It’d probably still manage to run just fine while keeping the laptop working wonderfully for me until a 240W charger makes it out of prototype phases - but sadly the card is limited (power1_cap_min is exactly 100W) in firmware, and sadly the linux kernel now also respects those minimum limits. While it allows me to give 120W to the card i’m not allowed to go below at all, sadly.

Same charger works fine for cpu+igpu only, which is my current “solution” to this issue.

So what i request of Framework is:

  1. Why does the machine stutter this hard and worse on a 140W charger than 60W, when it runs just fine on 60W pulling the rest it needs from the battery? And what can be done to fix it? (Note: Charge Limit is 60%, have not tested 100%)


  1. can you please allow me to limit the dgpu wattage, for highly efficient gaming on the go? Amd gpus can sometimes run at “most” (80-90%) of the framerate at like half the power limit if let be, which makes it a whole lot easier when travelling with just 140W (or having to deal with a friends leftover 60W when playing locally - and just imagine the size of future 240W chargers)
1 Like

Further research:

If i limit SCLK and MCLK to the lowest i get stable 30 fps. Since there’s only 3 levels i can sadly not limit it just fine-grained enough for this, but this is still worse than on battery or 60W.

Setting pp_power_profile_mode manually to VR has the least jitter, but it still has jitter. Other Profiles behave a LOT worse.

Putting the entire machine into “Power Saver” mode via performance profile daemon manages to stabilize it mostly, but at “same as on battery” performance level, not at “with wall power” performance level.

I was getting this on a UGREEN 140W brick too. Check your cable; when I was using the included 240W cable it was stuttering like this too (only very infrequently would it stop stuttering after a long gaming session, and I couldn’t reproduce reliably), but when I switched to a Cable Matters 240W cable I stopped getting the issue.

Okay, trying with tons of cables and … yes that was it. The included cable from ugreen had this behaviour as well as an anker usb-c cable rated for 240W - only a random ULT-WIIQ cable i had lying around fixes this behaviour for me (which is considerably thicker than the other ones).

Now it’d be interesting to know if this is on framework - or if the cables just have issues in some way despite being well below their rating here.

Framework, please test this internally if this is fixable or something weird going on, this is probably a really common charger as a “for now” until 240W ones come out.

Checking again - these might not have the EPR chip?

If the Anker cable is rated for 240w then it should definitely have the chip in the cable.

AIUI any cable capable of delivering more than 60W requires a chip. If the cable doesn’t have a chip then the charger and device limit power transfer to 60W.

It, specifically, is this cable from anker that is misbehaving with this charger. (The “240W cable” that comes with that charger also does not work.)

What power are you expecting the charger to deliver? The way I read the specs on that page suggests it may only deliver 65W per USB-C port, and another 10W from the USB-A port.

What power are you actually getting when using the cable that works with this charger?

Read the specs again, one of its ports, if no other devices are connected, can deliver 140W - and that is, with one of the cables i own, actually coming through, unlike both the anker and included cable (which both cause massive stutters when using the dgpu).

Moving this to general as this is hardware/brick related.

Moving a power brick thread here.

Update: Got a Cable Matters Cable and it behaves like the Anker one - but only on very high power draws, lower end games are fine one it. The weird Ult-Wiiq continues to behave properly.

I apologize that you made a purchase based on my bad info. I probably wrote down the wrong thing in the rush to join my friends in spreading managed democracy!

I just re-checked with four cables I have and both 240W cables from UGREEN and Cable Matters exhibit the stuttering issue. I noticed that both cause the system to constantly switch between charging and discharging.

Only when I switch to lower wattage cables does it stop, however with reduced performance and battery discharge. Oddly, while both of these are supposed to be 60W cables, one discharges at ~30W (another Cable Matters one) and the other just ~6W (Anker), both around the same FPS.

Written on the brick has voltages supported all the way up to 28V. I’m assuming it’s somehow getting stuck at a lower voltage, or switching between them for no reason? I can’t seem to figure out what it’s actually charging at, although I read somewhere that I need to actually have an inline meter to accurately tell. I think I’ll be picking up one and doing some better testing.

Here’s the links from my order history to sanity check:
https://www.amazon.com/gp/product/B0CCVPB4PC (UGREEN 140W+20W brick)
https://www.amazon.com/gp/product/B0BT8HPLS4 (Cable Matters 240W cable, stuttering)
https://www.amazon.com/gp/product/B09PB8DJ28 (UGREEN 240W OE cable, stuttering)
https://www.amazon.com/gp/product/B09G5S9T6V (Anker 60W cable, no stuttering, ~6W discharge)
https://www.amazon.com/gp/product/B0BT8HPLS4 (Cable Matters 60W cable, no stuttering, ~30W discharge)

At this point I’d just pick up the official PSU for gaming, and keep around the multi-port brick for travel. I’ll probably end up picking up a true 240W (or at least something higher wattage that 180W that’s multi-port).

I think your actual problem is the power supply. Note how the cables that work are 60W cables, which AIUI are the highest wattage allowed without chips in the cable. So the FW doesn’t request more than 60W, and the PS doesn’t expect to supply more than 60W.

But once you use a 240W cable then the FW will request maximum available, the PS will try and supply up to its maximum, but it sounds to me like you have found a problem that plagued FL13 machines where the framework didn’t ramp up the current but tried to draw maximum current straight off causing the power supply to go into overcurrent mode.

So have you upgraded the BIOS in your FL16 to 3.03? I suspect if you are still on 3.02 that the problem that plagued 13" machines still exists.