Instalando drivers nvidia em 18.04

9

tudo. Eu estou tentando consertar meu sistema para que eu possa instalar os drivers nvidia, mas parece ficar preso por algum motivo. Eu tentei remover manualmente os arquivos baixados 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

... para permitir que eles façam o download novamente, mas sem sucesso. Alguém já tentou instalar esses drivers em 18.04 ultimamente?

~$ 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)
    
por Jarl Arntzen 12.05.2018 / 19:53

4 respostas

14

Encontrei este comando em fóruns do Ubuntu, funcionou muito bem comigo:

Executar:

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

O primeiro comando removerá todos os pacotes desviados de nvidia-340 . Se você tiver outra versão nvidia "desvio" alterá-lo; leia o código de erro para saber qual versão está desviando.

Fonte: link kudos a stutteringp0et2:)

    
por Lucas Serafim 29.05.2018 / 22:14
5

Eu resolvi o problema removendo o desvio da nvidia-340. Espero não precisar usar nvidia-340 . A seguir, um exemplo:

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

Você pode continuar removendo sempre que tiver um conflito.

    
por youbaji 20.05.2018 / 03:18
4

Aqui está a resposta completa em outro fórum

A premissa básica da resposta é:

  1. você tem dependências antigas que deseja remover
  2. você quer limpar a bagunça
  3. você deseja instalar o novo driver

Eu suponho que você tenha o cr * p do driver 340 instalado - que foi o meu problema

  1. remova as dependências antigas

    LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*//p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
    
  2. bagunça limpa - depende da bagunça que você instalou, descubra se não funcionar imediatamente;)

    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. instale novos drivers recomendados

    ubuntu-drivers devices
    nvidia-settings
    

Meu conselho é:
não brinque com as configurações neste cr * ppy drivers apenas para verificar se instalado:)

    
por Jake Grabowski 02.09.2018 / 22:22
1

Eu gostaria de executar o auto-clean e ver se é o que eu acho que é, um pacote bagunçado.

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

edit: para responder a sua outra pergunta, quando eu instalei o 18.04 no outro dia, 390 funcionou bem, mas ir para o 396 foi um pouco "divertido". Isso consertou para mim.

    
por Andrew Schott 12.05.2018 / 22:32