Les pilotes NVIDIA ne fonctionnent pas après la mise à niveau. Pourquoi ne puis-je voir que le terminal?

34

Ce soir, je suis passé à 11.04. Problèmes. Une fois la mise à niveau terminée, j'ai redémarré mon ordinateur comme il me l'avait dit également. Lorsque j'ai dépassé Ubuntu 11.04 (points orange fond violet), il est simplement allé au terminal et m'a demandé de me connecter. J'ai essayé de redémarrer le serveur X avec "sudo service gdm restart" mais aucun affichage n'apparaissait. Il m'est arrivé d'avoir quelques pilotes NVIDIA dans mon fichier de téléchargement, aussi je les ai essayés, mais le "script d'installation" a échoué.

Après tout cela, j’ai démarré Ubuntu en mode graphique sans échec. J'ai alors décidé de voir ce qui se passerait si je supprimais le pilote propriétaire. Après cela, redémarrez Ubuntu en mode graphique "yay!". Donc, sans les pilotes Nvidia, je peux enfin voir autre chose qu'un terminal, mais j'ai besoin de ces pilotes NVIDIA pour mon travail. Alors qu'est-ce que je peux faire? J'ai essayé d'installer les nouveaux pilotes Linux NVIDIA à partir du site Web de NVIDIA et j'ai essayé d'installer le pilote recommandé via des "pilotes supplémentaires", mais ces deux logiciels ont bloqué mon terminal.

Si vous pouvez m'aider ou me donner des conseils, VEUILLEZ FAIRE! Je suis vraiment dans une très mauvaise situation ...

Sixième
la source
2
Avez-vous d'abord supprimé le fichier /etc/X11/xorg.conf, puis redémarré, puis essayé d'activer la version Pilotes supplémentaires du pilote NVIDIA?
fossfreedom
1
Je rencontre le même problème. J'active le pilote, me déconnecte et vois "Aucun périphérique trouvé" dans X log. Si je supprime xorg.conf, X démarre sans le support GLX. Modprobe dit que le nvidiapilote est chargé.
Vissi
Non, je n'ai pas supprimé le fichier Xorg.conf. Je suis le problème même que vous parlez. C'est terrible.
Sixthlaw le
Recommandez de lire ce guide: askubuntu.com/questions/61396/…
Luis Alvarado

Réponses:

30

Vous devrez démarrer en mode de récupération, puis émettre apt-get remove --purge nvidia-currentsur le terminal racine, suivi de apt-get install nvidia-current- pour reconstruire le pilote nvidia pour le nouveau noyau. J'ai eu ce problème aussi quand j'ai mis à jour.

Veuillez ne pas installer les pilotes du site Web de nVidia, en fait! Vous pourriez causer de graves problèmes si vous tentiez ensuite d'installer le pilote recommandé ultérieurement sans supprimer proprement le précédent.

Edit: vous devrez exécuter ces commandes depuis un terminal. Je ne peux pas garantir un résultat parfait, car je me base sur ce que j'ai trouvé via Internet et de mémoire.

Le problème que vous obtenez est dû au fait que les composants du mode utilisateur et les modules du noyau sont différents. Pour résoudre ce problème, le module du noyau nvidia doit être reconstruit. Ceci est supposé se produire lors du redémarrage, mais souvent pas.

Vous devez d’abord installer les en-têtes du noyau Linux:

  • sudo apt-get install linux-headers-generic

Ensuite, vous devrez exécuter dkms pour supprimer l’ancien module de noyau nvidia:

  • sudo dkms remove nvidia

Puis lancez:

  • sudo apt-get install nvidia-current
  • cela devrait le faire installer correctement, de sorte que tout ce que vous avez à faire est de lancer sudo nvidia-xconfig and reboot.
  • Si vous rencontrez toujours une erreur concernant la version du module, exécutez: sudo dkms build nvidia

Cela devrait résoudre le problème.

Désolé si les choses sont un peu déroutantes, j'ai essayé de reconstituer le processus que je devais utiliser au mieux de ma mémoire :)! Si vous rencontrez des problèmes, n'hésitez pas à me le faire savoir (et si quelqu'un remarque un problème avec les instructions, merci de me le signaler au plus vite) !!!!


Mise à jour:

J'ai trouvé une autre cause possible. Nouveau n'a peut-être pas été mis sur la liste noire et nvidia-current peut ne pas s'être insérée dans le fichier .conf utilisé pour choisir votre pilote d'affichage. Voici comment résoudre ce problème:

NB:

Avant de continuer, assurez-vous de disposer du pilote nvidia-current des référentiels. Le téléchargement du pilote depuis le site Web de nvidia peut poser des problèmes plus tard, car il n’utilise pas le format de paquet Debian et laisse des traces qui pourraient entrer en conflit avec des installations ultérieures. Assurez-vous d’abord d’en effacer toute trace, puis installez le pilote standard à partir du dépôt Ubuntu. Si vous ne le faites pas, vous obtiendrez une incompatibilité de pilote, et ce correctif sera inutile.

  • Si vous êtes bloqué sur la console, connectez-vous et installez le pilote nouveau X.org: sudo apt-get install xserver-xorg-video-nouveau
  • Redémarrez votre ordinateur (vous aurez des graphiques fonctionnels, mais ce n'est que temporaire).
  • Ouvrez gedit en tant que root: gksu gedit.
  • De gedit ouvert /etc/modprobe.d/blacklist.conf.
  • Ajoutez cette ligne au bas: blacklist nouveau.
  • Enregistrez le fichier et ouvrez-le /etc/modprobe.d/nvidia-graphics-drivers.conf.
    • Ajoutez ces lignes:

      liste noire nouveau
      liste noire lbm-nouveau
      liste noire nvidia-173
      liste noire nvidia-96
      alias nvidia nvidia-current

  • Sauvegardez maintenant ce fichier et fermez gedit.
  • Courir:
    • sudo nvidia-xconfig,
    • et alors:
    • sudo apt-get remove xserver-xorg-video-nouveau,
    • suivi par:
    • sudo shutdown -r now.
  • Lorsque votre système redémarre, vous devez disposer de pilotes nvidia opérationnels.
Soit dit en passant, ce problème de non-inscription de liste noire nouveau semble exister dans les nouveaux pilotes (nvidia-current), je vous suggère donc, après avoir résolu le problème, d'attendre une mise à jour de ce bogue (je vais signaler le bogue prochainement ).

Autre solution: si vous avez installé les pilotes NVIDIA à partir de leur site Web, vous devez démarrer à l’aide d’un terminal texte (maintenez-le au démarrage pour afficher le menu contextuel et sélectionnez le mode «récupération» de la version du noyau qui fonctionnait avec les pilotes NVIDIA, et sélectionnez la ligne de commande en tant qu'option root)

Exécutez ensuite le script d’installation d’origine NVIDIA que vous avez exécuté pour installer les pilotes NVIDIA à partir de leur site Web. par exemple sudo ./NVIDIA-Linux-x86-290.10.run --uninstall. (Votre version peut différer.)

Vous n'avez pas besoin d'exécuter la commande "sudo dkms remove nvidia", car cela ne s'applique pas à votre cas.

RolandiXor
la source
J'ai essayé cela mais quand j'ai redémarré, encore une fois, il n'a montré que le terminal. J'ai essayé sudo startx dans le terminal et j'ai reçu ces messages, entre autres: ERREUR: incompatibilité d'API: le module de noyau NVIDIA a la version 260.19.36, le composant de pilote NVIDIA a la version 270.41.06. Assurez-vous que le module du noyau et tous les composants du pilote nvidia ont la même version.
Sixthlaw le
J'ai aussi eu ceci: Erreur de serveur fatale, aucun écran trouvé.
Sixthlaw le
1
@Sixthlaw: ahhh - tenez-vous bien, c'est un problème de dkms, et c'est le même que j'ai eu. Vous devrez lancer la compilation dkms à partir de la ligne de commande (j'ai oublié la commande, attendez de la recevoir et je mettrai à jour ma réponse).
RolandiXor
1
sudo apt-get install nvidia current->sudo apt-get install nvidia-current
IanVaughan
1
Notez que l'invocation donnée de dkmsn'est prise en charge que par la version 11.10 ou plus récente. À partir de 11.04, vous devez également fournir les versions du module et du noyau ( man dkms).
Kynan
12

C'est pourquoi je recommande toujours d'installer Ubuntu en tant qu'installation propre au lieu d'effectuer une mise à niveau. Ceci n’est que mon opinion, mais j’ai toujours eu un problème lors de la mise à niveau. Aucun problème lors d'une installation propre.

Pour ce que j'ai lu par-dessus les autres réponses, vous avez installé le pilote Nvidia à partir du site Nvidia. Même si cela fonctionne bien, etc. NE LE FAITES PAS!. Celui qui vient dans les dépôts d'ubuntu a été testé et c'est celui qui est recommandé.

Dans votre cas, vous devrez faire plusieurs choses.

Étape 1 - Désinstallez le pilote nvidia que vous installez et ne l'installez plus jamais. Cela vous évitera d'avoir CE problème spécifique ... euh ... quelqu'un l'a aussi (Me;)) vous devez également supprimer les modules et les fichiers de configuration qu'il laisse derrière vous. Si je ne me trompe pas, les pilotes nvidia du site Web Nvidia ont un binaire de désinstallation. Exécutez-le et assurez-vous qu'il ne reste plus aucun fichier nvidia.

MISE À JOUR - Pour désinstaller un pilote Nvidia installé à partir du site Nvidia, l'une des options suivantes peut être utilisée:

  • Certains suggèrent de désinstaller en utilisant le même programme d'installation.
    Exemple: NVIDIA-Linux- x86-1.0-8178.run --uninstall
  • D'autres suggèrent d'utiliser l'installateur Nvidia.
    Exemple: nvidia-installer --uninstall

CONSEIL - Essayez de taper --help à la fin de l’exécutable binaire Nvidia pour voir s’il affiche de l’aide. Des pages telles que https://help.ubuntu.com/community/NvidiaManual et http://www.nvnews.net/vbulletin/showthread.php?t=83678 donnent une idée de la procédure à suivre pour désinstaller le pilote Nvidia du site Nvidia.

Étape 2 - Redémarrez et vérifiez que vous n'avez rien laissé de nvidia. Supprimez le fichier xorg.conf car vous en ferez un nouveau assez tôt. Redémarrer.

Étape 3 - Installez les pilotes Nvidia recommandés. sudo apt-get install nvidia-currentou sudo apt-get reinstall nvidia-current(Si vous l'avez déjà installé. Je recommanderais de le désinstaller puis de l'installer à nouveau.)

Étape 4 - CRÉEZ le fichier xorg.conf pour le pilote recommandé par Nvidia. nvidia-xconfig. Cela créera le fichier xorg.con avec les options nécessaires pour votre carte vidéo nvidia. Redémarrez à nouveau.

Jusqu'à cette étape, j'aurais besoin d'un retour si vous aviez un problème. Pour une solution plus générale, n'hésitez pas à lire ce guide: Comment installer les pilotes Nvidia?

Luis Alvarado
la source
1
Toutes mes excuses, mais je ne sais pas exactement comment exécuter l'étape 1. Je ne semble pas pouvoir trouver le script de désinstallation dont vous parlez.
Sixthlaw
1
Pas de problème Sixthll. Laisse moi le trouver. Donnez-moi quelques minutes
Luis Alvarado
1
Mise à jour pour inclure une petite aide sur la façon de le supprimer. S'il vous plaît laissez-moi savoir si cela aide et quelle aide a fait le tour.
Luis Alvarado
1
Ce n'est pas une solution, si je veux installer certains pilotes, la solution n'est pas d'installer autre chose. C'est comme résoudre le problème de Java en disant: n'utilisez pas Java, utilisez Python. J'ai le même problème (incompatibilité de version de module de noyau) mais j'ai vraiment besoin de ce devdriver de NVIDIA CUDA.
Skrat
1
Je ne dis pas d'installer autre chose. Je dis que le plus compatible dans ce cas est celui fourni avec Ubuntu. Il a été prouvé à maintes reprises que cela posait moins de problèmes, qu'il était plus convivial lors d'une mise à jour / mise à niveau et que vous disposiez de plus de documentation et de commentaires de la part de la communauté. Si je devais parler de java, je recommanderais openjdk pour de nombreuses raisons, pour python celle qui est livrée par défaut car elle a déjà été testée et ainsi de suite. Vous comprenez mon point ici devine.
Luis Alvarado
7

J'ai également eu un problème avec les pilotes nvidia, et j'ai tout fait pour trouver (également dans les autres réponses):

  • supprimer les pilotes précédemment installés et installer à nouveau
  • démarrer failsafeXet activer le pilote
  • en utilisant le pilote précédent ( 173)
  • J'ai ajouté UNITY_FORCE_START=1à /etc/environmentcomme mentionné ici (comme GeForce 7300/7400 sont sur la liste noire, mais j'ai un GeForce Go 7100)

