Écran noir après upgrade Ubuntu 10.10 sur Acer 5736Z

J'avais installé une Ubuntu 10.10 sur le PC Portable d'un ami, un Acer Aspire 5736Z[1], et tout allait pour le mieux.
Mais la date de fin de support de cette version étant dépassée, il s'est résigné à mettre à niveau sa distribution et lancé le processus de passage en 11.04.

Tout s'est en apparence bien passé, mais au premier redémarrage, écran noir !
Toutefois, le petit roulement de tambour d'accueil ayant retenti, il pense que ce n'est peut-être qu'un détail et m'appelle.

Ma première tentative de démarrage sur une clé USB doté d'une distribution récente "live" fini de la même façon; écran noir !

Après quelques recherches, essais, et moult tâtonnements, ce problème semble toucher tous les PC portables équipés d'un chipset graphique "Intel GMA 4500M graphics".
J'ai fini par trouver le moyen de régler son problème, et la solution pouvant servir à d'autres, je la trace ci-dessous.

Ubuntu 12.04 LTS sur Acer Aspire 5736Z

Installation depuis CD alternate[2] avec, au démarrage, le choix de deux options par le biais de la touche F6; nomodeset et mode expert

  • nomodeset permet d'éviter l'écran noir au premier boot,
  • mode expert pour faire le partitionnement à la main, et récupérer des partitions existantes.

L'installation se fait en mode texte, et au premier boot, la définition est fixée à 1024x768 au lieu des 1366x768 natifs de la dalle LCD. Qui plus est, les touches de réglage de luminosité ne fonctionnent pas (ou à l'envers !), et l'écran redevient noir au sortir de l'hibernation.
Mais au moins, on peut se connecter et travailler; voyons maintenant comment régler tous ces problèmes.

1 - Modification du /etc/default/grub

Ouvrir un terminal et taper

gksu gedit /etc/default/grub

Remplacer :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="nomodeset" 

par :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=legacy"
#GRUB_CMDLINE_LINUX="nomodeset" 
  • le "acpi_osi=Linux" permet de gérer le problème de définition,
  • le "acpi_backlight=legacy" permet de restaurer le réglage de luminosité par les touches Fn + => et Fn + <=,
  • la ligne avec le "nomodeset" n'est plus utile et gêne le fonctionnement du "acpi_osi=Linux".

Il semble possible d'utiliser "acpi_backlight=vendor" au lieu de "acpi_backlight=legacy", je n'ai pas testé.

2 - Modification du /etc/rc.local

Ouvrir un terminal et taper

gksu gedit /etc/rc.local

Ajouter une ligne avant le "exit" de la fin, remplacer :

# By default this script does nothing.
exit 0

par :

# By default this script does nothing.
setpci -s 00:02.0 F4.B=00
exit 0

Ainsi, au démarrage, la luminosité est placée au maximum (B=00); on peut la fixer sur une valeur intermédiaire, le noir étant indiqué par B=FF.

3 - Création du /etc/pm/sleep.d/screen.backlight

Ouvrir un terminal et taper

gksu gedit /etc/pm/sleep.d/screen.backlight

Recopier les lignes suivantes :

#!/bin/sh
case "$1" in
    thaw|resume)
        /usr/bin/setpci -s 00:02.0 F4.B=00>/dev/null
        ;;
    *)
        ;;
esac
exit $?

Rendez le script exécutable :

sudo chmod +x /etc/pm/sleep.d/screen.backlight

Grâce à ce script placé dans ceux qui sont lancés au réveil, l'écran est restauré à sa luminosité maximale au sortir de l'hibernation.

En espérant que ce petit mémo serve à d'autres.

Notes

[1] Le Acer Aspire 5736Z est un PC portable modeste mais convenant bien aux usages de base de 90% des gens; voir ses spécifications détaillées sur le site du constructeur.

[2] Autant passer directement à la dernière version LTS, même si j'ai fini par lui placer l'interface Gnome Fallback pour cause d'Unity urticant.