Question Boucle de connexion probablement due aux pilotes NVIDIA avec CUDA installé


Il y a quelques jours, j'ai couru un sudo apt update + upgrade sur mon Ubuntu 16.04. Je ne l'avais pas fait depuis environ 2 mois. En attendant, j'avais changé ma carte graphique d'une GTX 1060 à une GTX 1070.

Lorsque j'ai essayé de me connecter aujourd'hui, j'ai découvert que j'avais entré une boucle de connexion infinie. C'est le contenu de mon xsessions-errors bûche:

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  155 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0x3d0
  Serial number of failed request:  46
  Current serial number in output stream:  46
openConnection: connect: No such file or directory
cannot connect to brltty at :0
[...]

En regardant les réponses prometteuses à cette question, J'ai essayé ce qui suit:

  1. Vérifiez la propriété de .Xauthority m'appartient et non root (ça m'appartient)
  2. Reconfigurer lightdm
  3. Réinstaller lightdm
  4. Vérifiez si mon /home/ est plein (utilisation à 44%)

tout sans succès. Ensuite, j'ai commencé à croire que mon problème réside dans une mise à jour de pilotes NVIDIA, car j'ai lu plusieurs sources sur divers sites Web, expliquant qu'il s'agissait d'un problème commun. Cela vaut la peine d'ajouter que je n'ai apporté aucune modification récente à ./profile ou similaire, et ne jamais exécuter la commande startx dans ma vie.

J'ai trouvé ces solutions potentielles à mon problème qui tournent autour des pilotes NVIDIA:

  • installer nvidia-current pilotes (plus anciens que les derniers pris en charge par NVIDIA) tel que proposé ici;
  • réinstaller les pilotes NVIDIA en cours d'exécution nvidia-installer.sh comme proposé ici;

Mon problème est que sur mon ordinateur, j'ai passé des dizaines d'heures à configurer CUDA, dans un équilibre délicat avec les pilotes NVIDIA et divers packages. Pour installer CUDA, j'ai également dû installer une version du noyau Ubuntu spécifique (4.4).

Y a-t-il une chance que mon environnement CUDA se brise si je touche les pilotes? Y a-t-il autre chose que je pourrais essayer de résoudre le problème?


0
2017-08-26 14:42


origine




Réponses:


La solution consiste à réinstaller le pilote et à reconfigurer lightdm également. Dans le pire des cas, vous devrez réinstaller CUDA mais essayez de réinstaller le pilote en téléchargeant le programme d'installation à partir de nvidia (le script shell).

Y a-t-il une chance que mon environnement CUDA se brise si je touche les pilotes? Y a-t-il autre chose que je pourrais essayer de résoudre le problème?

Pas nécessairement. Tant que vos chauffeurs sont en place. nvcc devrait fonctionner correctement.


0
2017-08-28 10:41



J'ai finalement résolu le problème hier soir et j'ai fini par réinstaller les pilotes (en fait, ils sont passés de la version 387 à la version 390). Pourriez-vous encore élaborer sur le 'script shell'? J'ai suivi celles-ci instructions mais lisez quelque part sur le forum de CUDA que ce n'est pas un dépôt officiel de NVIDIA et que je me suis aperçu que c'était en fait assez en retard dans la version. - raggot
désolé je voulais dire le courir fichier - Pradeep Kumar
Si vous pouvez lister les instructions telles que wget ... et run ... Je vais accepter votre réponse. Je suis obligé de consolider les opérations - raggot
wget ce et essayez d'installer en définissant quiet splash nomodeset. - Pradeep Kumar


Pour d'autres personnes confrontées à mon même problème, je suggère d'essayer les éléments suivants:

mv .Xauthority .Xauthority-backup

qui renomme .Xauthority et force la création d'un nouveau à la prochaine tentative de connexion. Si le problème se posait là-bas, alors la connexion fonctionnerait.

Dans mon cas, cependant, ce qui marchait réellement était ce que je craignais de faire, à savoir réinstaller les pilotes NVIDIA. Pour les utilisateurs de CUDA, la version du pilote à installer est définie par le Documentation. Dans mon cas, comme j'avais CUDA 9.1, c'est au moins la version 390.46 du pilote (au moment où j'écris cette réponse, bien sûr).

J'ai suivi les instructions trouvées sur ce site réinstaller les pilotes nécessaires. J'ai également trouvé ce post de la Forum CUDA, écrit par un modérateur, expliquant comment sur son expérience d'utilisation de cette source pour les pilotes ne fonctionne pas toujours, car ils ne sont pas officiellement publiés par NVIDIA. Dans mon cas, ça marchait encore et je le partage donc.

Tout d'abord, supprimez les pilotes NVIDIA installés:

sudo apt-get purge nvidia*

Ajoutez le référentiel du pilote graphique:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

Ensuite, installez la version correcte des pilotes (dans mon cas, xxx = 390)

sudo apt install nvidia-xxx

et enfin

reboot

Le problème de connexion devrait maintenant être résolu. Dans mon cas, l’environnement CUDA n’a pas être affecté et tout mon projet fonctionnait toujours normalement.


0
2017-08-28 15:05



390.48 est le pilote actuel 390 des référentiels standard, pas besoin des pilotes graphiques ppa. Le nom du package est nvidia-driver-390 (plus sous la forme nvidia-xxx). - ubfan1
@ ubfan1 Ah, merci. Alors, quelle commande dois-je utiliser pour l'installer correctement? - raggot
Nettoyez tous les paquets nvidia précédents et les logiciels et mises à jour, vérifiez les sources (je pense que l'univers est celui qui est nécessaire), puis sous l'onglet Pilotes supplémentaires, laissez-le analyser et sélectionnez celui qui dit "testé", ou le dernier si un testée n'est pas disponible. - ubfan1
@ ubfan1 Merci Si vous êtes prêt à écrire une réponse avec les commandes à taper, je serai ravi de l’accepter. - raggot
Une recherche sur ce site donne déjà de nombreuses réponses correctes au problème de la boucle de connexion Nvidia, mais vous pouvez accepter votre propre réponse car cela a fonctionné pour vous. - ubfan1