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-current
jest 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-settings
pakiet 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-current
podkatalogu) 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.Odpowiedzi:
Wykonanie następujących czynności rozwiązało to dla mnie na Ubuntu 12.04 64bit z jądrem 3.0.29. Mam nadzieję, że to pomoże.
źródło
dpkg --get-selections | grep nvidia
aby znaleźć inne pakiety NVIDII, które musisz wyczyścićPo odkryciu było mnóstwo starych plików kręcących się w górę / usr / lib32 / Przesunąłem je za pomocą następującego polecenia:
I ponownie uruchomiłem X. To zepsuło wszystko w 3D. Huzzah. Korzystając z poprzedniego polecenia, zauważyłem cztery zepsute linki:
Zamiast ręcznie zamieniać linki na cztery pliki, poszedłem do Elronda, lorda Rivendell i zleciłem mu utworzenie wspólnoty, która mogłaby wpaść do Morhdorh, podkręcić się do Góry Przeznaczenia i wykonać jedno polecenie, by mi przynieść (i przez to mają na myśli nas wszystkich) i w ciemności zwiąż nas.
Dosyć tego. Oto jedno polecenie:
Czy ona nie jest spektakularna? I zadziałało. Mam teraz 4 błyszczące nowe dowiązania symboliczne:
Potem sprawdziłem, czy wszystko działało. Przed ponownym uruchomieniem pomyślałem, że powinienem sprawdzić, czy linki są prawidłowe:
Świetny. Tak więc mega-polecenie poprawiło tylko dwa linki. Po głębszym spojrzeniu wydaje się, że
libvdpau
pliki faktycznie istnieją/usr/lib32/nvidia-current/vdpau/
. Bez bałaganu o tym czasie:Przynajmniej są właściwie (choć trochę niezręcznie) połączone. Czas na test.
Edycja: To zadziałało, ale wyciągnij wnioski z mojej walki: nie komplikuj.
źródło
również po prostu zrób to:
i wtedy:
wszystko w porządku!
źródło
Miałem ten problem raz i jest zaskakująco łatwy do naprawienia.
Poniższe informacje dotyczą niejednolitej pamięci, więc bądź ostrożny!
Najpierw musisz zobaczyć, że biblioteki nvidia w / usr / lib32 / match:
Zgodnie z tym, co opisałeś, najprawdopodobniej nie pasują do nich. Jeśli tak jest, musisz je usunąć (ostrożnie - użyj menedżera plików, nie próbuj rm -rf !!!!!!!!! ), a następnie ponownie zainstaluj nvidia-current :).
To powinno dać ci odpowiednie wersje bibliotek i dać ci działający system.
źródło
Miałem ten problem, który miał wpływ na mój program uruchamiający SWTOR w winie. Czytając powyższe postanowiłem spróbować zrobić to za pośrednictwem interfejsu użytkownika Ubuntu. Oto proste rozwiązanie, które zadziałało dla mnie;
Usuń i ponownie zainstaluj dodatkowe sterowniki za pomocą interfejsu użytkownika:
źródło
po kilku testach odkryłem, że pakiety:
praca dla wszystkich jąder 3.2.0- * i 3.8.0- *,
podczas gdy pakiety:
działa tylko dla jądra 3.8.0- *.
Ubuntu jockey nadal poleca wersję 319 również wtedy, gdy obecne jest tylko jądro 3.2.0- *. Więc błąd tutaj.
Ponadto polecenia:
lub
zainstaluj sterownik tylko dla jednej wersji jądra dla każdej wersji dodatkowej i usuń ją dla wszystkich pozostałych.
Tak więc w moim przypadku mam zainstalowane następujące jądra:
Mam sterownik tylko dla:
podczas uruchamiania innych jąder wyniki sterownika nie są zainstalowane.
Wydaje mi się, że gdzieś w pakiecie jest błędne wskazanie do budowania i instalowania tylko dla niektórych jąder.
W dowolnym miejscu wydanie następującego polecenia naprawi sytuację:
do następnego apt-get zainstaluj nvidia-current lub ponownie skonfiguruj
Wątek: Zaktualizowano sterownik Nvidii - mieszane wersje 304.88 i 319.32 są powiązane z tym samym, ale nie miałem wystarczających środków, aby tam pisać .
źródło
Zdarzyło mi się to po zainstalowaniu najnowszego eksperymentalnego sterownika Nvidia. Nadal chciałem wypróbować najnowszy sterownik, jeśli to możliwe, zamiast powracać do starszego sterownika, więc to działało dla mnie:
źródło
Usunięcie wszystkich pakietów nvidia i ponowna instalacja są rzeczywiście najłatwiejszym sposobem na naprawienie tego.
Po pierwsze usunąłem wszystkie pakiety nvidia za pomocą poniższej komendy:
Następnie zrestartowałem się z ciekawości, aby zobaczyć, jak będzie wyglądał mój interfejs graficzny - słaba rozdzielczość i powolne, zgodnie z oczekiwaniami.
Po otwarciu powłoki uruchamiam poniższe polecenie, aby ponownie zainstalować nvidię:
Wszystko znów działa. Powodzenia.
źródło