web-dev-qa-db-fra.com

Ubuntu 16.04 voit la carte Nvidia, mais ne reconnaît pas les pilotes restreints

Objectif

J'essaie d'utiliser CUDA sur ma carte nvidia pour la recherche. Je ne me soucie pas vraiment de l'utiliser pour gérer mon affichage car je ne compte utiliser que l'ordinateur via bash-Shell après avoir fini de l'installer.

Problème

Ubuntu n'a pas réclamé ma carte vidéo. Rebondir à la boucle de connexion après la connexion.

Contexte

Je suis un étudiant en doctorat en informatique qui maîtrise parfaitement Linux, mais je ne sais pas quoi faire pour que ma carte graphique Nvidia gtx 1070Ti fonctionne. J'y suis chaque dimanche depuis plus de deux mois.

J'ai suivi ces tutoriels:

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/1369
https://askubuntu.com/a/937204/1369
http://docs.nvidia.com/cuda/cuda-installation-guide-linux

Installer nvidia-current ou nvidia-387 (choisi par défaut lors de l'installation d'ubuntu), ou le dernier nvidia-390 entraîne la création d'une boucle de démarrage dans laquelle je suis renvoyé à l'écran de connexion après la connexion.

J'ai donc utilisé prime-select intel et supprimé le modeset=0 blacklist pour accéder à un bureau opérationnel. Donc, ci-dessous est un examen de mon statut actuel:

Nvidia card is seen by lspci

$ uname -a
Linux datalake2 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ lspci | grep VGA
03:00.0 VGA compatible controller: NVIDIA Corporation Device 1b82 (rev a1)
08:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2 (rev 01)
$ Sudo lshw -C video
  *-display UNCLAIMED
       description: VGA compatible controller
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller cap_list
       configuration: latency=0
       resources: iomemory:33f0-33ef iomemory:33f0-33ef memory:91000000-91ffffff memory:33fe0000000-33fefffffff memory:33ff0000000-33ff1ffffff ioport:2000(size=128) memory:92080000-920fffff

$ apt list --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

Étrangeté

Mon deuxième problème semble être qu'ubbuntu est incapable de reconnaître le besoin de conducteurs pour ma carte, même si j'ai activé les conducteurs propitiatoires limités. no drivers

Sudo software-properties-gtk ne me donne rien non plus.

No driversRestricted Enabled

results of nvidia-settings

Ma version de gcc: enter image description here

3
Gabriel Fair

Voici la solution de contournement:

1. Edit /etc/default/grub

Modifier GRUB_CMDLINE_LINUX_DEFAULT à

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

Cette étape consiste à éviter tout écran vide après la connexion.

2. Déplacez les répertoires de la bibliothèque nvidia vers /etc/ld.so.conf.d/nvidia.conf

Le contenu de nvidia.conf est

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

Ces répertoires dépendent de la version du pilote sur votre ordinateur.

. Créer /etc/init.d/nvidia

Pour désactiver et activer les bibliothèques d'exécution 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. Exécute update-rc.d nvidia defaults

Vous devriez trouver SXXnvidia dans /etc/rc5.d/ et KXXnvidia dans /etc/rc6.d/, /etc/rc0.d/.

Essayez d'exécuter /etc/init.d/nvidia stop et nvidia-smi, vous devriez voir les messages d'erreur des bibliothèques non trouvées.

Essayez d'exécuter /etc/init.d/nvidia start, puis nvidia-smi va encore.

Si tout va bien, vous pouvez redémarrer maintenant. Vous devez vous connecter au bureau.

5. Si quelque chose ne va pas

Le problème le plus possible est nvidia script non exécuté. Si cela se produit, vous pouvez appuyer sur Ctrl + Alt + F1 pour passer en mode tty, exécutez /etc/init.d/nvidia stop; reboot. Ensuite, vous pouvez revenir au bureau Unity pour déboguer.

6. Effet secondaire conn

Lorsque vous utilisez intel comme processeur graphique principal, le démarrage de unity-control-center (paramètres système) échouera.

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

Note: les spécifications de mon système

# 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
2
Ping Chu Hung

Vous devriez pouvoir utiliser CUDA avec cette réponse. by Ping Chu Hung Si vous avez toujours des problèmes avec la boucle de connexion après cela, il y a certains très bien cotés réponses ici qui devrait résoudre cela pour vous.

Remarque: comme la plupart des choses dans la vie, les pilotes Nvidia peuvent laisser des ordures si vous avez essayé d'installer plusieurs versions ou si vous avez échoué et il peut être nécessaire de les purger toutes puis de les réinstaller. celui que vous avez travaillé dans le passé pour obtenir les résultats souhaités.

1
Elder Geek