Avec la sortie d'Ubuntu 14.04 le 17 avril dernier, j'ai voulu mettre à jour mes ordinateurs qui tournaient sur Ubuntu 13.10. Aucun problème pour mon PC de bureau, mais sur le portable, ce ne fut pas une mince affaire. Je vous explique pourquoi et comment j'ai résolu le problème.
Après avoir fait la mise à jour sur mon PC de bureau, je la lance sur le portable. Je redémarre et à l'affichage de
lightDM (l'écran d'ouverture de session), je me retrouve avec un bel écran noir, et une erreur m'indiquant un problème avec le driver graphique
nouveau. Je comprend que c'est encore Nvidia Optimus qui me joue des tours...
J'évoquais déjà cette technologie dans d'
autres articles et comment Bumblebee m'avait permis de faire fonctionner Ubuntu. Mais avec Ubuntu 14.04, de nouveau paquets dans les dépôts officiels, permettent de supporter Nvidia Optimus. Mais à priori, ce n'est pas encore pour moi.
En effet, avec la mise à jour vers Ubuntu 14.04, le paquet
nvidia-prime, et ses dépendances ce sont installés. Ce paquet doit permettre d'assurer le support de Nvidia Optimus et de rendre Bumblebee inutile. Malheureusement, je comprend très vite que mon erreur au redémarrage est bien lié à
nvidia-prime.
Je relance le PC en
safemode, en spammant la touche "Echap" au démarrage. J'entre en mode console et tente un
apt-get purge nvidia* bumblebee*. La commande m'affiche rapidement une erreur, un lock sur apt-get existe déjà. Malheureusement le
safemode ne me permet pas d'aller le supprimer, car le système est monté en lecture seule...
J'ai plus qu'une solution, faire un chroot du système via un live CD.
Le principe est simple. Il faut commencer par démarrer le PC avec un live CD. Pour ma part, j'ai utilisé une Ubuntu 13.04, car elle n'inclut pas le fameux
nvidia-prime. D'ailleurs, je ne peux plus démarrer mon PC portable sur une live 13.10 ou 14.04, à cause de ce même paquet... Une fois la live lancée, ouvrez un terminal. Il suffit de monter les partitions de votre disque dur. Pour cela passez root (sudo -i) et lancez les commandes ci-dessous.
Je possède deux partitions, /dev/sda1 pour le système et /dev/sda2 pour le /home.
mkdir /media/system
mount /dev/sda1 /media/system
mount /dev/sda2 /media/system/home
mount --bind /dev /media/system/dev
mount -t proc /proc /media/system/proc
mount --bind /run /media/system/run
mount -t sysfs /sys /media/system/sys
Le système est monté, vous pouvez lancer le chroot :
chroot /media/system /bin/bash
Bon, je vais enfin pouvoir avancer. Je peux maintenant désinstaller
nvidia et
bumblebee pour repartir sur une base propre. Une fois nettoyés, je réinstalle
bumblebee.
sudo apt-get purge nvidia* bumblebee*
sudo apt-get install bumblebee bumblebee-nvidia
On quitte le chroot avec la commande
exit et on peux redémarrer sur le disque dur.
J'arrive enfin sur Ubuntu 14.04, sans problème...
Je note quand même les énormes efforts réalisés par Canonical, Nvidia et la communauté, pour pouvoir supporter Nvidia Optimus sous Linux, mais pour mon cas ça ne remplace pas encore Bumblebee.
nvidia-prime fonctionne pourtant pour certains modèles de PC portable, mais je suis assez inquiet quant aux prochaines mises à jour, même si pour le moment,
nvidia-prime n'est pas venu m'embêter. Mais ce qui est sûr, c'est qu'à la prochaine mise à jour d'Ubuntu, je risque de devoir recommencer tout le procéder que j'ai décrit, à moins que mon PC finisse par être correctement pris en charge par
nvidia-prime.
Un article à retrouver sur
P3ter.fr
Original post of P3ter.Votez pour ce billet sur Planet Libre.