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.