Sélectionner une page

Problème de veille sous Linux

Vous avez installé un système d’exploitation sous Linux, mais malgré votre rutilant Lenovo tout neuf, il y a quelques soucis lorsque votre ordinateur doit se mettre en veille – Une solution rapide et efficace !

J’ai le plaisir de vous annoncer que ce petit bug du noyau linux a été corrigé dans la nouvelle version, ainsi avec la nouvelle release Ubuntu : plus aucun problème !

Certains utilisateurs ont pu expérimenter ce cas avec certaines machines fonctionnant sous GNU/Linux. Cela est très embêtant, parce qu’en général la machine ne se met pas correctement en veille. Soit elle n’entre carrément jamais en veille, soit il est impossible de l’en sortir. Dans les deux cas, cela peut poser des problèmes.

J’ai cherché une solution et j’ai trouvé que cela venait des pilotes de mon chipset graphique Intel, qui présentaient quelques défauts. Cela implique que cette solution ne va fonctionner qu’avec une architecture comprenant un chipset graphique Intel GMA 4500MHD !

Pour résoudre le problème de pause, il existe une solution ! Mais elle a ses défauts : Dans certaines circonstances que je n’ai pas encore identifiées, elle ne remplit pas son office et la machine plante tout de même. Cela vaut cependant le coup d’essayer, car la solution marche dans 95% des mises en veille.

La solution est donc simple, il suffit de rajouter une liste d’instructions dans un fichier shell, qui sera exécuté au moment de la mise en veille.

On copie le code suivant dans un fichier, qu’on nommera 00CPU (ou comme bon vous semblera…) et qu’on mettra dans /etc/pm/sleep.d avec un CHMOD de 755 :

#!/bin/sh
# Workaround for concurrency bug in xserver-xorg-video-intel 2:2.4.1-1ubuntu10.
# Save this as /etc/pm/sleep.d/00CPU 

. "/usr/lib/pm-utils/functions"

case "$1" in
	hibernate|suspend)
		for i in /sys/devices/system/cpu/cpu*/online ; do
			echo 0 >$i
		done
		;;
	thaw|resume)
		sleep 10	# run with one core for 10 secs
		for i in /sys/devices/system/cpu/cpu*/online ; do
			echo 1 >$i
		done
		;;
	*)
		;;
esac

Pour la copie dans ce dossier protégé, il faut les droits d’admin. La commande ressemblera donc à quelque chose comme ça :

$ sudo mv /home/nico/00CPU /etc/pm/sleep.d/00CPU

Cette information vient du génial site communautaire ArchLinux :
->https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T400#SUSPEND-RESUME

Un autre site qui pourrait vous intéresser, si vous possédez un ThinkPad, c’est ThinkWiki.org ! Une communauté analysant la compatibilité de chaque modèle de Lenovo avec un OS libre, et donnant parfois des trucs pour résoudre ses petits soucis 🙂

Poster le commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *