Zaplanowałem dzień relaksu przy Portalu 2, ale po uruchomieniu Steam (po raz pierwszy od kilku tygodni) zostałem powitany w terminalu następującą wiadomością:
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.
Przyznaję, że tak naprawdę nie wiem, o czym mówi, kiedy mówi kierowca. Wersja nvidia-currentjest 270.41.19. Myślałem, że to sterownik i moduł, wszystko w jednym.
Korzystam z X-SWAT PPA i zauważyłem, że nvidia-settingspakiet został ulepszony do 275.09.07. Ponieważ jest to tylko aplikacja do ustawiania, nie sądzę, aby ta niezgodność miała z tym coś wspólnego. Nie jest to również ta sama wersja, co opisywany problem.
Wolałbym nie wracać do standardowego sterownika Nvidii, ponieważ jest on mniej niż stabilny na moim GTX580. Zaakceptowałbym odpowiedź, która wymaga ręcznej konfiguracji i sprawia, że rekompiluje się, gdy jądro się ponownie kompiluje (tj. Niektóre kreacje DKMS), ale musi działać. Nie chcę wracać do trybu tekstowego przy każdym ponownym uruchomieniu po aktualizacji jądra.
Edycja: Minecraft działa bez jednej skargi na wersje sterowników. Penumbra umiera z mniej więcej tym samym błędem podczas wchodzenia do gry.
Edycja: Oto, z czym mam do czynienia w przypadku plików 32-bitowych. Wszystkie wydają się mieć właściwą wersję.
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
Edycja 2: Mogłem coś znaleźć.
Czaiłem się we /usr/lib32/właściwym (nie w nvidia-currentpodkatalogu) znalazłem następujące:
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
Z jakiegoś powodu wszystko /usr/lib32/nvidia-current/jest w odpowiedniej wersji, ale jest tam mnóstwo cruft, /usr/lib32/które mogą zrujnować imprezę.
Edycja 3: Nie udało się wyśledzić, który pakiet jest właścicielem tych plików:
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.
Jakieś wskazówki, jak sobie radzić z tymi uszkodzonymi wersjami? Usuń ich? Usunąć następnie dowiązanie symboliczne do ./nvidia-current/wersji?
/usr/lib32. Sprawdź, czy wyglądają tak samo jak podstawowe wersje 64-bitowe. Jeśli się różnią, dowiedz się, jaki pakiet jest ich właścicielem i poszukaj aktualizacji.