J'avais prévu une journée de détente avec Portal 2 mais au démarrage de Steam (pour la première fois depuis quelques semaines), j'ai été accueilli avec le message suivant dans le terminal:
Error: API mismatch: the NVIDIA kernel module has version 270.41.19,
but this NVIDIA driver component has version 270.41.06. Please make
sure that the kernel module and all NVIDIA driver components
have the same version.
J'avoue que je ne sais pas vraiment de quoi il parle quand il est dit conducteur. La verion de nvidia-current
est 270.41.19
. Je pensais que c'était le pilote et le module, tout en un.
J'utilise le X-SWAT PPA et j'ai remarqué que le nvidia-settings
package est passé à 275.09.07
. Comme il ne s'agit que d'une application de paramètres, je ne pense pas que cette incompatibilité ait quoi que ce soit à voir avec cela. Ce n'est pas non plus la même version que le problème décrit.
Je préfère ne pas revenir au pilote Nvidia standard car il est moins stable sur mon GTX580. J'accepterais une réponse qui prend la configuration manuelle et la fait recompiler lorsque le noyau se recompile (c'est-à-dire, une certaine magie DKMS) mais cela doit fonctionner. Je ne veux pas revenir en mode texte à chaque redémarrage après une mise à niveau du noyau.
Edit: Minecraft fonctionne sans se plaindre des versions de pilotes. Penumbra meurt avec à peu près la même erreur en entrant dans une partie.
Edit: Voici ce que je traite en termes de fichiers 32 bits. Ils semblent tous avoir la bonne version.
ls -l /usr/lib32/nvidia-current/ | awk '{ print $8 " " $9 " " $10 }'
libcuda.so -> libcuda.so.270.41.19
libcuda.so.1 -> libcuda.so.270.41.19
libcuda.so.270.41.19
libGL.la
libGL.so -> libGL.so.1
libGL.so.1 -> libGL.so.270.41.19
libGL.so.270.41.19
libnvcuvid.so -> libnvcuvid.so.1
libnvcuvid.so.1 -> libnvcuvid.so.270.41.19
libnvcuvid.so.270.41.19
libnvidia-cfg.so -> libnvidia-cfg.so.1
libnvidia-cfg.so.1 -> libnvidia-cfg.so.270.41.19
libnvidia-cfg.so.270.41.19
libnvidia-compiler.so -> libnvidia-compiler.so.1
libnvidia-compiler.so.1 -> libnvidia-compiler.so.270.41.19
libnvidia-compiler.so.270.41.19
libnvidia-glcore.so.270.41.19
libnvidia-ml.so -> libnvidia-ml.so.1
libnvidia-ml.so.1 -> libnvidia-ml.so.270.41.19
libnvidia-ml.so.270.41.19
libnvidia-tls.so.270.41.19
libnvidia-wfb.so.1 -> libnvidia-wfb.so.270.41.19
libnvidia-wfb.so.270.41.19
libOpenCL.so -> libOpenCL.so.1
libOpenCL.so.1 -> libOpenCL.so.1.0
libOpenCL.so.1.0 -> libOpenCL.so.1.0.0
libOpenCL.so.1.0.0
libXvMCNVIDIA_dynamic.so.1 -> libXvMCNVIDIA.so.270.41.19
libXvMCNVIDIA.so -> libXvMCNVIDIA.so.270.41.19
libXvMCNVIDIA.so.1 -> libXvMCNVIDIA.so.270.41.19
libXvMCNVIDIA.so.270.41.19
Edit 2: J'ai peut-être trouvé quelque chose.
Se cachant dans le /usr/lib32/
bon (pas le sous- nvidia-current
répertoire), j'ai trouvé ce qui suit:
ls -l /usr/lib32/ | awk '{ print $8 " " $9 " " $10 }' | grep 270
libcuda.so.1 -> libcuda.so.270.41.06
libcuda.so.270.41.06
libGL.so.1 -> libGL.so.270.41.06
libGL.so.270.41.06
libnvidia-compiler.so.270.41.06
libnvidia-glcore.so.270.41.06
libnvidia-tls.so.270.41.06
libvdpau.so.1 -> libvdpau.so.270.41.06
libvdpau.so.270.41.06
libvdpau_trace.so -> vdpau/libvdpau_trace.so.270.41.06
Pour une raison quelconque, tout /usr/lib32/nvidia-current/
est dans la bonne version, mais il y a une charge de cruauté /usr/lib32/
qui pourrait ruiner la fête.
Édition 3: la tentative de recherche du package propriétaire de ces fichiers a échoué:
find /usr/lib32 -iname '*270.41.06*' -exec dpkg -S "{}" \;
dpkg-query: no path found matching pattern /usr/lib32/libnvidia-compiler.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libGL.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/vdpau/libvdpau_nvidia.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/vdpau/libvdpau_trace.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libvdpau.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/tls/libnvidia-tls.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libnvidia-tls.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libcuda.so.270.41.06.
dpkg-query: no path found matching pattern /usr/lib32/libnvidia-glcore.so.270.41.06.
Des conseils sur la façon de gérer ces versions cassées? Supprime-les? Supprimer puis lien symbolique vers les ./nvidia-current/
versions?
/usr/lib32
. Vérifiez s'ils ressemblent à la même version que les 64 bits principaux. S'ils diffèrent, découvrez quel package les possède et recherchez une mise à jour.Réponses:
Faire ce qui suit l'a résolu pour moi sur Ubuntu 12.04 64bit avec le noyau 3.0.29. J'espère que ça aide.
la source
dpkg --get-selections | grep nvidia
pour trouver les autres packages nvidia que vous devez purgerEn découvrant qu'il y avait une charge d'anciens fichiers en train de rogner / usr / lib32 / je les ai déplacés avec la commande suivante:
Et redémarré X. Cela a tout cassé en 3D. Huzzah. En utilisant une recommandation précédente, j'ai pu voir qu'il y avait quatre liens rompus:
Plutôt que de remplacer manuellement les liens de quatre fichiers, je suis allé voir Elrond, le seigneur de Rivendell et je lui ai demandé de créer une bourse qui pourrait pénétrer dans Morhdorh, se diriger vers le mont Doom et me créer une commande pour m'apporter (et par là je ne nous signifie tous) et dans l'obscurité nous lient.
Assez de. Voici la seule commande:
N'est-elle pas spectaculaire. Et ça a marché. J'ai maintenant 4 nouveaux liens symboliques brillants:
J'ai ensuite vérifié si tout avait fonctionné. Avant de redémarrer, j'ai pensé que je devrais vérifier si les liens étaient corrects:
Génial. Donc, la méga-commande n'a fait que deux liens correctement. Après avoir regardé un peu plus loin, il semble que les
libvdpau
fichiers vivent réellement/usr/lib32/nvidia-current/vdpau/
. Pas de problème cette fois:Au moins, ils sont correctement (mais un peu maladroitement) liés. Il est temps de tester.
Edit: Cela a fonctionné mais apprenez de ma lutte: Restez simple.
la source
faites aussi ceci:
et alors:
tout va bien!
la source
J'ai eu ce problème une fois, et il est étonnamment facile à résoudre.
Ce qui suit est basé sur une mémoire inégale, alors faites attention!
Vous devez d'abord voir que les bibliothèques nvidia dans / usr / lib32 / correspondent:
Selon ce que vous avez décrit, ils ne correspondent probablement pas à ceux-ci. Si tel est le cas, vous devez les supprimer (avec précaution - utilisez un gestionnaire de fichiers, n'essayez pas de rm -rf !!!!!!!!! ), puis réinstallez nvidia-current :).
Cela devrait vous donner les bonnes versions des bibliothèques et vous donner un système de travail.
la source
J'ai eu ce problème qui affectait mon lanceur SWTOR dans le vin. En lisant ce qui précède, j'ai décidé d'essayer de faire les choses via l'interface utilisateur d'Ubuntu. Voici la solution simple qui a fonctionné pour moi;
Supprimez et réinstallez des pilotes supplémentaires via l'interface utilisateur:
la source
après quelques tests, j'ai trouvé que les packages:
fonctionne pour tous les noyaux 3.2.0- * et 3.8.0- *,
tandis que les packages:
fonctionne uniquement pour le noyau 3.8.0- *.
Le jockey Ubuntu recommande toujours la version 319 également lorsque le noyau 3.2.0- * seulement est présent. Donc, un bug ici.
De plus les commandes:
ou
installez le pilote pour une seule version du noyau pour chaque version mineure et supprimez-le pour toutes les autres.
Donc, dans mon cas, j'ai installé les noyaux suivants:
J'ai obtenu le pilote uniquement pour:
lors du démarrage avec les autres noyaux, les résultats du pilote ne sont pas installés.
Il me semble que quelque part dans le paquet, il y a une indication erronée de construire et d'installer pour un noyau uniquement.
N'importe où, la commande suivante résout la situation:
jusqu'à la prochaine apt-get install nvidia-current ou reconfigure
Discussion: pilote Nvidia mis à jour - les versions mixtes de 304.88 et 319.32 sont liées à la même chose, mais je n'avais pas assez de crédit pour y poster.
la source
Cela m'est arrivé après avoir installé le dernier pilote expérimental Nvidia. Je voulais toujours essayer le dernier pilote si possible au lieu de revenir à un pilote plus ancien, c'est donc ce qui a fonctionné pour moi:
la source
La suppression de tous les packages nvidia et la réinstallation sont en effet le moyen le plus simple de résoudre ce problème.
Tout d'abord, j'ai supprimé tous les packages nvidia avec la commande ci-dessous:
Ensuite, j'ai fait un redémarrage juste pour notre curiosité, pour voir à quoi ressemblerait mon interface graphique - mauvaise résolution et lente, comme prévu.
Après avoir ouvert un shell, j'exécute la commande ci-dessous pour réinstaller nvidia:
Tout fonctionne à nouveau. Bonne chance.
la source