web-dev-qa-db-fra.com

Impossible de reprendre à partir de la mise en veille prolongée en utilisant systemd sous Ubuntu15.10

J'ai des problèmes avec la reprise de l'hibernation en utilisant systemd (swsusp) pour travailler sur un Lenovo IdeaPad Z510, fonctionnant sous Ubuntu 15.10 (le problème était le même dans les versions précédentes d'Ubuntu).

  • FAIT: À partir d'une machine mise en veille prolongée (journalctl confirme le succès), la reprise apparaît pour générer un "écran mort" (affichage noir, aucune session apparente ou clavier interaction, mais rien dans journalctl n'indique un échec d'affichage/session).

  • DEVRAIT: À partir de l'hibernation, restaurer la session à partir de la partition de swap et permettre à l'utilisateur de continuer la session.

Comme indice, si je mets le nomodeset dans grub, ligne GRUB_CMDLINE_LINUX_DEFAULT, la reprise fonctionne correctement, bien que le matériel graphique natif soit clairement désactivé (Haswell HD Mobile 4400).

Compte tenu de cela, je soupçonne deux problèmes possibles qui pourraient causer ce problème:

  • Sur ma machine, reprendre avec un pilote vidéo intégré (Intel i915) n'est pas encore correctement configuré.

  • Dans ma lecture, j'ai rencontré un problème de noyau connu lié à l'échec de la reprise en raison d'une incompatibilité de la taille de la mémoire dans le fichier d'échange de reprise. Appelé non-concordance du BIOS e820, il est préférable de le décrire ici: http://www.slideshare.net/joeylikernel/the-e820-trap-of-linux-kernel-hibernation .

Dans ce dernier cas, il semble que la version 4.3 du noyau puisse résoudre au moins cette seule raison possible de mes problèmes de CV.

Mais pour l'instant, je suis intéressé à mieux comprendre le premier cas, car je veux vérifier toutes mes hypothèses en ce qui concerne la configuration de systemd pour permettre avec succès la mise en veille prolongée et la reprise.

À ce jour, voici ce que j'ai fait pour configurer ma machine pour une mise en veille prolongée/reprise à l'aide de systemd:

  1. Dans etc/default/grub, configurez GRUB_CMDLINE_LINUX_DEFAULT pour inclure le paramètre de reprise, en passant l'UUID de la partition de swap en question (c'est-à-dire, resume = UUID = 453f0121-505d-42d3-8dad-87f913e67ddc). Mon GRUB_CMDLINE_LINUX_DEFAULT actuel est GRUB_CMDLINE_LINUX_DEFAULT = "reprise silencieuse des éclaboussures = UUID = 453f0121-505d-42d3-8dad-87f913e67ddc"
  2. Exécutez Sudo update-grub
  3. Modifier/confirmer CV = UUID = 453f0121-505d-42d3-8dad-87f913e67ddc entrée dans le fichier de CV situé dans/etc/initramfs
  4. Exécutez Sudo update-initramfs -u
  5. Modifiez /etc/systemd/logind.conf pour définir HandleLidSwitch = hibernate
  6. Exécutez Sudo service systemd-logind restart
  7. Redémarrez pour faire bonne mesure

Le CV échouera systématiquement sans erreur évidente (pour moi) indiquant la raison de l'échec du CV.

Donc, ma question au forum est la suivante:

Quels outils de débogage, ressources d'informations systemd et compréhension générale de la façon de résoudre ce qui semble être un problème de pilote vidéo pouvez-vous recommander?

Je suis très intéressé à résoudre cette situation dans le contexte de l'utilisation de systemd comme solution.

Merci beaucoup.

Riches

1
richbl

Bien que je n'aie jamais reçu de bonne réponse à la question sur la meilleure façon de résoudre les problèmes d'hibernation sur mon ordinateur portable, j'ai did enfin installé le noyau 4.8 (via une nouvelle installation d'Ubuntu 16.10), et hibernate fait maintenant comme attendu.

J'espère que cela aide les gens avec les mêmes problèmes que moi ...

1
richbl

J'ai eu le même problème sur Ubuntu Gnome 16.04. La seule solution que j'ai trouvée à l'époque était la mise à jour du noyau. Après la mise à jour vers la version générique 4.5.3, le problème avait disparu.

La mise à niveau du noyau Linux est décrite ici .

Vous pouvez vérifier la version de votre noyau via le terminal:

uname -r
2

J'ai essayé ces options

acpi_osi = linux i915.enable_rc6 = 1 i915.lvds_downclock = 1 i915.enable_fbc = 1 pcie_aspm = force

et jusqu'à présent, le problème semble avoir disparu

tiré de cela lien

MODIFIER:

acpi_osi = '! Windows 2012'

maintenant j'utilise cette option et jusqu'à présent, cela fonctionne comme il se doit

ÉDITER

Je ne suis pas un expert mais j'ai le même problème. Lors de ma dernière tentative (et cela semble fonctionner), j'avais supprimé acpiacpid et acpi_call packages .. Je ne sais pas s'ils sont liés au problème .. mais je sais utiliser le noyau 4.4.10 et l'hibernation fonctionne bien.

1
Baron Leonardo