![](https://novacustom.com/storage/Intel-ME-disabling-suspend-then-hibernate.png)
Les modèles Dasharo coreboot de NovaCustom disposent d’une fonction permettant de désactiver l’Intel Management Engine (ME). Mais la désactivation du ME a un inconvénient : le PC portable ne peut plus atteindre l’état de consommation le plus bas utilisé pour la mise en veille moderne (S0ix). En conséquence, la batterie s’épuise en mode suspension trois fois plus vite que lorsque le ME est activé. Bien que nous ne puissions pas résoudre ce problème, il existe une solution de contournement.
Contexte
Autrefois, les ordinateurs disposaient d’un mode de sommeil profond appelé hibernation. Bien que ce mode ne soit plus courant et qu’il ne soit plus activé par défaut dans les systèmes d’exploitation Linux modernes, il est toujours possible de l’activer et de l’utiliser. Mais le mode sommeil profond présente également un inconvénient : le temps de réveil est long et similaire au temps de réveil d’un démarrage à froid (démarrage normal).
En mode veille, l’utilisateur revient à l’ordinateur peu de temps après avoir quitté son bureau. Pensez à une pause ou à une courte promenade. Pour des raisons de sécurité, il est toujours préférable d’éteindre complètement le système. Pour certains utilisateurs, cependant, cela peut s’avérer peu pratique, c’est pourquoi ils préfèrent le mode hibernation. Dans la plupart des cas, l’ordinateur reprend dans les 3 heures qui suivent le départ de l’utilisateur de son poste de travail.
Il existe un moyen de faire passer l’ordinateur portable en mode suspension après un certain temps d’inactivité, tout en empêchant la batterie de se vider. La solution que nous allons appliquer dans cet article s’appelle « suspend-then-hibernate ». Elle fonctionne de la manière suivante : si le mode de suspension est déclenché, l’ordinateur portable se met en veille comme d’habitude. Mais après un certain temps, disons 3 heures, il passe de son mode de suspension normal à l’hibernation (sommeil profond / suspension sur disque).
Avantages
La mise en place de la fonction suspend-then-hibernate alors que ME est désactivé présente quelques avantages :
- La batterie se décharge à peine.
- Le temps de réveil du mode veille est encore très court dans la plupart des cas, à moins que l’utilisateur ne reprenne le système après 3 heures.
![](https://novacustom.com/storage/s3-icon.png)
La Série NV41 sous Linux n’est pas concernée
À moins que vous ne disposiez d’une configuration dual-boot avec Windows qui vous oblige à utiliser le mode veille moderne, la Série NV41 n’est pas concernée par le problème d’épuisement de la batterie associé à la désactivation de ME. En effet, cette série prend en charge la fonction S3 (suspend-to-RAM), qui éteint complètement le processeur en mode veille.
Comment configurer suspend-then-hibernate
![](https://novacustom.com/storage/warning.png)
Ce guide a été écrit pour Ubuntu 24.04 avec GNOME. D’autres distributions et environnements de bureau peuvent nécessiter d’autres étapes pour configurer suspend-then-hibernate. Il est possible que cela fonctionne sur d’autres distributions. Veuillez laisser un commentaire sur cet article de blog afin d’informer les utilisateurs de la façon dont cela fonctionne pour la distribution que vous utilisez.
![](https://novacustom.com/storage/warning.png)
Commentaire sur le cryptage des disques : Jusqu’à présent, nous n’avons pas été en mesure de configurer l’hibernation en combinaison avec une partition cryptée. J’ai essayé de mettre en place une partition swap séparée pour une installation Ubuntu existante ainsi que pour une nouvelle installation, sans succès, même après avoir lu ces remarques. Si vous avez une solution, n’hésitez pas à la partager dans les commentaires.
Étape 1 : installation de pm-utils
Pour ce faire, il suffit d’ouvrir une fenêtre de terminal (Ctrl + Alt + T) et d’exécuter la ligne suivante, tout en ayant une connexion internet active :
sudo apt install pm-utils -y
Étape 2 : préparation d’une partition swap
Ubuntu ne crée pas de partition swap par défaut, mais elle est nécessaire pour l’hibernation. La taille de la partition swap doit être au moins aussi grande que la capacité de la mémoire interne. Cela n’est pas possible à partir du système d’exploitation lui-même.
Si vous réinstallez Ubuntu, vous pouvez configurer la partition swap pendant la configuration des partitions du disque en configurant manuellement les partitions depuis le programme d’installation. Consultez également cette vidéo pour savoir comment configurer Ubuntu 24.04 avec des partitions séparées.
Pour créer la partition swap sur une configuration où Ubuntu est déjà installé :
- Démarrez sur une clé USB Ubuntu live.
- Diminuez votre partition racine à l’aide de Gparted en ajoutant au moins la capacité totale de votre mémoire vive. Pour plus de certitude, nous vous conseillons d’ajouter un gigaoctet de plus que la capacité totale de votre mémoire vive.
- Créez la partition swap avec Gparted avec la taille maximale.
- Redémarrez l’ordinateur portable sur votre installation Ubuntu par défaut.
Conseil : vous pouvez exécuter free -h pour vérifier la capacité de votre mémoire vive. Après l’étape 4, vous pouvez utiliser la même commande pour vérifier que la capacité totale de la partition swap est supérieure à la capacité totale de la mémoire vive.
Étape 3 : Formatage et affectation de la partition swap
Cette étape n’est nécessaire que si vous avez créé une nouvelle partition swap ; pas si vous avez configuré la partition swap lors de l’installation d’Ubuntu.
Maintenant que vous avez redémarré votre installation normale, formatez la partition swap en ouvrant et un terminal (Ctrl + Alt + T) puis exécutez :
sudo mkswap /dev/nvme0n1pX
Mais remplacez /dev/nvme0n1pX par votre partition swap. Vous pouvez consulter l’application Disques pour identifier votre partition swap.
L’étape suivante consiste à monter la partition swap. Vous pouvez le faire en exécutant :
sudo swapon -U UUID
Mais remplacez UUID par l’UUID réel de votre partition swap. Vous pouvez également vérifier l’UUID de votre partition swap avec l’application Disques.
La dernière chose à faire est de monter de manière permanente la partition swap en la liant dans le fichier /etc/fstab. Dans une fenêtre de terminal, exécutez
sudo nano /etc/fstab
Ajoutez maintenant cette ligne à la fin :
UUID=xxx none swap sw 0 0
Remplacez xxx par l’UUID réel de votre partition swap.
Assurez-vous également qu’il n’ y a pas d’autre partition swap ou fichier swap défini dans le fichier de configuration fstab. Par défaut, le fichier /swap.img est actif, assurez-vous donc que vous avez entièrement supprimé cette ligne. Vous pouvez supprimer une ligne entière avec Ctrl + K, soit dit en passant.
Enregistrez le fichier avec le raccourci clavier Ctrl + X, suivi de Y, suivi de la touche Entrée.
Étape 4 : Assigner la partition swap à GRUB
Pour ce faire, exécutez :
sudo nano /etc/default/grub
Trouvez maintenant la ligne GRUB_CMDLINE_LINUX_DEFAULT=
. Entre les guillemets, ajoutez : resume=UUUID=xxx, où xxx doit être remplacé par l’UUID de votre partition swap.
Dans mon cas, la ligne ressemblait à ceci :
[ ... ]
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=48c20957-8193-4eb5-a157-f190f9c13d46"
[ ... ]
Enregistrez le fichier avec le raccourci clavier Ctrl + X, suivi de Y, suivi de la touche Entrée.
Assurez-vous que les modifications sont actives en exécutant :
sudo update-grub
Et redémarrez votre ordinateur.
Étape 5 : Test de l’hibernation
Pour déclencher l’hibernation, la commande suivante doit être exécutée :
systemctl hibernate
Vous pouvez utiliser cette commande pour vous assurer que l’hibernation fonctionne correctement.
Étape 6 : Ajouter une option pour déclencher directement l’hibernation (facultatif)
Il existe deux façons de déclencher facilement l’hibernation à partir de l’interface utilisateur graphique :
- En utilisant l’extension GNOME Hibernate Status Button.
- En créant un raccourci clavier personnalisé pour exécuter facilement l’hibernation. Pour ce faire, accédez à Paramètres –> Clavier –> Raccourcis clavier –> Raccourcis personnalisés –> Ajouter un raccourci. Dans Nom, indiquez Hibernation. Comme commande, indiquez systemctl hibernate. Cliquez ensuite sur Définir un raccourci… et déclenchez le raccourci clavier souhaité pour mettre votre ordinateur portable en mode hibernation.
Étape 7 : modification de la configuration de sommeil de systemd
L’objectif est de :
- S’assurer que l’hibernation est autorisée par systemd.
- Spécifier le délai d’hibernation après le mode suspension.
- S’assurer que la suspension déclenche bien la politique suspend-then-hibernate.
Pour ce faire, ouvrez une fenêtre de terminal et exécutez :
sudo nano /etc/systemd/sleep.conf
Dans ce fichier, décommentez et définissez les lignes suivantes :
AllowSuspend=yes
AllowHibernate=yes
AllowSuspendThenHibernate=yes
HibernateDelaySec=180min
Enregistrez le fichier avec le raccourci clavier Ctrl + X, suivi de Y, suivi de la touche Entrée.
Maintenant, remplacez le mode veille par défaut par suspend-then-hibernate en exécutant :
sudo ln -s /usr/lib/systemd/system/systemd-suspend-then-hibernate.service /etc/systemd/system/systemd-suspend.service
Redémarrez l’ordinateur portable pour vous assurer que les modifications sont actives.
Étape 8 : tester suspend-then-hibernate
Ouvrez plusieurs applications et suspendez simplement l’ordinateur portable comme d’habitude. Attendez une minute et réveillez votre ordinateur portable. Le mode de suspension devrait être normal.
Déclenchez à nouveau le mode suspension. Définissez une alarme qui se déclenche dans 3 heures afin de voir ce qui se passe dès que l’ordinateur portable est suspendu pendant plus longtemps que cela. En fait, il doit sauvegarder son état et s’éteindre. Pour vérifier si cet objectif est atteint, il suffit de le rallumer. L’ordinateur portable doit restaurer les applications telles qu’elles étaient avant le déclenchement du mode suspension.
Les commentaires uniquement en anglais s.v.p.