Ubuntu 16.04 vê placa Nvidia, mas não reconhece drivers restritos

3

Meta

Estou tentando usar o CUDA no meu cartão nvidia para pesquisa. Eu não me importo em usá-lo para gerenciar minha exibição , já que planejo usar o computador somente via bash-shell depois de terminar de configurá-lo.

Problema

Minha placa de vídeo não é reivindicada pelo Ubuntu. Salte para o loop de login após o login.

Antecedentes

Eu sou um estudante de phd de ciência da computação linux-savy, usuário avançado, mas estou perplexo tentando obter a minha placa de vídeo NVIDIA gtx 1070Ti para trabalhar. Eu tenho estado em todos os domingos há mais de dois meses.

Eu segui estes tutoriais:

https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia
https://help.ubuntu.com/community/BinaryDriverHowto
https://kislayabhi.github.io/Installing_CUDA_with_Ubuntu/
https://askubuntu.com/a/760935/13693
https://askubuntu.com/a/937204/13693
http://docs.nvidia.com/cuda/cuda-installation-guide-linux

Instalando nvidia-current ou nvidia-387 (o padrão escolhido quando o ubuntu instalado) ou o mais recente nvidia-390 resulta em um loop de inicialização no qual eu sou devolvido para a tela de login após o login.

Então usei prime-select intel e removi o modeset=0 blacklist para chegar a uma área de trabalho. Então abaixo está uma revisão do meu status atual:

$uname-aLinuxdatalake24.13.0-36-generic#40~16.04.1-UbuntuSMPFriFeb1623:25:58UTC2018x86_64x86_64x86_64GNU/Linux$lspci|grepVGA03:00.0VGAcompatiblecontroller:NVIDIACorporationDevice1b82(reva1)08:00.0VGAcompatiblecontroller:MatroxElectronicsSystemsLtd.G200eR2(rev01)$sudolshw-Cvideo*-displayUNCLAIMEDdescription:VGAcompatiblecontrollerproduct:NVIDIACorporationvendor:NVIDIACorporationphysicalid:0businfo:pci@0000:03:00.0version:a1width:64bitsclock:33MHzcapabilities:pmmsipciexpressvga_controllercap_listconfiguration:latency=0resources:iomemory:33f0-33efiomemory:33f0-33efmemory:91000000-91ffffffmemory:33fe0000000-33fefffffffmemory:33ff0000000-33ff1ffffffioport:2000(size=128)memory:92080000-920fffff$aptlist--installed|grep"nvidia"

nvidia-387/unknown,now 387.26-0ubuntu1 amd64 [installed]
nvidia-387-dev/unknown,now 387.26-0ubuntu1 amd64 [installed,automatic]
nvidia-cuda-dev/xenial,now 7.5.18-0ubuntu1 amd64 [installed,automatic]
nvidia-cuda-doc/xenial,xenial,now 7.5.18-0ubuntu1 all [installed,automatic]
nvidia-cuda-gdb/xenial,now 7.5.18-0ubuntu1 amd64 [installed,automatic]
nvidia-cuda-toolkit/xenial,now 7.5.18-0ubuntu1 amd64 [installed]
nvidia-modprobe/unknown,now 387.26-0ubuntu1 amd64 [installed,automatic]
nvidia-opencl-dev/xenial,now 7.5.18-0ubuntu1 amd64 [installed,automatic]
nvidia-opencl-icd-387/unknown,now 387.26-0ubuntu1 amd64 [installed,automatic]
nvidia-prime/xenial,now 0.8.2 amd64 [installed]
nvidia-profiler/xenial,now 7.5.18-0ubuntu1 amd64 [installed,automatic]
nvidia-settings/unknown,now 387.26-0ubuntu1 amd64 [installed,automatic]
nvidia-visual-profiler/xenial,now 7.5.18-0ubuntu1 amd64 [installed,automatic]

$ cat /proc/driver/nvidia/version
cat: /proc/driver/nvidia/version: No such file or directory

estranheza

Meu segundo problema parece ser que o Ubuntu não consegue reconhecer a necessidade de drivers para o meu cartão, mesmo que eu tenha habilitado drivers propiciatórios restritos.

