You are not logged in.
My HP Spectre x360 16 f2013dx (7H0Z9UA) has a Core i7 13700H. The iGPU gets throttled when the laptop wakes up from sleep, if I leave it in sleep for an extended period of time. The frequency of the iGPU remains at 300MHz, but after a while, like 5 to 10 minutes, it will return back to normal. While it's being throttled, however, the laptop really struggles; moving windows around will use 80% of my GPU, and animations are stuttery / laggy. Any help would be immensely appreciated.
Offline
This issue is commonly related to how the `i915` kernel module, Intel GuC/HuC firmware, or `intel_pstate`/power management profiles handle the GPU clock states after returning from S2idle/S3 suspend on Raptor Lake (13th gen) laptops.
Check if GuC is active: sudo dmesg | grep -i guc
If it's disabled or not fully initialized, force it via kernel parameters. Add the following to your bootloader config (e.g., systemd-boot or GRUB):
i915.enable_guc=3
Offline
Hi, @luich91, I got this output:
[ 2.595213] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/adlp_guc_70.bin version 70.49.4
[ 2.610749] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
[ 2.610751] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
[ 2.611321] i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
[ 1846.858944] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/adlp_guc_70.bin version 70.49.4
[ 1846.874083] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
[ 1846.874089] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
[ 1846.874722] i915 0000:00:02.0: [drm] GT0: GUC: RC enabledIt seems that it is enabled
Offline
Since SLPC is handling the frequency scaling, this 300MHz lock post-resume is almost certainly an SLPC/EC (Embedded Controller) state mismatch.
Let's test this step-by-step:
next time you wake the laptop from sleep and experience the 300MHz throttling open a terminal and check what SLPC is reporting for minimum, maximum, and actual frequencies:
cat /sys/class/drm/card0/gt_min_freq_mhz
cat /sys/class/drm/card0/gt_max_freq_mhz
cat /sys/class/drm/card0/gt_act_freq_mhzRight after checking, try manually forcing a higher minimum frequency: echo 800 | sudo tee /sys/class/drm/card0/gt_min_freq_mhz
Let me know what values of first step prints while it's lagging, and whether running step 2 immediately unblocks the GPU performance or if it stays stuck.
Offline