J'ai des problèmes pour compiler le projet SFML (je ne vois aucun graphique):
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Cette erreur peut être résolue en réinstallant simplement nvidia-drivers à travers ce tutoriel: https://askubuntu.com/a/451248/341889
..mais quand j'obtiens de nouvelles mises à jour - cette erreur revient (que dois-je faire? Ce n'est pas la solution - n'utilisez pas la mise à jour du système ...
PS et oui, j’ai enregistré toutes les modifications après avoir installé les pilotes nvidia
libGL.so
:LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa ./glprogram
. Par défaut, mon Ubuntu 16.04 utilise à/usr/lib/nvidia-361/libGL.so
cause de/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf
et tout fonctionne bien.Réponses:
La
swrast
chose est le moteur de rendu logiciel. Cela signifie que le pilote de votre carte graphique n’est pas trouvé. De nombreuses bibliothèques libGL sont installées et de nombreux liens symboliques vers ces bibliothèques. Pour voir cela, lancez ceci depuis le shell:Maintenant, la cause probable de votre problème est que l’installation de pilotes graphiques casse parfois ces liens symboliques. (Plus précisément,
/usr/local/lib/libGL.so.1.2.0
sera probablement la mauvaise bibliothèque ou un lien sym vers le mauvais lien).Pour savoir quelle bibliothèque les programmes OpenGL essaient d’exécuter, vous pouvez activer un peu de verbosité et exécuter un simple programme OpenGL. Vous pouvez le vérifier en utilisant le programme de test OpenGL standard:
Espérons que cela échouera de la même manière que SFML. Avec
LIBGL_DEBUG
cela devrait vous dire quelle bibliothèque OpenGL il essaie de charger. De plus, la bibliothèque qu’elle essaiera de charger sera presque certainement/usr/local/lib/libGL.so.1.2.0
(Edit: c’était la bibliothèque standard OpenGL sur ma machine au moment où j’ai répondu à cette question. Il se peut qu’il en soit une autre version sur votre machine maintenant).La solution (dans ce cas) est donc de s’assurer qu’il
/usr/local/lib/libGL.so.1.2.0
s’agit d’un lien symbolique pointant vers la bonne bibliothèque OpenGL. Dans mon cas, j'ai le pilote Nvidia 3.40 alors j'ai couru:Mais vous voudrez le pointer sur la bibliothèque OpenGL qui vous convient (listée dans la première commande find).
En résumé: l'installation de pilotes graphiques (propriétaires) peut rompre les liens symboliques utilisés pour les bibliothèques OpenGL. Pour résoudre ce problème, corrigez manuellement les liens symboliques (corrigez d’
/usr/local/lib/libGL.so.1.2.0
abord).la source
J'ai eu le même problème sur Ubuntu 16.10 avec les
nvidia-340
pilotes et aucune des solutions ici ne fonctionnait pour moi.Il s'avère que les bibliothèques 32 bits n'étaient pas sur le chemin de la bibliothèque.
Ce paquebot a fonctionné pour moi:
la source
J'avais des problèmes pour faire pointer le lien symbolique correct vers le pilote nVidia et j'ai trouvé un autre moyen qui fonctionne pour moi.
C'est décrit ici .
Et il explique comment installer le pilote nVidia via PPA, disponible pour 349.16, la dernière version.
Commencez par désinstaller les pilotes nVidia actuellement installés en ouvrant une fenêtre de terminal ( Ctrl+ ALT+ T) et en tapant
Redémarrez votre système
Puis ouvrez un autre terminal et tapez ce qui suit
Puis redémarrez à nouveau
Je l'ai essayé après m'être égaré avec les liens symboliques et Steam fonctionnait bien immédiatement après l'installation du pilote. Encore une fois, il fonctionnait encore après avoir eu plus de 400 Mo de mises à jour du système.
la source
Pour proposer une alternative à la réponse d'Adrian: si vous préférez utiliser des pilotes propriétaires provenant directement de NVIDIA plutôt que ceux trouvés dans un PPA, l'installation (ou dans mon cas, la réinstallation) du dernier pilote propriétaire peut aider à éliminer l'erreur swrast.
Si vous ne possédez pas encore le pilote NVIDIA, téléchargez-le depuis le site Web de NVIDIA . Ensuite, passez à tty (
ctrl
+alt
+F1
) et désactivez votre gestionnaire de connexion:Si vous utilisez lightdm,
$ sudo service lightdm stop
Si vous utilisez gdm,
$ sudo service gdm stop
Naviguez jusqu'au script d'installation et exécutez-le, puis suivez les instructions. Ne vous inquiétez pas si le script de pré-installation échoue. J'accepte toujours d'enregistrer DKMS et les bibliothèques de compatibilité 32 bits. Une fois le pilote installé, redémarrez votre ordinateur:
Si vous avez déjà un script d'installation d'un pilote NVIDIA plus ancien, exécutez simplement le script d'installation du pilote NVIDIA comme indiqué ci-dessus, mais avec l'option "--update":
Cela vous donnera la version la plus récente du pilote.
Faire cela a corrigé mon
libGL error: failed to load driver: swrast
erreur.la source
J'ai eu le même problème sur Ubuntu 18. Cela s'est produit essentiellement avec les applications 32 bits. Donc, mon idée était d'installer quelque chose de nvidia 32 bits, car mon dossier / usr / lib / i386-linux-gnu / était étrangement vide.
Après très peu d'essais, cela a résolu mon problème de vapeur et de vin qui ne démarre pas:
(et remplacez 418 par votre version)
Il est intéressant de noter que les applications ne se sont pas plaintes de dépendances manquantes lors de l’installation.
la source
Je dois admettre que je ne sais pas pourquoi cela fonctionne pour moi, mais ça a été le cas. Dans ce cas particulier, "réparer" les entrées ld.so.conf.d en ajoutant une nouvelle entrée comme celle-ci fonctionne:
Cela a du sens, jusqu'à ce que vous exécutiez ce qui suit
find
:Pourquoi avoir les mêmes entrées en triple, mais pas en double, je n'en ai aucune idée!
la source
Voici une
apt
solution qui ne fonctionne que pour moi, pas de liens symboliques ni de bidouillesld.so.conf.d
:la source
Je viens d'utiliser cette ligne:
et il fonctionne.
Parce que je vois une telle entrée quand j'exécute
sudo ldconfig -p | grep -i gl.so
:la source
Il suffit de lancer ceci:
La version de votre pilote est affichée dans nvidia-settings.
la source
Dans mon cas, la solution à ce problème résidait dans la suite du message d'erreur.
Paraview 5.7.0 m'a informé que:
Le message
a été la clé. Je lance 'glxgears' pour vérifier que les bibliothèques graphiques fonctionnent correctement - voir aussi
man glxgears
- montrant cette animation:Ensuite, ma solution consistait simplement à définir la variable d'environnement
Prendre note:
locate libGL.so
, je trouve un autre candidat/usr/lib/i386-linux-gnu/libGL.so
. Définir ceci comme LD_PRELOAD, cependant, n'a pas résolu le problème.locate libGLEW.so
Je suis redevable de https://github.com/openai/mujoco-py/issues/44 pour des indices
la source
J'étais confronté à ce problème étrange lorsque je ssh sur mon ordinateur virtuel Ubuntu à partir de mon Macbook Pro, mais l'installation du pilote Nvidia ci-dessous sur mon Ubuntu 16.04 a résolu le problème. J'espère que cela fonctionne pour toi.
sudo apt-get install nvidia-331
la source