sudosoftware-properties-gtknãomedánadatambém.

Minhaversãodogcc:

    
por Gabriel Fair 12.03.2018 / 03:26

2 respostas

2

Aqui está a solução alternativa:

1. editar /etc/default/grub

Modifique GRUB_CMDLINE_LINUX_DEFAULT para

GRUB_CMDLINE_LINUX_DEFAULT='pcie_port_pm=off acpi_backlight=none acpi_osi=Linux acpi_osi=! acpi_osi="Windows 2009"'

Este passo é prevenir a tela em branco após o login.

2. mover diretórios da biblioteca nvidia para /etc/ld.so.conf.d/nvidia.conf

O conteúdo de nvidia.conf é

/usr/lib/nvidia-390
/usr/lib32/nvidia-390

Esses diretórios dependem da versão do driver no seu computador.

3. crie /etc/init.d/nvidia

Para desativar e ativar bibliotecas de tempo de execução nvidia.

#!/bin/sh
### BEGIN INIT INFO
# Provides:          nvidia 
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     5
# Default-Stop:      0 6
# Short-Description: load/unload nvidia library
# Description:       load/unload nvidia library
### END INIT INFO

PRIME=$(prime-select query)
if [ "$PRIME" = "nvidia" ]; then
    exit 0
fi

case "$1" in
  start)
    sleep 10
    cd /etc/ld.so.conf.d
    mv nvidia.conf.bak nvidia.conf
    ldconfig
    nvidia-smi
    ;;
  stop)
    cd /etc/ld.so.conf.d
    mv nvidia.conf nvidia.conf.bak
    ldconfig
esac

4. executar update-rc.d nvidia defaults

Você deve encontrar SXXnvidia em /etc/rc5.d/ e KXXnvidia em /etc/rc6.d/ , /etc/rc0.d/ .

Tente executar /etc/init.d/nvidia stop e nvidia-smi , você verá mensagens de erro de bibliotecas não encontradas.

Tente executar /etc/init.d/nvidia start e, em seguida, nvidia-smi está bom novamente.

Se tudo estiver OK, você pode reiniciar agora. Espera-se que você faça login na área de trabalho.

5. Se algo der errado

O problema mais possível é o nvidia script não executado. Se isso acontecer, você pode pressionar Ctrl + Alt + F1 para o modo tty, executar /etc/init.d/nvidia stop; reboot . Então você pode voltar para a unidade desktop para depurar.

6. efeito colateral conhecido

Quando usar Intel como GPU principal, unity-control-center (configurações do sistema) não será iniciado.

GLib-CRITICAL **: g_strsplit: assertion 'string != NULL' failed.

Nota: minha especificação do sistema

