Gaming performance on FW 16

I’m getting really poor gaming performance out of my Framework 16 with dGPU. Games usually start out well and then after a few minutes, framerate drops to 10-20 fps. I’m using LACT to monitor my GPU’s performance during gaming and it appears my average power draw is around 30-45W (max is 120W) and my GPU clock is around 1200-2000MHz (max is 2500MHz). GPU temp is hovering around 60°C so it doesn’t look like it’s a thermal issue.

It doesn’t look like the GPU is being throttled so I’m not sure why the performance is so bad. Any recommendations?

Which Linux distro are you using?

  • arch

Which release version?

  • Last updated today

Which kernel are you using?

  • zen and standard (same problem on both)

Which BIOS version are you using?

  • 3.05

Which Framework Laptop 16 model are you using? (AMD Ryzen™ 7040 Series)

  • 7080HS with RX 7700S

Why didn’t you post what your CPU clocks are at?

Here’s what I have right now.

1 Like

Also, this is what it looks like when performance starts to suffer. Something is changing in the power management I think. But it’s still not clear what triggers it. Performance was fine for about 10 minutes and then power draw dropped and it looks like VRAM started cycling through various power states.

Also, I’m seeing this in the system journal right around the time performance starts to suffer. I’m not sure if it’s related.

perf: interrupt took too long (2504 > 2500), lowering kernel.perf_event_max_sample_rate to 79000

And also, I get a number of pipewire issues after this event happens:

Aug 25 14:26:58 kratos pipewire[3700]: spa.alsa: front:2p: (0 suppressed) snd_pcm_avail after recover: Broken pipe
Aug 25 14:27:28 kratos pipewire[3700]: spa.alsa: front:2p: (0 suppressed) snd_pcm_avail after recover: Broken pipe
Aug 25 14:27:45 kratos pipewire[3700]: spa.alsa: front:2p: (0 suppressed) snd_pcm_avail after recover: Broken pipe
Aug 25 14:27:45 kratos pipewire[3700]: spa.alsa: front:2p: snd_pcm_mmap_commit error: Broken pipe
Aug 25 14:27:48 kratos pipewire[3700]: spa.alsa: front:2p: (0 suppressed) snd_pcm_avail after recover: Broken pipe
Aug 25 14:27:48 kratos pipewire[3700]: spa.alsa: front:2p: snd_pcm_mmap_commit error: Broken pipe
Aug 25 14:27:52 kratos pipewire[3700]: spa.alsa: front:2p: (0 suppressed) snd_pcm_avail after recover: Broken pipe

I was looking for thermal throttling but it looks like it’s hitting power throttling, PPT0 and PPT1. This game should definitely be within this GPU’s capabilities, especially with graphics on their lowest settings as they are now. What could be causing the device to hit power limits?

This might just be a power adapter issue. When I unplug the power adapter and switch to battery, VRAM stops cycling and gets pinned to power state 2 (1544MHz). See image. Cycling stops once the adapter is unplugged.

I am using the factory 180W charger with an Anker 240W USB-C cable (dog ate the factory one). I just ordered a replacement cable from the Framework store so we’ll see if that fixes the issue.

1 Like

The FW16 will heavily limit power draw as it drains the battery, for example on the 180W psu, I have to change to “power saver” mode to reduce the max power draw so that the battery doesn’t drain and then get low enough to cause hard throttling.

There are also some bugs with the ec that a new beta firmware is supposed to address (but according to reports isn’t doing a good job).

See if the battery% is going down, and if so, try game on power-saver mode and see if you get a better experience.

I’m not running Linux on my FW16, bit check out the 3.06 BIOS. It solved some problems about dGPU power delivery…

I don’t see the 3.06 drivers available. Where are you finding these?

This might be of interest: CPU frequency stuck at low values after suspend/resume on firmware 3.06 · Issue #91 · FrameworkComputer/SoftwareFirmwareIssueTracker · GitHub

The power mode is the EC mode, so windows should also set it. Look at advanced power settings? Or maybe ask someone on the A call on 240w adapter - #469 by Adrian_Joachim thread that’s running windows how they control it.

Have the exact same issue. It’s fixed my using the “Power Save” profile. I’m suspecting it’s because the 180W charger doesn’t give enough juice. Getting a 240W charger could probably fix it.

1 Like

With 3.06 and 3.07, the battery discharge on a 240W charger in Balanced mode seems to be fixed. The catch is, I’m occasionally getting a random uncommanded shutdown when the dGPU starts to draw more power. I’m hoping the theoretical EC code refactoring for the dGPU in 4.0 fixes this.