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

lol it sounds like you just wanted to go point by point and make clear you already knew everything I said. I figured some details about Framework’s “statement” and the pp table would be useful.

Or, yeah, go ahead and recompile your kernel every update just for the sake of a lower power cap.

I just wanted to chip in since I have the same problem with the same charger and cable(s). Problem occurs with demanding games in both windows and linux.

The problem is an extremely bad stuttering / hanging about once per second that makes games completely unplayable, despite a decent average framerate.

I also have a 140w ugreen USB-C charger, and have tried the cable that comes with it (240w) and a 240w Cable Matters cable and have the same problem with both.

For now my only solution seems to be using the igpu until I can get a 180w framework charger, or better yet 240w chargers finally become available.

Very disappointing that I get better performance with a lower wattage charger (60 and 100) than I do with the 140w charger. It seems to be at a problematic level of power draw where the laptop is constantly cycling between a higher power mode and a lower power mode (based on system reported battery charging rates) and the constant transitioning ruins performance.

If anyone comes up with a solution besides using the OEM charger (which is backordered for over a month) I will be grateful.

Bumping this. I was totally unaware of the problem until I tried playing AOE4 using the dGPU and my “travel” brick, which is an UGREEN Nexode X 160W (it does 140W single port).
dGPU stutters as hell on port 1 (140W), using port 2 (100w) it stabilizes but at lower performance. I might try other chargers/cables from Amazon, maybe a weird voltage negotiation issue between FW16 and that specific model?

UPDATE: I made some tests using a wall power meter.

  • Testing suite: Age of Empires 4, Furmark and 3D Mark Steel Nomad, equiparable results. Metrics by HWInfo and AMD Adrenaline.
  • Charger: UGREEN Nexode 160W (140W on C1 port, 100W on C2 port)
  • Framework 16 with dGPU (duh).
  • Power settings: Windows “balanced” or “maximum performance” does not seem to alter the behaviour observed in 140w charging. Same with the Control Panel options, PCI-E power saver etc. No combination of Windows’ setting alters this issue.
  • Cables: Also, the same behaviour can be observed with 4 different cables, all newish and rated for 240W: stock Framework USB-C cable, UGREEN cable, a CableMatters and a Magtame one.
  • Software: System running Windows 11 Pro 23H2 (22631.4037) , debloated with Atlas. Other users reported the same issue with stock Windows.
    Also, this problem happens with both the AMD driver from Framework Bundle (23.40.18.02) and the latest one installed manually later (24.7.1).

Scenario 1: laptop plugged in the 100W port of the charger (C2).
The charger pulls around 100W of power, as expected.
The GPU (from AMD tracking) pulls 50W, very stable. Micro stutters at 0%. FPS are stable. Everything is fine. Putting the laptop in “high performance” from Windows makes it pull extra power from the battery to feed the 7700S, in this case the laptop shuts down after 1h30 of gaming. Otherwise the battery stays at 50W and the laptop keeps charge.

Scenario 2: laptop plugged in the 140W port of the charger (the main one, C1).
The charger (at the wall) oscillates between 100-110-120-130W in a (seemingly) random pattern.
The laptop runs horribly. The micro stutter rate spikes to 80%, the dGPU pulls 80W, a second later 30W, then 50W, then 20W, then 80W again, following the trend we see on the wattemeter at the plug. This happens in both “Balanced” and “High performance”.

Scenario 3: same configuration as Scenario 2, but sometimes, while under load, the laptop chooses to give only 25W to the dGPU. The battery is now stable (no charging or discharging) in every windows power configuration. Unplugging and re-plugging the cable COULD shift this scenario to Scenario 2 again.

Scenario 4: laptop plugged with the stock 180W charger. The dGPU goes to 80W and 100W in “Balanced” and “High performance” modes respectively. Runs stable and without problems.

It looks like the laptop has some problems with the 140W negotiation, and keeps falling back to a lower one but then pulling full power again, in a neverending cycle of stuttering.

This is what I sent to support, we’ll see if and how they answer. I really hope a BIOS update could fix this, it would be nice to use the full 140W, on paper everything should work.
I’m waiting for a Baseus 140W charger to arrive to do further testing.
EDIT: sorry for bad english, not my first language.

1 Like

FINAL UPDATE
Support confirmed that nothing is wrong with my FW16.
I therefore ordered a Baseus 140W charger, and when it arrived… Oh boy.
The performance was super consistent. GPU power draw around ~70W in balanced, 80W in high performance. This charger just… Works. No weird negotiation issues, nor swinging power draw. It just works as you’d expect it to. Not the full power you get with the 180W stock charger, but close enough.
I’ll probably cross-post this in the FW16 main thread, so people don’t waste 110$ on a charger that can’t do it’s job well enough.

