This is a solution to Regular kernel hangs on boot 90% of the time, lts kernel always works where I can’t reply because the topic is closed
Short answer: for my laptop, I added the line to the regular kernel boot command: i915.force_probe=!8086 xe.force_probe=8086
.
Explanation:
The problem turned out to be a conflict between the i915 driver, and the xe driver which was introduced in the 6.9 kernels. So, it would have occurred on the lts kernels as soon as they moved to a 6.9+ kernel. To find the solution for your PC/laptop, these should be the steps:
Run lspci -v
when booted with the lts kernel and find the VGA card. In my case, this included (xe
was not included when I booted with the 6.6 kernel):
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] (rev 0c) (prog-if 00 [VGA controller])
DeviceName: VGA compatible controller
Subsystem: CLEVO/KAPOK Computer Device 7716
Flags: bus master, fast devsel, latency 0, IRQ 195, IOMMU group 0
Memory at 81000000 (64-bit, non-prefetchable) [size=16M]
Memory at 90000000 (64-bit, prefetchable) [size=256M]
I/O ports at 1000 [size=64]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915, xe
I ran setpci --dumpregs | grep _ID$
and the output was:
00 W VENDOR_ID
02 W DEVICE_ID
2c W SUBSYSTEM_VENDOR_ID
2e W SUBSYSTEM_ID
40 W CB_SUBSYSTEM_VENDOR_ID
42 W CB_SUBSYSTEM_ID
0028 00 - ECAP_HIER_ID
I ran setpci -s 00:02.0 00.w
and the answer was 4606, so I added i915.force_probe=!46a6 xe.force_probe=46a6
to the 6.11 boot command, with no luck. I then ran setpci -s 00:00.0 00.w
and added i915.force_probe=!8086 xe.force_probe=8086
and I can now boot the regular 6.11 kernel successfully.
I don’t know whether there is a better solution, until the lts kernel also moves to 6.9+. At that time, I can blacklist the i915 module and force load the xe module. If you have a better idea, please speak up. Thank you.