Avevo programmato una giornata di relax con Portal 2 ma all'avvio di Steam (per la prima volta in un paio di settimane) sono stato accolto con il seguente messaggio nel terminale:
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.
Confesso che non so davvero di cosa stia parlando quando dice autista. La verion di nvidia-current
è 270.41.19
. Ho pensato che fosse il driver e il modulo, tutto in uno.
Uso l'X-SWAT PPA e ho notato che il nvidia-settings
pacchetto è stato potenziato 275.09.07
. Poiché si tratta solo di un'applicazione delle impostazioni, non credo che questa discrepanza abbia nulla a che fare con questo. Inoltre, non è la stessa versione del problema descritto.
Preferirei non ripulire dal driver Nvidia standard in quanto è meno che stabile sul mio GTX580. Accetterei una risposta che richieda l'installazione manuale e la ricompili quando il kernel si ricompila (cioè alcuni maghi DKMS) ma deve funzionare. Non voglio tornare alla modalità testo ogni volta che riavvio dopo un aggiornamento del kernel.
Modifica: Minecraft funziona senza una singola lamentela sulle versioni dei driver. Penumbra muore all'incirca con lo stesso errore quando si entra in una partita.
Modifica: ecco di cosa mi occupo in termini di file a 32 bit. Sembrano tutti essere nella versione giusta.
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
Modifica 2: potrei aver trovato qualcosa.
In agguato nel /usr/lib32/
vero (non il nvidia-current
sottodir) ho trovato quanto segue:
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
Per qualche ragione, tutto /usr/lib32/nvidia-current/
è nella versione giusta, ma c'è un sacco di cruft /usr/lib32/
che potrebbe rovinare la festa.
Modifica 3: tentativo di rintracciare quale pacchetto possiede questi file non è riuscito:
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.
Qualche consiglio su come dovrei gestire queste versioni non funzionanti? Cancellarli? Eliminare quindi il collegamento simbolico alle ./nvidia-current/
versioni?
/usr/lib32
. Controlla se sembrano la stessa versione di quelli primari a 64 bit. Se differiscono, scopri quale pacchetto li possiede e cerca un aggiornamento.