Installation des pilotes nvidia le 18.04


31

tout. J'essaie de réparer mon système pour pouvoir installer les pilotes nvidia, mais il semble se bloquer pour une raison quelconque. J'ai essayé de supprimer manuellement les fichiers téléchargés de

/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb

... afin de les laisser télécharger à nouveau mais en vain. Quelqu'un a-t-il essayé d'installer ces pilotes le 18.04 récemment?

~$ sudo apt --fix-broken install
[sudo] password for jarl: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  lib32gcc1 libc6-i386
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libnvidia-gl-390 libnvidia-gl-390:i386
The following NEW packages will be installed
  libnvidia-gl-390 libnvidia-gl-390:i386
0 to upgrade, 2 to newly install, 0 to remove and 4 not to upgrade.
3 not fully installed or removed.
Need to get 0 B/29,1 MB of archives.
After this operation, 147 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 214344 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_i386.deb ...
diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
  when removing 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb (--unpack):
 new libnvidia-gl-390:i386 package pre-installation script subprocess returned error exit status 2
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_amd64.deb ...
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
  when removing 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb (--unpack):
 new libnvidia-gl-390:amd64 package pre-installation script subprocess returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb
 /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Essayez de nettoyer tout le cache avec sudo apt-get cleanet réessayez.
Karl Richter

après que la sudo apt-get cleanmême chose se passe encore pour moi
Pim Heijden

Réponses:


75

Trouvé cette commande sur les forums ubuntu, a très bien fonctionné avec moi:

Courir:

LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*/\1/p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
sudo apt --fix-broken install

La première commande supprimera tous les packages détournés de nvidia-340. Si vous avez une autre version de nvidia "détournant", changez-la; lire le code d'erreur pour savoir quelle version détourne.

Source: https://ubuntuforums.org/showthread.php?t=2388026&p=13761809#post13761809 bravo à stutteringp0et2 :)


2
Si vous n'utilisez pas Ubuntu en anglais, il y aura un changement auquel vous devrez changer le numéro en awk '{print $3}'quelque chose d'autre, par exemple j'ai dû le changer en awk '{print $2}'. Ou vous pouvez changer les paramètres régionaux en anglais ( for FILE in $(LANG=en dpkg-divert --list | grep nvidia-340 | awk '{print $3}'); do dpkg-divert --remove $FILE; done).
Petr R.

2
Vous m'avez sauvé de mon agonie, j'ai créé un compte ici juste pour voter
Primusa

14

Voici la réponse complète dans un autre forum

La prémisse de base de la réponse est:

  1. vous avez d'anciennes dépendances que vous souhaitez supprimer
  2. vous voulez nettoyer le gâchis
  3. vous souhaitez installer un nouveau pilote

Je suppose que vous avez installé cr * p du pilote 340 - ce qui était mon problème

  1. supprimer les anciennes dépendances

    LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*/\1/p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
  2. nettoyer le gâchis - en fonction du désordre que vous avez installé, découvrez-le s'il ne fonctionne pas hors de la boîte;)

    sudo dpkg --force-all -P nvidia-390 nvidia-compute-utils-390 nvidia-dkms-390 nvidia-prime nvidia-settings nvidia-opencl-icd-340 nvidia-opencl-icd-384 nvidia-kernel-source-390 nvidia-kernel-common-390 libnvidia-cfg1-390 libnvidia-common-390 libnvidia-compute-390 libnvidia-decode-390 libnvidia-encode-390  libnvidia-fbc1-390 libnvidia-ifr1-390
    sudo apt purge --autoremove '*nvidia*'
    sudo apt-get update
    sudo apt-get upgrade
    
  3. installer de nouveaux pilotes recommandés

    ubuntu-drivers devices
    nvidia-settings
    

Mon conseil est:
ne jouez pas avec les paramètres de ce pilote cr * ppy juste pour vérifier s'il est installé :)


3
Veuillez ne pas suggérer dpkg --force-allsans bonne raison! Les avortements rencontrés en cas d'erreur sont destinés à protéger l'intégrité du système de gestion des packages et ne doivent pas être supprimés sans réflexion ni précaution! -1
David Foerster

Cela marche. Je dois commenter: j'ai détecté que ce problème survient lorsque l'écran 4k est utilisé - alors vous avez des problèmes de démarrage. Comment j'ai détecté: rebranchez l'ancien moniteur et il a démarré facilement
Vic Nicethemer

J'ai fait # 1 et puis sudo apt install -fet sudo apt upgrade. travaillé.
ICE

Pourquoi cette réponse est-elle presque la même que celle de Lucas Serafim?
Pim Heijden

6

J'ai résolu le problème en supprimant le renvoi du nvidia-340. j'espère que je n'ai pas besoin d'utiliser nvidia-340. Voici un exemple:

dpkg-divert --package nvidia-340 --remove /usr/lib/i386-linux-gnu/libGL.so.1

Vous pouvez continuer à supprimer chaque fois que vous avez un conflit.


Merci beaucoup! Au début, il semble que cela ne fonctionne pas, mais si nous continuons d'essayer et de supprimer, cela finit par résoudre. Merci encore.
Gaurav Gandhi

Un grand merci! Je ne pouvais pas surmonter ce problème sans savoir que je pouvais modifier la liste dpkg-divert pour le nvidia-340 junk. Vous
basculez

2

Je lancerais apt auto-clean et voir si c'est ce que je pense que c'est, un paquet foiré.

sudo apt auto-clean
sudo apt update
sudo apt upgrade
sudo apt install nvidia-driver-390 libvulkan1

edit: pour répondre à votre autre question, quand j'ai installé le 18.04 l'autre jour, 390 fonctionnait bien, mais aller au 396 était un peu "amusant". Cela m'a arrangé.


Merci beaucoup. Voici ce que j'ai obtenu: (Je pense que je pourrais faire une réinstallation propre): ~ $ sudo apt upgrade Lecture des listes de paquets ... Terminé Construction de l'arborescence des dépendances Lecture des informations d'état ... Terminé Vous voudrez peut-être exécuter 'apt - -fix-broken install 'pour les corriger. Les packages suivants ont des dépendances non satisfaites. libnvidia-ifr1-390: dépend: libnvidia-gl-390 mais il n'est pas installé libnvidia-ifr1-390: i386: dépend: libnvidia-gl-390: i386 mais il n'est pas installé nvidia-driver-390: dépend: libnvidia- gl-390 (= 390.48-0ubuntu3) mais il n'est pas installé ....
Jarl Arntzen

.... Recommends: libnvidia-gl-390:i386 (= 390.48-0ubuntu3) E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Jarl Arntzen

1

Exécutez ceci en premier,

Solution #for FILE in $(dpkg-divert --list | grep nvidia-340 | awk '{print $3}'); do dpkg-divert --remove $FILE; done

Ensuite, installez-le à partir de ppa,

sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt update 
sudo apt install nvidia-390

cela a fonctionné pour moi sur Ubuntu 18.04 LTS


Le nvidia-driver-390 est dans les référentiels Ubuntu 18.04 par défaut, alors à quoi bon ajouter un PPA?
karel
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.