29
octobre
2025
20:48

Élimination des écarts lors de l'installation du pilote de la carte vidéo nVidia

29 octobre 2025 20:48

Résoudre le problème lors de l'installation du pilote nvidia-driver-390 à l'aide des commandes dpkg-divert.

Contexte

В Linux Lite 20.04 (OS domestique basé sur Ubuntu avec une interface légère) fonctionne chez moi et j'en suis satisfait (pour AMD Phenom(tm) II X3 710). Dans le système d'exploitation de la carte vidéo GF119 [GeForce GT 610], le pilote nvidia-driver-390 a été installé et a parfaitement fonctionné. Dans le terminal, j'ai exécuté la commande par erreur ubuntu-drivers install , которая удалила драйвер nvidia-driver-390 и попыталась установить ранее не выбранный пакет nvidia-340.

Raison

nvidia-340 est le pilote recommandé dans Ubuntu.

périphériques sudo ubuntu-drivers
== /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0 ==
modalités : pci:v000010DEd0000104Asv00001043sd0000847Bbc03sc00i00
fournisseur : NVIDIA Corporation
modèle : GF119 [GeForce GT 610]
pilote : nvidia-340 - tiers non libre recommandé
pilote : nvidia-driver-390 - tiers non libre
pilote : xserver-xorg-video-nouveau - distribution gratuite intégrée

Suite à l'exécution de la commande sudo ubuntu-drivers install, le pilote nvidia-340 n'a pas été installé en raison de l'erreur :

dpkg: error processing archive /var/cache/apt/archives/nvidia-340_340.108-0ubuntu5.20.04.2_amd64.deb (--unpack):
trying to overwrite "/usr/bin/nvidia-bug-report.sh" which is already in package nvidia-utils-390 390.157-0ubuntu0.20.04.1
pkg-deb: ошибка: вставка subprocess was killed by signal (Обрыв канала)
Des erreurs se sont produites lors du traitement des packages suivants :
/var/cache/apt/archives/nvidia-340_340.108-0ubuntu5.20.04.2_amd64.deb

The nvidia-driver-390 driver also failed to install due to another error:

sudo apt installer nvidia-driver-390

dpkg-divert : erreur : incompatibilité de paquet
lors de la désinstallation "/usr/lib/x86_64-linux-gnu/libGL.so.1 a été rejeté en raison de libnvidia-gl-390"
trouvé "déviation de /usr/lib/x86_64-linux-gnu/libGL.so.1 dans /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib en raison de nvidia-340"
dpkg : erreur de traitement de l'archive /tmp/apt-dpkg-install-NZZNFn/04-libnvidia-gl-390_390.157-0ubuntu0.20.04.1_amd64.deb (--unpack) :
le nouveau sous-processus de script de pré-installation du package libnvidia-gl-390 :amd64 a renvoyé l'état de sortie d'erreur 2

Donc la commande ubuntu-drivers install j'ai désinstallé un pilote et je n'ai pas pu en installer un autre.

Essayer de restaurer des packages cassés n'a pas aidé.

sudo apt --fix-broken install

dpkg-divert : erreur : incompatibilité de paquet
lors de la désinstallation "/usr/lib/x86_64-linux-gnu/libGL.so.1 a été rejeté en raison de libnvidia-gl-390"
trouvé "déviation de /usr/lib/x86_64-linux-gnu/libGL.so.1 dans /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib en raison de nvidia-340"

Solution

Étudier les erreurs

Grâce à la sortie des commandes, j'ai appris la raison - quelques « écarts » dans les bibliothèques :

sudo apt installer nvidia-driver-390

dpkg-divert : erreur : incompatibilité de package
_lors de la suppression "déviation/usr/lib/x8664-linux-gnu/libGL.so.1 à cause de libnvidia-gl-390"
trouvé "déviation...

J'ai commencé à me renseigner et j'ai découvert une équipe que je ne connaissais pas dpkg-divert.

Aide sur le programme man dpkg-divert:

dpkg-divertir- remplacer la version du fichier du package

--list modèle-global
Список отклонений, соответствующих шаблону glob-pattern.

Répertorier les écarts à l'aide de dpkg-divert --list

dpkg-divert --list nvidia | grep nvidia-340

ou comme ça :

Si le système est sain, la liste doit être vide. Dans mon cas, des candidats à la correction sont apparus :

dpkg-divert --list | grep nvidia-340