Mais tout échouait. Donc, en dernier recours (j'aurais dû y penser plus tôt), j'ai enquêté sur les X-logfiles. À l'intérieur de mon /var/log/Xorg.0.logordinateur, j'ai constaté que nvidia avait des problèmes d'allocation de mémoire:

[    14.055] (EE) NVIDIA(0): Failed to allocate primary buffer: out of memory.
[    14.055] (EE) NVIDIA(0):  *** Aborting ***

Apparemment, il s’agit d’un bogue connu, et j’ai dû procéder comme suit pour résoudre ce problème:

  • modifier /etc/default/grub
  • trouver l'option GRUB_CMDLINE_LINUXet ajouter nopat, donc pour moi cela ressemblait

    GRUB_CMDLINE_LINUX="nopat"

  • courir sudo update-grub

Et puis, finalement, tout a bien fonctionné pour moi :) J'espère que ça aide.

Nathanvda
la source
Cela a parfaitement fait l'affaire, merci beaucoup! (Nvidia GeForce 9400 sur Natty 64 bits exécutant les pilotes "actuels")
dandelionmood
2

Notez que le noyau ci-dessous pointe vers une version antérieure d'Ubuntu. Le nouveau noyau avec Ubuntu 11.10 est 3.0.0.12. J'ai eu le même problème d'être mis en mode commande et Xserver échouant tout en ne pouvant pas trouver le pilote nvidia_173. J'ai ensuite réalisé que la mise à niveau n'avait pas mis à jour mon MBR pour qu'il pointe vers 3.0.0.12. J'ai utilisé EasyBCD pour mettre à jour le fichier, puis redémarré et tout allait bien. Ces types de pannes de conducteur peuvent se produire quand ils sont à des niveaux différents, bien sûr. Mon conseil, après la mise à niveau, assurez-vous que vous exécutez le nouveau noyau, initrd, vmlinuz, ... qu'est-ce que vous avez.

