Ubuntu 16.04
Sortie de uname -a
:
Linux HOST 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Qualité bureau:
- CPU: Intel
- GPU: Nvidia avec 361.42
Ce que je veux:
- le GPU Intel doit exécuter le xserver et mon moniteur, qui est connecté au DP intégré
- le GPU nvidia ne doit être utilisé que pour le calcul spécifique à CUDA, etc.
- contrôle total sur le nvidia gpu (temps réel, statistiques, vitesse des ventilateurs temps ...)
Mon problème:
- ni
nvidia-smi
ninvidia-settings
travailler et je ne peux pas contrôler mon GPU nvidia (les erreurs sont citées plus bas)
Mon histoire:
Après le bref résumé de mon problème, je veux plonger dans le sujet; Depuis la sortie d'Ubuntu 16.04, je bricole et n'arrive pas à réaliser ce qui suit:
- Je veux que mon GPU Intel (i7 6700K) pilote mon Xserver et tout ce qui lui est associé.
- Je veux que mon GPU nvidia dédié soit uniquement utilisé pour le calcul basé sur Cuda et autres.
- J'ajouterai plus d'un GPU nvidia au système, une fois mes problèmes résolus.
Un bref résumé de mon état initial:
J'ai installé les pilotes propriétaires pour nvidia et intel (microcode intel et nvidia-361.42) via apt-get et un démarrage sécurisé désactivé via mokutul --disable-validation.
Ensuite, j'ai défini nvidia-prime pour utiliser la carte Intel.
Ensuite, j'ai édité mon xorg.conf pour ne contenir qu'un seul écran avec Intel GPU et pilote Intel. (demandez des détails si nécessaire)
Test du GPU pour le rendu avec Blender, tout semblait bien, sauf que je ne pouvais pas obtenir de statistiques sur mon GPU et que les paramètres nvidia semblaient vides.
Les erreurs:
sudo nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system:
Please also try adding directory that contains libnvidia-ml.so to your system PATH.
Ce que j'ai jusqu'à présent appris à travers tous mes essais et recherches depuis la sortie (version courte, demandez des détails à tout moment):
Mes deux problèmes sont liés mais pas les mêmes:
Paramètres Nvidia vides:
- c'est parce que ces paramètres n'apparaissent que lorsqu'un Xserver est connecté au GPU nvidia
- la solution serait d'ajouter un nouvel écran dans xorg.conf qui oblige et xserver inutilisé à s'exécuter sur le GPU nvidia
- mais ce n'est actuellement pas possible (voir un autre problème) et non souhaité, car je veux simplement que le GPU nvidia se concentre sur Cuda
Nvidia-smi ne fonctionne pas:
- bbswitch n'est pas un problème car mon GPU (550ti) ne le supporte pas (erreurs dans dmesg)
- nvidia prime modifie l'entrée de x86_64-linux-gnu_gl_conf en
/usr/lib/nvidia-361/ld.so.conf
(GPU nvidia sélectionné) ou/usr/lib/nvidia-361-prime/ld.so.conf
(GPU Intel sélectionné) - la configuration de la sélection Intel manque les chemins essentiels vers les modules nvidia essentiels qui sont tous présents dans la conf pour la sélection nvidia
- lors du passage à nvidia via prime-select, je n'ai pas de serveur X car l'écran est connecté au GPU intégré, mais la connexion à une console virtuelle nvidia-smi fonctionne
Mon hypothèse:
- Nvidia prime est mauvais et ne veut pas comme je veux.
- Je dois en quelque sorte surmonter Prime et configurer le système (même en écrivant manuellement de nouvelles configurations?)
Mes essais:
- J'ai essayé de désinstaller nvidia-prime mais je n'ai reconnu que par la suite que cela ne pouvait pas fonctionner. Lorsque le fichier conf pour x86_64-linux-gnu_gl_conf est supprimé, le résultat est un pur gâchis ...
- J'ai même essayé d'ajouter manuellement les chemins manquants aux fichiers x86_64-linux-gnu_gl_conf, mais je ne savais pas vraiment ce que je faisais et je n'ai pas réussi.
Mes questions:
1) Comment puis-je résoudre le problème nvidia-smi? Suis-je sur la bonne voie? Quelqu'un at-il des instructions sur la façon de procéder?
2) Est-il possible d'activer le contrôle du ventilateur et d'autres contrôles pour le nvidia gpu (coolbits dans xorg.conf) sans Xserver sur le gpu (sans écran pour le gpu dans xorg.conf)?
Un grand merci d'avance pour toutes les réponses. J'ai littéralement peigné le Web, le peigne étant mon problème.
Si j'ai raté quelque chose d'important, dites-le moi et n'hésitez pas à demander des fichiers journaux, etc.
MERCI
la source
Réponses:
La réponse acceptée utilise le serveur X pour activer les appareils Nvidia. Cela n'est pas nécessaire et signifie que le serveur X utilisera de la mémoire de la carte.
Au lieu de cela
nvidia-modprobe
doit être installé comme décrit dans la FAQ du pilote (peut être trouvé sur le lien ci-dessous).Donc, ma solution recommandée est de:
1) Installez le dernier pilote Nvidia via le fichier d' exécution de ftp://download.nvidia.com/XFree86/Linux-x86_64/ avec l' indicateur
--no-opengl-files
et--dkms
.2) Installez la
nvidia-modprobe
version correspondante viamake all
etsudo make install
depuis ftp://download.nvidia.com/XFree86/nvidia-modprobe/L'
--dkms
indicateur s'assure que le module du noyau est recompilé lorsque vous mettez à niveau votre noyau.la source
J'ai (créateur de cet article) trouvé la solution dont j'ai besoin par moi-même!
Je vais maintenant expliquer la solution à quiconque se trouve dans une situation similaire et a besoin de cette aide!
SOLUTION:
INSTALLER LE PILOTE NVIDIA VIA LE RUNFILE FOURNI SUR http://www.nvidia.com/object/unix.html AVEC LE DRAPEAU "--no-opengl-files" !!
Cela empêche non seulement les fichiers nvidia opengl d'écraser les fichiers mesa existants, mais installe également le pilote sans nvidia prime !!
Donc, tous mes problèmes sont résolus, simplement en installant le pilote manuellement, au lieu de l'installer à partir des référentiels. Le package des référentiels est "Optimus-Friendly" et a donc tous les fauteurs de troubles inutiles inclus avec lui.
DEUXIÈMEMENT
le xorg.conf doit être étendu avec un autre écran pour le (s) GPU dédié (s) afin qu'il / ils aient / aient des entrées dans nvidia-settings.
le mien ressemble à ceci
la source
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
J'ai obtenu la configuration que vous souhaitez (je le voulais aussi;)):
en utilisant
bumblebee
.Mais avant d'entrer dans les détails, je dois vous avertir que lorsque vous modifiez la configuration de nvidia-settings ou xorg.conf ou nvidia prime, vous devez redémarrer votre système (peut-être que vous le savez déjà). Ne pas redémarrer pourrait laisser le système dans un état non cohérent.
Dans ma configuration, je n'ai pas touché
xorg.conf
. Pour moi, cela a toujours été une source de douleur. Veuillez le laisser à l'état d'origine. Si vous ne souhaitez pas effectuer une nouvelle installation, vous pouvez trouver des sauvegardes dans/etc/X11/
(ls /etc/X11/xorg.conf*
).La première étape consiste à essayer de faire du
nvidia-settings
travail. Si vous réussissez à le faire, vous pouvez utiliser nvidia PRIME pour passer au GPU Intel, comme vous l'avez déjà mentionné. Avoir nvidia prime point vers le GPU Intel est nécessaire si vous souhaitez utiliser le GPU NVIDIA uniquement pour les calculs CUDA (il est particulièrement nécessaire si vous souhaitez utiliser le débogueur cudacuda-gdb
).Après cela, vous pouvez essayer d'installer Bumblebee :
Redémarrez. Vous pouvez surveiller l'état du bourdon en utilisant
ou
Ce que fait Bumblebee est d'activer le GPU NVIDIA et d'essayer d'insérer le pilote nvidia dans le noyau uniquement lorsque cela est nécessaire. Vous pouvez utiliser bumblebee en pré-attendant
optirun
la commande que vous souhaitez exécuter.Pour faire fonctionner les bourdons, j'ai dû modifier manuellement
/etc/bumblebee/bumblebee.conf
pour définir correctement le nom et le chemin du pilote nvidia.Puis, après un
sudo service bumblebeed restart
j'ai réussi à activer le système de bourdon.En fait
nvidia-smi
retournemais
optirun nvidia-smi
:J'espère que cela t'aides.
la source
J'ai réinstallé les pilotes nvidia sans opengl comme mentionné dans les solutions ci-dessus mais cela n'a pas fonctionné pour moi. De plus, ces solutions sont tout à fait insatisfaisantes, car elles impliquent de supprimer certaines capacités des pilotes (opengl).
J'ai trouvé une solution beaucoup plus simple, pour laquelle vous n'avez pas besoin de réinstaller le pilote:
export LD_LIBRARY_PATH=/usr/lib/nvidia-387:$LD_LIBRARY_PATH
Notez que selon le pilote installé, vous devrez peut-être ajouter un autre dossier dans le chemin de votre bibliothèque, par exemple / usr / lib / nvidia-384 .
Vous pouvez ajouter cette commande au fichier ~ / .bashrc pour exporter automatiquement le chemin lors du chargement d'un nouveau bash.
la source
principalement pour rappel: dans ubuntu 18.04 pour utiliser igpu pour le rendu et nvidia gpu pour cuda, installer les pilotes nvidia par défaut, ouvrir nvidia-settings et paramétrer pour utiliser intel gpu. Après cela, mettez les nouveaux pilotes sur liste noire et une partie des pilotes nvidia:
ouvrez /etc/modprobe.d/blacklist-nvidia.conf et commentez les lignes de cette manière:
après cela, ouvrez /etc/modprobe.d/blacklist-nvidia-nouveau.conf et ajoutez ces lignes:
pour être vraiment sûr que nouveau est désactivé, vous pouvez aussi les mettre sur liste noire dans /etc/modprobe.d/blacklist.conf: à la fin, ajoutez:
puis redémarrez.
tapez
nvidia-smi
pour vérifier que nvidia est chargé, et tapezlspci -nnk | grep -iA2 3D
pour vérifier que le pilote utilisé est nvidia et non nouveau.la source