Ich hatte einen Tag zum Entspannen mit Portal 2 geplant, aber als ich Steam startete (zum ersten Mal seit ein paar Wochen), wurde ich mit der folgenden Nachricht im Terminal begrüßt:
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.
Ich gebe zu, dass ich nicht wirklich weiß, wovon es spricht, wenn Fahrer steht. Die Version von nvidia-current
ist 270.41.19
. Ich dachte , das wäre der Treiber und das Modul in einem.
Ich benutze das X-SWAT PPA und habe festgestellt, dass das nvidia-settings
Paket auf aufgestockt hat 275.09.07
. Da dies nur eine Anwendung für Einstellungen ist, hat diese Nichtübereinstimmung meines Erachtens nichts damit zu tun. Es ist auch nicht die gleiche Version wie das beschriebene Problem.
Ich möchte lieber nicht auf den Standard-Nvidia-Treiber zurückgreifen, da er auf meiner GTX580 weniger als stabil ist. Ich würde eine Antwort akzeptieren, die das manuelle Setup übernimmt und es neu kompiliert, wenn der Kernel neu kompiliert (dh einige DKMS-Assistenten), aber es muss funktionieren. Ich möchte nicht jedes Mal in den Textmodus zurückkehren, wenn ich nach einem Kernel-Upgrade neu starte.
Edit: Minecraft funktioniert ohne eine einzige Beschwerde über Treiberversionen. Penumbra stirbt mit ungefähr demselben Fehler bei der Eingabe eines Spiels.
Bearbeiten: Hier ist, was ich in Bezug auf 32-Bit-Dateien zu tun habe. Sie scheinen alle die richtige Version zu haben.
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: Ich könnte etwas gefunden haben.
Im /usr/lib32/
eigentlichen (nicht im nvidia-current
Unterverzeichnis) habe ich folgendes gefunden:
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
Aus irgendeinem Grund ist alles in /usr/lib32/nvidia-current/
der richtigen Version, aber es gibt eine Menge Cruft /usr/lib32/
, die die Party ruinieren könnte.
Bearbeiten 3: Der Versuch, herauszufinden, welches Paket diese Dateien besitzt, ist fehlgeschlagen:
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.
Irgendwelche Tipps, wie ich mit diesen kaputten Versionen umgehen soll? Lösche sie? Dann Symlink zu ./nvidia-current/
Versionen löschen ?
/usr/lib32
. Überprüfen Sie, ob sie der primären 64-Bit-Version entsprechen. Wenn sie sich unterscheiden, finden Sie heraus, in welchem Paket sie sich befinden, und suchen Sie nach einem Update.