DKMS make.log for nvidia-current-270.41.06 for kernel 2.6.38-8-generic (x86_64)
Sat May 14 20:48:39 EDT 2011

The C compiler 'cc' does not appear to be able to
create executables.  Please make sure you have 
your Linux distribution's gcc and libc development
packages installed.

*** Failed CC sanity check. Bailing out! ***

make: *** [select_makefile] Error 1

J'ai découvert que le cc (alias pour gcc) utilisé dans mon / usr / bin n'était pas la même version que le gcc trouvé dans ce même répertoire, indépendamment de tous les packages de développement déjà installés sur ma machine. Je devais faire un lien symbolique pour pointer vers le fichier gcc.

sudo mv /usr/bin/cc /usr/bin/cc.old
sudo ln -s /usr/bin/gcc /usr/bin/cc

Après cela, la réinstallation du paquet nvidia-current a fait l'affaire pour moi.

Cordialement

Steven Rosato
la source
2

Ma mise à niveau 11.04 a également démarré uniquement sur une fenêtre de terminal. Puis j'ai trouvé ce site. J'ai commencé à faire ce que Roland Taylor avait recommandé, d'abord je l'ai fait

sudo apt-get install linux-headers-generic

Puis j'ai essayé de faire:

sudo dkms remove nvidia 

Mais il a échoué en se plaignant que la commande était incomplète, qu'il me fallait -met -vet la version

J'allais réessayer, mais j'ai remarqué que l'écran contenait les informations de journal de la première commande, notant qu'il avait été installé au nvidia-currentmoment de l'installation des en-têtes génériques. Donc je l'ai fait et le bureau X s'est bien passé. Donc, une seule commande a résolu mon problème d'installation.

Johngee
la source
0

Cela a fonctionné pour moi.

1) Passez au terminal F1 en appuyant sur Ctrl + Alt + F1.

2) Exécutez les commandes suivantes.

sudo /etc/gdm stop
sudo apt-get install linux-headers-$(uname -r) linux-image-$(uname -r)
wget -O /tmp/nvidia.run http://us.download.nvidia.com/XFree86/Linux-x86/280.13/NVIDIA-Linux-x86-280.13.run
# Make sure to allow the script to uninstall all existing drivers.
sudo sh /tmp/nvidia.run
sudo /etc/gdm start
Rune Kaagaard
la source
0

Si vous rencontrez également ce problème, assurez-vous qu'Optimus (technologie de commutation de carte graphique Nvidia) est désactivé dans le BIOS.

Sam Youtsey
la source