A workaround for low-power Intel CPU crashes on Linux

This is documented in a few places throughout the Internet, but some Intel CPUs, specifically low-power ones, can hang or crash if idle for long enough when running Linux due to problems related to their power management features. I encountered this problem on my laptop, and I will document the workaround here for future reference in case I run into this problem again on a different computer.

Add the kernel parameters "i915.enable_dc=0" and "intel_idle.max_cstate=1" to the kernel command line. The easiest way is to edit /etc/default/grub and add those kernel parameters to the GRUB_CMDLINE_LINUX configuration variable. Make sure to run "grub-mkconfig -o /boot/grub/grub.cfg" afterwards.

It may be worthwhile to figure out whether only one of those parameters is needed, but on the other hand, it may take days for a CPU hang to occur in some cases, and I do not feel like waiting that long only to see that I do need both parameters. Thus, I specified both of them to be safe. Specifying these parameters does turn off some power management features and lowers battery life, but all the battery life in the world does not matter if I cannot use my laptop.

External links

Here is everything I read while researching more about the problem:

https://wiki.archlinux.org/title/intel_graphics#Crash/freeze_on_low_power_Intel_CPUs

https://linuxreviews.org/Intel_graphics#Kernel_Parameters

https://bugzilla.kernel.org/show_bug.cgi?id=109051

https://gitlab.freedesktop.org/drm/intel/-/issues/6995

Index