Dell Latitude 7490 et Linux : résoudre les problèmes de kernel panic

Je possède depuis avril 2018 un ordinateur portable Dell Latitude 7490. C’est une machine fiable et robuste, qui me donne entière satisfaction. Elle fonctionne depuis le premier jour avec la même installation d’Arch Linux, pour mon plus grand bonheur.

Je rencontre cependant depuis quelque temps un problème récurrent. Lorsque le système est fortement sollicité pendant plusieurs dizaines de minutes, ce dernier gèle totalement, et l’indicateur de verrouillage des majuscules clignote indéfiniment, ce qui indique la survenue d’un kernel panic. Un redémarrage ne suffit bien souvent pas à régler le problème, puisqu’un nouveau freeze arrive assez rapidement (mais tout aussi aléatoirement).

Si cela ne m’avait jusqu’à présent jamais réellement posé de problème (je sollicite habituellement assez peu ce PC), ce problème est devenu bien plus gênant depuis que je me penche sur le portage de postmarketOS sur ma tablette Samsung, processus qui me demande de recompiler régulièrement noyau Linux et autres images système.

Après avoir écarté les suspects les plus évidents (mémoire vive, refroidissement, alimentation), il s’avère que le problème est bien connu de la communauté Arch Linux. Cette machine est en effet équipée d’un CPU Intel de génération Kaby Lake Refresh, plus précisément le Core i5 8350u. Cette génération de processeurs est connue pour souffrir de plantages aléatoires problèmes liés aux fonctionnalités de gestion de l’énergie intégrées au CPU.

La bonne nouvelle, c’est qu’une solution à ce problème existe, et qu’elle se limite à désactiver la gestion de l’énergie du GPU intégré, directement dans les paramètres du noyau, en passant i915.enable_dc à 0.

Pour cela, rien de plus simple. Commencez par éditer le fichier contenant les paramètres de Grub :

sudo nano /etc/default/grub

Dans le fichier de configuration, repérez la ligne suivante :

GRUB_CMDLINE_LINUX_DEFAULT="[...]"

puis ajoutez la valeur suivante à la fin de la chaîne de caractères (juste avant le dernier ") :

GRUB_CMDLINE_LINUX_DEFAULT="[...] i915.enable_dc=0"

Sauvegardez ensuite le fichier modifié, puis regénérez la configuration de Grub :

sudo grub-mkconfig -o /boot/grub/grub.cfg

Au prochain démarrage de votre système, les kernel panics devraient avoir disparu. Enjoy !