TL;DR: DO NOT BUY UGREEN NEXODE X 160W. IT WILL NOT WORK WELL with the dGPU

Is this just expected behavior, a bug from UGREEN, or something else?

If it’s the charger’s fault I’d like to bring this up with their customer support and maybe write a review so others know it may be incompatible with some devices like ours.

Definetly not expected. The Baseus 140w works wonders.
I’m not knowledgeable enough in USB PD to tell, but it looks like they fucked up the negotiation process. If not the voltage negotiation, my money would be on overcurrent protection. The sudden power draw by the dGPU is seen by the charger as a higher than normal current spike, so it falls back down to a lower output. Again, this is pure speculation.

So I think I might have another piece to the puzzle.

In BIOS there is a setting which switches PCIE to 3.0 (from 4.0) when on battery for power saving. If I disable this setting, I don’t get any more hitching with my UGreen 140w charger.

My theory is that the laptop firmware is switching into battery mode (PCIE 3.0) since the charger can’t keep up. Once it switches it has a lower power draw due to the switch to PCIE3.0, and also due to the transition dropping framerates. With the lower power draw it is no longer discharging the battery and switches back to PCIE4.0 and the cycle repeats.

It may be that the UGREEN adapter is just right on the limit of what is needed to run the laptop all-out which is why this transition happens repeatedly and causes unplayable FPS. That would also explain why it varies with different types of games and even windows power settings.

If someone else could try disabling this setting and confirm their issues went away it would help me confirm my suspicions.

Can confirm, got that one to verify and it works completely stutterfree as long as the machine is in powersave mode, and atleast mostly okay on balanced.

I’d still assume that Framework needs to do something to fix their PD firmware (since other devices work), but atleast it works with the Baseus.

Nice find! Quickly tested with my Baseus and my Ugreen Nexode.
Having it OFF makes the Ugreen more stable, pulling >130W while under load (AoE IV).
It’s not perfect tho, the stutter is still there… FPS jump all over under heavy load. GPU around 60-70W but still swinging.
Swapping the Ugreen for the Baseus gives the expected result, 0.0% stutter rate, rock solid fps and watts pulled. Didn’t have time to try the impact on battery life, but should be easy to test.
TL;DR: having it off gives more stability, but does not solve the issue completely with “incompatible(?)” 140W chargers.

I recently came into possession of an AOHi 140W charger and decided to fire up Starfield and jump in circles in town.

If I jump in circles in town on battery, I get around 40 FPS, smooth enough.
If I use a 100W cable, I get around 45 FPS, smooth enough, drawing around 80W.
If I use a 240W cable on the 100W USB-C port, same result as the 100W cable.
If I use a 240W cable on the 140W USB-C port, FPS drops to some disgusting mid-20s while power draw hangs around 120W,
-OR-
power draw fluctuates, with FPS around 30, still worse performance than on battery (probably when the battery’s fully charged)

Am I seeing the same behavior as the rest of you in this thread, or is this a different thing?

(edit) In powersave mode, the 140W charger stabilizes around 90-100W drawn and around mid-40s FPS. Balanced or Performance modes have the lower performance with the more wildly fluctuating current. I can still get some of the same kind of bad behavior in powersave mode, just a lot less, and it’s not constant.

I didn’t notice a difference changing the PCIe 3.0 BIOS setting.

Overwhelmed by curiosity, I bought a Baseus 140W charger. I think I’m seeing two things here, with PPD in performance mode:

As described in the thread by others, in gaming workloads, for some reason, most 140W chargers (but not the Baseus charger) don’t provide a steady high wattage when the battery’s charged. My AOHi charger can provide a roughly 125W stably when the battery is charging, going by a USB meter, but once my battery hits 80% (“full” from the BIOS setting), wattage starts fluctuating, with low frame rates. So, because of some kind of USB PD negotiation failure, or something (maybe the charger’s too slow to modify its power delivery on the fly), frame rates are lower than they should be, here.

The Baseus charger provides a steady 125W or so during gaming even when the battery is charged, but then, gaming performance is very uneven. The average framerate that Steam reports looks about right, but gameplay feels terrible, like the laptop won’t draw from battery as needed so framerates are constantly dipping. So even without the wattage fluctuations, the framerate dips and is uneven, as the laptop fails to pull power from the battery (as far as I can tell), even in performance mode.

With either charger, the framerate feels fine if I unplug the charger and run off the battery alone, or if I downgrade to a 100W port.

# dmidecode -t bios 
# dmidecode 3.6
Getting SMBIOS data from sysfs.
SMBIOS 3.6.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: INSYDE Corp.
        Version: 03.03
        Release Date: 03/27/2024

So, in summary: yeah, bump, +1, what everyone else already said.