rejet de /usr/lib/x86_64-linux-gnu/libEGL.so vers /usr/lib/x86_64-linux-gnu/libEGL.so.distrib en raison de nvidia-340
rejet de /usr/lib/i386-linux-gnu/libGLESv2.so.2 vers /usr/lib/i386-linux-gnu/libGLESv2.so.2.distrib en raison de nvidia-340
rejet de /usr/lib/x86_64-linux-gnu/libGLESv2.so.2 vers /usr/lib/x86_64-linux-gnu/libGLESv2.so.2.distrib en raison de nvidia-340
rejet de /usr/lib/i386-linux-gnu/libGLESv1_CM.so.1 vers /usr/lib/i386-linux-gnu/libGLESv1_CM.so.1.distrib en raison de nvidia-340
rejet de /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so vers /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.distrib en raison de nvidia-340
rejet de /usr/lib/x86_64-linux-gnu/libEGL.so.1 vers /usr/lib/x86_64-linux-gnu/libEGL.so.1.distrib en raison de nvidia-340
rejet de /usr/lib/i386-linux-gnu/libGLESv2.so vers /usr/lib/i386-linux-gnu/libGLESv2.so.distrib en raison de nvidia-340
rejet de /usr/lib/i386-linux-gnu/libEGL.so vers /usr/lib/i386-linux-gnu/libEGL.so.distrib en raison de nvidia-340
rejet de /usr/lib/i386-linux-gnu/libGL.so vers /usr/lib/i386-linux-gnu/libGL.so.distrib en raison de nvidia-340
rejet de /usr/lib/x86_64-linux-gnu/libGL.so.1 vers /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib en raison de nvidia-340
rejet de /usr/lib/x86_64-linux-gnu/libGL.so vers /usr/lib/x86_64-linux-gnu/libGL.so.distrib en raison de nvidia-340
rejet de /usr/lib/i386-linux-gnu/libGLESv1_CM.so vers /usr/lib/i386-linux-gnu/libGLESv1_CM.so.distrib en raison de nvidia-340
rejet de /usr/lib/i386-linux-gnu/libEGL.so.1 vers /usr/lib/i386-linux-gnu/libEGL.so.1.distrib en raison de nvidia-340
rejet de /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1 vers /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.distrib en raison de nvidia-340
rejet de /usr/lib/x86_64-linux-gnu/libGLESv2.so vers /usr/lib/x86_64-linux-gnu/libGLESv2.so.distrib en raison de nvidia-340
rejet de /usr/lib/i386-linux-gnu/libGL.so.1 vers /usr/lib/i386-linux-gnu/libGL.so.1.distrib en raison de nvidia-340

Correction des écarts

J'ai systématiquement corrigé tous les « écarts » à l'aide des commandes :

sudo dpkg-divert --remove --no-rename /usr/lib/x86_64-linux-gnu/libEGL.so
sudo dpkg-divert --remove --no-rename /usr/lib/i386-linux-gnu/libGLESv2.so.2
sudo dpkg-divert --remove --no-rename /usr/lib/x86_64-linux-gnu/libGLESv2.so.2
sudo dpkg-divert --remove --no-rename /usr/lib/i386-linux-gnu/libGLESv1_CM.so.1
sudo dpkg-divert --remove --no-rename /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so
sudo dpkg-divert --remove --no-rename /usr/lib/x86_64-linux-gnu/libEGL.so.1
sudo dpkg-divert --remove --no-rename /usr/lib/i386-linux-gnu/libGLESv2.so
sudo dpkg-divert --remove --no-rename /usr/lib/i386-linux-gnu/libEGL.so
sudo dpkg-divert --remove --no-rename /usr/lib/i386-linux-gnu/libGL.so
sudo dpkg-divert --remove --no-rename /usr/lib/x86_64-linux-gnu/libGL.so.1
sudo dpkg-divert --remove --no-rename /usr/lib/x86_64-linux-gnu/libGL.so
sudo dpkg-divert --remove --no-rename /usr/lib/i386-linux-gnu/libGLESv1_CM.so
sudo dpkg-divert --remove --no-rename /usr/lib/i386-linux-gnu/libEGL.so.1
sudo dpkg-divert --remove --no-rename /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
sudo dpkg-divert --remove --no-rename /usr/lib/x86_64-linux-gnu/libGLESv2.so
sudo dpkg-divert --remove --no-rename /usr/lib/i386-linux-gnu/libGL.so.1

