You are not logged in.
Hello,
I am experiencing random system freezes on my laptop with Intel Meteor Lake iGPU.
Architecture: x86_64
Model name: Intel(R) Core(TM) Ultra 7 255H
~ ❯ lspci -nnk | grep -A3 VGA
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation Arrow Lake-P [Intel Graphics](rev 03)
DeviceName: Onboard - Video
Subsystem: ASUSTeK Computer Inc. Device
Kernel driver in use: i915
~ ❯ uname -a
Linux comp 6.12.47-1-lts #1 SMP PREEMPT_DYNAMIC Fri, 12 Sep 2025 08:06:51 +0000 x86_64 GNU/LinuxThe freezes occur during normal desktop usage. After rebooting and checking logs, I noticed recurring i915 DRM errors related to GSC proxy initialization.
**System info:**
- Distro: Arch Linux
- Kernel: linux-lts 6.6.x (also reproducible)
- Mesa: 25.2.2-2
- CPU/GPU: Intel Meteor Lake (iGPU, 7d51)
- Boot parameters: i915.force_probe=* i915.enable_dc=0 i915.enable_psr=0
**Logs (journalctl -k):**
Sep 17 16:27:22 homecomp kernel: i915 0000:00:02.0: [drm] Found METEORLAKE (device ID 7d51) display version 14.00 stepping D0
Sep 17 16:27:22 homecomp kernel: i915 0000:00:02.0: [drm] GT0: GuC firmware i915/mtl_guc_70.bin version 70.44.1
Sep 17 16:27:22 homecomp kernel: i915 0000:00:02.0: [drm] GT1: GuC firmware i915/mtl_guc_70.bin version 70.44.1
Sep 17 16:27:22 homecomp kernel: i915 0000:00:02.0: [drm] GT1: HuC firmware i915/mtl_huc_gsc.bin version 8.5.4
Sep 17 16:27:22 homecomp kernel: i915 0000:00:02.0: [drm] GT1: HuC: authenticated for clear media
Sep 17 16:27:22 homecomp kernel: i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
Sep 17 16:27:33 homecomp kernel: i915 0000:00:02.0: [drm] ERROR GT1: GSC proxy component didn't bind within the expected timeout
Sep 17 16:27:33 homecomp kernel: i915 0000:00:02.0: [drm] ERROR GT1: GSC proxy handler failed to initI also see freezes that do not leave a clear "GPU HANG" message in logs, but the system becomes unresponsive and requires a hard reboot.
**Troubleshooting done:**
- Tried both `linux` (6.11.x) and `linux-lts` kernels → freezes occur on both, but less reproducible on `linux`.
- Boot parameters tested:
- With `i915.force_probe=* i915.enable_dc=0 i915.enable_psr=0` → system boots, but freezes still happen.
- Adding `i915.enable_guc=0` or `i915.enable_pm=0` → system fails to start graphical environment.
- Adding `i915.enable_guc=2` → system fails to boot into graphics as well.
- Mesa is up-to-date from Arch repos (25.2.2-2).
**Questions:**
- Is the GSC proxy error related to the freezes?
- Should GuC/HuC be forced differently on Meteor Lake, or is this a kernel/i915 regression?
- Any recommended kernel parameters or patches to stabilize i915 on Meteor Lake?
Thanks in advance!
Offline
I've experienced similar problems on the same hardware with Ubuntu 24.04. Seems a kernel power management issue. These kernel parameters seems to work for me (so far):
intel_idle.max_cstate=0 processor.max_cstate=0 pcie_aspm=off i915.enable_psr=0 mem_sleep_default=deep i915.enable_dc=0 ahci.mobile_lpm_policy=1
I'll try to gradually increase cstate to find the optimal value that does not cause freezes.
Offline
On my Meteor Lake Lenovo laptop, I faced many UI freezes with only mouse cursor moving in Linux, SSH still works and I got kernel messages about expired timeouts. XE/i915 switch, PSR settings had no effect and intel_idle.max_cstate causes major issues with noise and battery.
I think I identified the root cause and a precise fix of the issue. Applicable to Meteor Lake, and maybe to similar issues with Lunar Lake (adjust CPU index).
i915/xe GPU interrupts are handled by a single LPI(!!!) core by default. I moved this IRQ handling to a regular LP core (17 in my case assuming SMT/HT is on and there are 0-21 cores in total) and disabled deep cstate exactly for this single core using this script:
#!/bin/bash
set -euo pipefail
CPU=17
STATES_DISABLE_GE=1
echo "Using CPU: $CPU"
echo "Disabling cpuidle states with index >= $STATES_DISABLE_GE on CPU $CPU"
# --- compute affinity mask from CPU ---
mask_dec=$((1 << CPU))
MASK_HEX=$(printf '%x' "$mask_dec")
echo "Computed IRQ affinity mask: 0x$MASK_HEX (CPU $CPU)"
# --- pin all i915/xe IRQs to this CPU ---
for irq in $(awk '/i915|xe/ {gsub(":", "", $1); print $1}' /proc/interrupts); do
echo "Setting affinity of IRQ $irq to mask 0x$MASK_HEX (CPU $CPU)"
echo "$MASK_HEX" | sudo tee "/proc/irq/$irq/smp_affinity" >/dev/null
done
# --- disable deep C-states on this CPU ---
for st in /sys/devices/system/cpu/cpu${CPU}/cpuidle/state[0-9]*; do
num=${st##*state} # index: 0,1,2,3...
if [ "$num" -ge "$STATES_DISABLE_GE" ]; then
name=$(<"${st}/name")
echo "Disabling C-state index $num ($name) on CPU $CPU"
echo 1 | sudo tee "${st}/disable" >/dev/null
fi
done
echo "Done."
sleep 1
head -1 /proc/interrupts; grep -Ei "i915|xe" /proc/interruptsFreezes are random and it is hard to verify for sure - maybe differenc cstates of P-core should be used, but it works for me without UI freezes for now, and battery usage is ok.
Last edited by borow200kg (2025-11-18 19:16:16)
Offline
Here is hang log message (for XE, but the same story with i915):
xe 0000:00:02.0: [drm] GT0: reset done
xe 0000:00:02.0: [drm] GT0: Timedout job: seqno=79627, lrc_seqno=79627, guc_id=19, flags=0x4 in no process [-1]
xe 0000:00:02.0: [drm:xe_devcoredump [xe]] Multiple hangs are occurring, but only the first snapshot was taken
kernel: ------------[ cut here ]------------
xe 0000:00:02.0: [drm] GT0: VM job timed out on non-killed execqueue Oct 06 07:31:34 cachyos-x8664 kernel: WARNING: CPU: 3 PID: 20272 at drivers/gpu/drm/xe/xe_guc_submit.c:1293 guc_exec_queue_timedout_job+0xadb/0xbb0 [xe]Last edited by borow200kg (2025-11-16 12:40:38)
Offline
I was experiencing similar issues on a ASUS ZenBook 14. Disabling Intel VMD in the BIOS, as suggested here, fixed the problem for me.
Last edited by gflima (2025-12-01 17:58:50)
Offline