Comment Nvidia Optimus a planté ma mise à jour d'Ubuntu 14.04 (MAJ)

Rédigé par P3ter - - 8 commentaires

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.

 


MAJ 18/05/2014 : Grâce aux commentaires des lecteurs, j'ai testé une petite astuce qui permet de résoudre le problème plus facilement.


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.

MAJ : Il est possible de monter les partitions en écriture, via la commande : mount -o remount,rw / . Ainsi, il n'y aura pas  l'erreur décrite ci-dessus et le chroot n'est alors plus nécessaire.

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 peut 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.

Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est le sixième caractère du mot a8vfx46 ?

#1  - Kevina a dit :

Bonjour.

« 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. »

N'était-il pas possible de remonter la partition en lecture/écriture ?
mount -o remount,rw /

Voir cette page pour plus d'infos : http://forums.archlinux.fr/topic10357.html

Répondre

#2  - davidvt a dit :

Bonjour,

j'ai un ASUS N55SF et la mise à niveau vers 14.04 s'est passée sans problème ... (en fait, j'ai fait une réinstallation plutôt qu'une mise à niveau depuis la 13.10) mais merci pour le tuto, en espérant ne jamais avoir à m'en servir !

Répondre

#3  - Bruno a dit :

Pour moi la mise à niveau s'est faite sans problème, mais les deux cartes chauffent toujours à peu près autant donc la partie est loin d'être gagnée. Je crois que j'ai le temps de changer d'ordinateur avant de voir une bonne intégration d'Optimus (mais effectivement, respects tout de même à ceux qui essaient).

Répondre

#4  - rodolphe a dit :

Ben moi j'ai eu le même problème merci !

Répondre

#5  - G Hurst a dit :

Peut être que ça a changé avec Ubuntu 14.04 mais normalement une fois démarré en mode secours la commande suivante permet monter la partition root en mode lecture/écriture
mount -o remount,rw /

Répondre

#6  - Pedro CADETE a dit :

@Kevina, @G Hurst : Bonjour. J'ai essayé de passer en écriture depuis le "recovery mode" et effectivement, ça marche. Je vais mettre à jour l'article. Merci beaucoup !

Répondre

#7  - Lorenzouno a dit :

Bien vu.
Pour ma part j'ai lancé ubuntu 14.04 normalement. Arrivé sur l'ecran noir j'ai fait CTRL+ALT+F1 et du coup je suis passé en mode terminal.
A ce moment là je suis passé en root (sudo-i), et j'ai executé les 2 dernières commandes de votre explication, purge nvidia et bumblebee, puis install bumblebee de nouveau.
Au reboot c'était bon.
En tout cas merci !

Répondre

#8  - Gossytchat.fr a dit :

Même problème pour moi !

Pedro tu es le magicien d'ubuntu !

Répondre