J'ai également corrigé l'écart principal :

sudo dpkg-divert --remove --no-rename /usr/lib/x86_64-linux-gnu/libGL.so

où sont les clés :

--remove supprime un écart d'un fichier...
--no-rename spécifie de remove plutôt que de renommer l'écart (pertinent pour les packages importants qui devraient disparaître de manière fiable de la base de données dpkg).

Réinstallation du package : maintenant réussie

sudo apt install --reinstall libnvidia-gl-390

Lecture des listes de paquets... Terminé
Construire un arbre de dépendances
Lecture des informations d'état... Terminé
Les NOUVEAUX packages suivants seront installés :
libnvidia-gl-390

etc

DKMS : installation terminée.
Le package xserver-xorg-video-nvidia-390 (390.157-0ubuntu0.20.04.1) est en cours de configuration...
Le package nvidia-driver-390 (390.157-0ubuntu0.20.04.1) est en cours de configuration...
Traitement des déclencheurs pour libc-bin (2.31-0ubuntu9.18) ...
Traitement des déclencheurs pour man-db (2.9.1-1) ...
Déclencheurs de traitement pour initramfs-tools (0.136ubuntu6.8) ...
update-initramfs : génération de /boot/initrd.img-5.4.0-216-lowlatency
I : Initramfs tentera de reprendre depuis /dev/sda7
Je : (UUID=7a17fe7e-acee-4c19-8641-1fdd39d0364d)
I : Définissez la variable RESUME pour remplacer cela.

Redémarrer

Maintenant que le pilote est installé et que le pilote de la carte vidéo a été ajouté au noyau dkms, j'ai redémarré :

sudo shutdown --reboot now

sudo shutdown --arrêter maintenant

ou

sudo poweroff --reboot

sudo poweroff --halt

Résultat - Travaux 2D

Le système d'exploitation est chargé et les graphiques 2D fonctionnent correctement.


Source :https://forum.ubuntu.ru/index.php?topic=301381.0


Ajout : bibliothèque d'accélération vidéo

Vérification de l'accélération vidéo : commande vainfo

vainfo

Il ne devrait y avoir aucune erreur, dans la sortie de ma commande, il y a une erreur indiquant que Libva ça ne marche pas.

informations libva : VA-API version 1.7.0
info libva : tentative d'ouverture de /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
info libva : va_openDriver() renvoie -1
vaInitialize a échoué avec le code d'erreur -1 (erreur libva inconnue), quittez

Conçu pour accélérer la vidéo

sudo apt install mesa-va-drivers mesa-vdpau-drivers

L'ancien Ununtu Linux nécessite vdpau-va-driver, qui n'est pas là.

sudo apt installer vdpau-va-driver

E : Aucun candidat à l'installation n'a été trouvé pour le package « vdpau-va-driver ».

Solution d'accélération vidéo pour vdpau dans Ubuntu 20.04

https://launchpad.net/ubuntu/cosmic/amd64/vdpau-va-driver/0.7.4-6ubuntu1

Commande à installer depuis le répertoire où le fichier est téléchargé :

sudo dpkg -i vdpau-va-driver_0.7.4-6ubuntu1_amd64.deb

Checking vainfo

vainfo

Résultat :

infos libva : VA-API version 1.7.0
info libva : tentative d'ouverture de /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
info libva : fonction d'initialisation trouvée __vaDriverInit_1_0
info libva : va_openDriver() renvoie 0
vainfo : version VA-API : 1.7 (libva 2.6.0)
vainfo : Version du pilote : Backend VDPAU de Splitted-Desktop Systems pour VA-API - 0.7.4
vainfo : profil et points d'entrée pris en charge
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG4Simple            : VAEntrypointVLD
      VAProfileMPEG4AdvancedSimple    : VAEntrypointVLD
                     : VAEntrypointVLD
    VAProfileH264Main : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointVLD
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD

Lorsque vous commencez à lire une vidéo FullHD depuis n'importe quel site, par exemple,Viméo, charge CPU 56%.

Ensuite, j'ai appliqué le paramètre Mozilla Firefox pour accélérer le navigateur - article activer l'accélération matérielle dans le navigateur FireFox. Activation du paramètre media.hardware-video-decoding.enabled = true dans about:config - charge du processeur 50-65 %.



Publications connexes