Portal 2でリラックスした1日を計画していましたが、Steamを起動すると(数週間で初めて)ターミナルで次のメッセージが表示されました。
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.
私はそれがドライバーと言ったときに何について話しているのか本当にわからないことを告白します。のバージョンはnvidia-current
です270.41.19
。私はそれがドライバーとモジュールであると考えました。
私はX-SWAT PPAを使用し、nvidia-settings
パッケージがにブーストされたことに注意しました275.09.07
。これは単なる設定アプリケーションであるため、この不一致はこれとは関係ないと思います。また、説明されている問題と同じバージョンではありません。
GTX580では安定性が低いため、標準のNvidiaドライバーに戻すことは避けたいです。手動セットアップを使用して、カーネルの再コンパイル時に再コンパイルする(つまり、一部のDKMSウィザード)答えを受け入れますが、動作する必要があります。カーネルのアップグレード後に再起動するたびにテキストモードに戻りたくありません。
編集:Minecraftは、ドライバーバージョンに関する単一の苦情なしで動作します。ゲームに入ると、Penumbraはほぼ同じエラーで死にます。
編集: 32ビットファイルに関して私が扱っているものは次のとおりです。それらはすべて適切なバージョンのようです。
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
編集2:私は何かを見つけたかもしれません。
/usr/lib32/
適切な(nvidia-current
サブディレクトリではなく)に潜んでいると、次のことがわかりました。
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
なんらかの理由で、すべて/usr/lib32/nvidia-current/
が正しいバージョンですが/usr/lib32/
、パーティーを台無しにしているかもしれない厄介なものがたくさんあります。
編集3:これらのファイルを所有しているパッケージを追跡しようとして失敗しました:
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.
これらの壊れたバージョンに対処する方法に関するヒントはありますか?それらを削除しますか?削除してから./nvidia-current/
バージョンへのシンボリックリンクを作成しますか?
/usr/lib32
ます。プライマリ64ビットバージョンと同じバージョンに見えるかどうかを確認します。それらが異なる場合、どのパッケージがそれらを所有しているかを調べ、更新を探します。