# uname -r
4.13.0-32-generic
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:    16.04
Codename:   xenial
# dpkg -l | grep cuda
ii  cuda-9-0                                    9.0.176-1                                    amd64        CUDA 9.0 meta-package
ii  cuda-command-line-tools-9-0                 9.0.176-1                                    amd64        CUDA command-line tools
ii  cuda-core-9-0                               9.0.176-1                                    amd64        CUDA core tools
ii  cuda-cublas-9-0                             9.0.176.1-1                                  amd64        CUBLAS native runtime libraries
ii  cuda-cublas-dev-9-0                         9.0.176.1-1                                  amd64        CUBLAS native dev links, headers
ii  cuda-cudart-9-0                             9.0.176-1                                    amd64        CUDA Runtime native Libraries
ii  cuda-cudart-dev-9-0                         9.0.176-1                                    amd64        CUDA Runtime native dev links, headers
ii  cuda-cufft-9-0                              9.0.176-1                                    amd64        CUFFT native runtime libraries
ii  cuda-cufft-dev-9-0                          9.0.176-1                                    amd64        CUFFT native dev links, headers
ii  cuda-curand-9-0                             9.0.176-1                                    amd64        CURAND native runtime libraries
ii  cuda-curand-dev-9-0                         9.0.176-1                                    amd64        CURAND native dev links, headers
ii  cuda-cusolver-9-0                           9.0.176-1                                    amd64        CUDA solver native runtime libraries
ii  cuda-cusolver-dev-9-0                       9.0.176-1                                    amd64        CUDA solver native dev links, headers
ii  cuda-cusparse-9-0                           9.0.176-1                                    amd64        CUSPARSE native runtime libraries
ii  cuda-cusparse-dev-9-0                       9.0.176-1                                    amd64        CUSPARSE native dev links, headers
ii  cuda-demo-suite-9-0                         9.0.176-1                                    amd64        Demo suite for CUDA
ii  cuda-documentation-9-0                      9.0.176-1                                    amd64        CUDA documentation
ii  cuda-driver-dev-9-0                         9.0.176-1                                    amd64        CUDA Driver native dev stub library
ii  cuda-drivers                                390.12-1                                     amd64        CUDA Driver meta-package
ii  cuda-libraries-9-0                          9.0.176-1                                    amd64        CUDA Libraries 9.0 meta-package
ii  cuda-libraries-dev-9-0                      9.0.176-1                                    amd64        CUDA Libraries 9.0 development meta-package
ii  cuda-license-9-0                            9.0.176-1                                    amd64        CUDA licenses
ii  cuda-misc-headers-9-0                       9.0.176-1                                    amd64        CUDA miscellaneous headers
ii  cuda-npp-9-0                                9.0.176-1                                    amd64        NPP native runtime libraries
ii  cuda-npp-dev-9-0                            9.0.176-1                                    amd64        NPP native dev links, headers
ii  cuda-nvgraph-9-0                            9.0.176-1                                    amd64        NVGRAPH native runtime libraries
ii  cuda-nvgraph-dev-9-0                        9.0.176-1                                    amd64        NVGRAPH native dev links, headers
ii  cuda-nvml-dev-9-0                           9.0.176-1                                    amd64        NVML native dev links, headers
ii  cuda-nvrtc-9-0                              9.0.176-1                                    amd64        NVRTC native runtime libraries
ii  cuda-nvrtc-dev-9-0                          9.0.176-1                                    amd64        NVRTC native dev links, headers
ii  cuda-repo-ubuntu1604                        9.1.85-1                                     amd64        cuda repository configuration files
ii  cuda-runtime-9-0                            9.0.176-1                                    amd64        CUDA Runtime 9.0 meta-package
ii  cuda-samples-9-0                            9.0.176-1                                    amd64        CUDA example applications
ii  cuda-toolkit-9-0                            9.0.176-1                                    amd64        CUDA Toolkit 9.0 meta-package
ii  cuda-visual-tools-9-0                       9.0.176-1                                    amd64        CUDA visual tools
ii  libcuda1-390                                390.12-0ubuntu1                              amd64        NVIDIA CUDA runtime library
ii  libcudnn7                                   7.0.5.15-1+cuda9.0                           amd64        cuDNN runtime libraries
ii  libcudnn7-dev                               7.0.5.15-1+cuda9.0                           amd64        cuDNN development libraries and headers
# dpkg -l | grep nvidia
ii  nvidia-390                                  390.12-0ubuntu1                              amd64        NVIDIA binary driver - version 390.12
ii  nvidia-390-dev                              390.12-0ubuntu1                              amd64        NVIDIA binary Xorg driver development files
ii  nvidia-modprobe                             390.12-0ubuntu1                              amd64        Load the NVIDIA kernel driver and create device files
ii  nvidia-opencl-icd-390                       390.12-0ubuntu1                              amd64        NVIDIA OpenCL ICD
ii  nvidia-prime                                0.8.2                                        amd64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                             390.12-0ubuntu1                              amd64        Tool for configuring the NVIDIA graphics driver
    
por Ping Chu Hung 21.03.2018 / 16:07
1

Você deve conseguir que o CUDA funcione com esta resposta. por Ping Chu Hung Se você ainda tiver problemas com o loop de login depois disso, existem algumas respostas altamente avaliadas aqui que devem resolver isso para você.

Nota: Como a maioria das coisas na vida, os drivers da Nvidia podem deixar um monte de lixo por aí se você tentou instalar várias versões ou teve instalações com falha e pode ser necessário para purgar todos eles e depois reinstalar o que você já trabalhou no passado para obter os resultados desejados.

    
por Elder Geek 19.03.2018 / 21:41