Résoudre les freezes du trackpad sur MSI Prestige (Intel Alder Lake)

Correction des problèmes d’interruptions ACPI et de gestion d’énergie PCI pour les trackpad I2C sur processeur Intel 12ème génération (MSI Prestige 14H B12).
30 March 2026 242 words Reading: 2 min Authors:
  • Loïs Dutour

Sur les modèles MSI récents (gamme Prestige/Modern avec Intel 12th+ Gen), le trackpad peut se figer alétoirement. Ce problème est dû à une mauvaise gestion des interruptions matérielles par le pilote pinctrl_alderlake.

Linux Fedora Intel MSI

Correction des interruptions au boot (GRUB)

Le processeur Alder Lake génère des interruptions conflictuelles qui saturent le bus I2C. On force le noyau à ignorer ces interruptions spécifiques.

Modifiez le fichier de configuration du chargeur de démarrage:

sudo vim /etc/default/grub

Ajoutez le paramètres pinctrl_alderlake.ignore_interrupts=1 à la ligne des paramètres Linux :

GRUB_CMDLINE_LINUX="rhgb quiet pinctrl_alderlake.ignore_interrupts=1"

Mettre à jour la configuration de GRUB:

# Sur Fedora
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

# Sur Ubuntu/Debian
sudo update-grub

Règle udev pour la gestion d’énergue PCI

Certains contrôleurs tentent de passer en mode “autosuspend”, ce qui déconnecte le périphérique. On crée une règle udev pour forcer l’état on.

Créez le fichier de règle :

sudo nano /etc/udev/rules.d/99-msi-trackpad.rules

Vérifier l’ID de votre périphérique :

lspci -nn

Ajoutez la configuration suivante avec le bon ID :

ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{device}=="0x25a9", ATTR{power/control}="on"

Appliquez la règle sans redémarrer :

sudo udevadm control --reload-rules
sudo udevadm trigger

Analyse de la cause racine

Le problème survient lors de la négociation entre le contrôleur d’interruptions du processeur et le firmware ACPI et le firmware ACPI du MSI. L’option ignore_interrupts permet d’utiliser le mode “polling” ou de rediriger l’interruption vers un canal stable.

Flux de résolution

    A[Trackpad figé] --> B{Kernel Parameter}
    B -->|ignore_interrupts=1| C[Bus I2C stabilisé]
    C --> D{Udev Rule}
    D -->|power/control=on| E[Évite l'autosuspend PCI]
    E --> F[Trackpad opérationnel 100%]