System Model or SKU
Framework Laptop 13 (Intel® Core™ Ultra Series 3)
BIOS Version
3.02
DIY Edition Information
Memory: Micron CT32G75C2LP5X 32GB
Storage: Crucial T710 1TB
Port/Peripheral Information
Peripheral vendor and name:
- [Fill in device / expansion card]
- [Fill in device / expansion card]
- [Fill in device / expansion card]
- [Fill in device / expansion card]
Standalone Operation
Mainboard only, Standalone mode enabled
Describe the Bug
The Arc B390 never exceeds ~1900 MHz under GPU load although the driver reports rp0_freq = 2500 MHz.
The only throttle reason the SoC raises is PL4; measured package power is 15–30 W and PL1, PL2,
thermal and PROCHOT are never active. The cause is the EC power table for this board, which writes
PL4 = 80 W over PECI in every power state.
EC console (ectool console) after PD negotiation:
PL1:35, PL2:47, PL4:75, PSYSPL2:75 updated success # 79 W supply, no battery
PL1:35, PL2:56, PL4:80, PSYSPL2:89 updated success # 96 W Apple adapter, no battery
These match zephyr/program/framework/sakura/src/cpu_power.c (branch fwk-sakura-20260429,
commit 853d767b "fwk: sakura: Add power limit setting"):
/* DC mode Battery only */ pl1_watt = 35; pl4_watt = 80;
/* Standalone mode AC only */ pl2_watt = MAX(40, MIN(60, active_power*60/100));
pl4_watt = MIN(80, active_power*95/100);
/* AC DC mode */ pl1_watt = 35; pl2_watt = 60; pl4_watt = 80;
GPU behaviour under a 60 s Vulkan load (vkmark 1920x1080), 1 Hz samples of
/sys/class/drm/card0/device/tile0/gt0/freq0/ plus RAPL package energy:
| supply |
EC PL4 |
GPU act_freq |
package power |
throttle/reasons |
| 79 W |
75 W |
1750–1850 MHz |
11–16 W |
pl4 (60/60 samples) |
| 96 W |
80 W |
1850–1900 MHz, peak 2050 |
13–17 W |
pl4 (59/60 samples) |
Intel enforces PL4 preemptively (datasheet 15.1.1.1: "the PL4 power limiting algorithms will
preemptively limit frequency to prevent spikes above PL4"), i.e. as a frequency ceiling derived from
worst-case power, which is why the clamp holds at 15 W of real draw. A 16-thread CPU load in the same
session reaches 36–40 W at 96 °C, so PL1/PL2 and cooling behave as configured; PL4 is the only limit
that is mis-sized for this SoC.
Comparison with the Core Ultra Series 1 table (marigold/src/cpu_power.c, same branch):
| power state |
Series 1 (marigold) PL4 |
Series 3 (sakura) PL4 |
| battery only |
80 |
80 |
| adapter only, no battery |
0.95 × adapter (95 on 100 W) |
min(80, 0.95 × adapter) |
| adapter ≥ 55 W, battery ≥ 30 % |
120 |
80 |
| adapter ≥ 55 W, battery < 30 % |
min(0.9 × adapter + 80, 120) |
80 |
Steps To Reproduce
- Connect the 100 W (or any ≥ 60 W) USB-C supply, with or without battery.
sudo ectool console | grep PL1 → shows PL4:80 (or PL4:75 on a ~80 W supply).
- Start any GPU load (vkmark, or a game) and run
watch -n1 cat /sys/class/drm/card0/device/tile0/gt0/freq0/act_freq /sys/class/drm/card0/device/tile0/gt0/freq0/throttle/reasons
- Observe
act_freq ≤ ~1900 and reasons = pl4, while sudo turbostat (or RAPL energy_uj)
shows package power far below 80 W.
Expected Behavior
PL4 sized to what the source can deliver, as on Series 1: ~95 W on a 100 W contract without battery,
and 120 W with adapter + charged battery, so the B390 can reach its rated frequency. A BIOS toggle
would also be much appreciated.
Screenshots
report-20260910-201810.log
report-20260910-203004.log
Operating System
NixOS 26.11
Linux Kernel Version
7.2.3
Additional Context
No response
System Model or SKU
Framework Laptop 13 (Intel® Core™ Ultra Series 3)
BIOS Version
3.02
DIY Edition Information
Memory: Micron CT32G75C2LP5X 32GB
Storage: Crucial T710 1TB
Port/Peripheral Information
Peripheral vendor and name:
Standalone Operation
Mainboard only, Standalone mode enabled
Describe the Bug
The Arc B390 never exceeds ~1900 MHz under GPU load although the driver reports
rp0_freq= 2500 MHz.The only throttle reason the SoC raises is PL4; measured package power is 15–30 W and PL1, PL2,
thermal and PROCHOT are never active. The cause is the EC power table for this board, which writes
PL4 = 80 W over PECI in every power state.
EC console (
ectool console) after PD negotiation:These match
zephyr/program/framework/sakura/src/cpu_power.c(branchfwk-sakura-20260429,commit 853d767b "fwk: sakura: Add power limit setting"):
GPU behaviour under a 60 s Vulkan load (vkmark 1920x1080), 1 Hz samples of
/sys/class/drm/card0/device/tile0/gt0/freq0/plus RAPL package energy:throttle/reasonspl4(60/60 samples)pl4(59/60 samples)Intel enforces PL4 preemptively (datasheet 15.1.1.1: "the PL4 power limiting algorithms will
preemptively limit frequency to prevent spikes above PL4"), i.e. as a frequency ceiling derived from
worst-case power, which is why the clamp holds at 15 W of real draw. A 16-thread CPU load in the same
session reaches 36–40 W at 96 °C, so PL1/PL2 and cooling behave as configured; PL4 is the only limit
that is mis-sized for this SoC.
Comparison with the Core Ultra Series 1 table (
marigold/src/cpu_power.c, same branch):Steps To Reproduce
sudo ectool console | grep PL1→ showsPL4:80(orPL4:75on a ~80 W supply).watch -n1 cat /sys/class/drm/card0/device/tile0/gt0/freq0/act_freq /sys/class/drm/card0/device/tile0/gt0/freq0/throttle/reasonsact_freq≤ ~1900 andreasons=pl4, whilesudo turbostat(or RAPLenergy_uj)shows package power far below 80 W.
Expected Behavior
PL4 sized to what the source can deliver, as on Series 1: ~95 W on a 100 W contract without battery,
and 120 W with adapter + charged battery, so the B390 can reach its rated frequency. A BIOS toggle
would also be much appreciated.
Screenshots
report-20260910-201810.log
report-20260910-203004.log
Operating System
NixOS 26.11
Linux Kernel Version
7.2.3
Additional Context
No response