Planejei um dia de relaxamento com o Portal 2, mas, ao iniciar o Steam (pela primeira vez em algumas semanas), fui recebido com a seguinte mensagem no terminal:
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 que realmente não sei do que está falando quando diz motorista. A versão de nvidia-current
é 270.41.19
. Eu pensei que era o driver e o módulo, tudo em um.
Eu uso o X-SWAT PPA e observei que o nvidia-settings
pacote foi aprimorado 275.09.07
. Como esse é apenas um aplicativo de configurações, não acho que essa incompatibilidade tenha algo a ver com isso. Também não é a mesma versão do problema descrito.
Prefiro não voltar ao driver padrão da Nvidia, pois é menos do que estável no meu GTX580. Eu aceitaria uma resposta que aceite a configuração manual e a recompile quando o kernel recompila (ou seja, algumas magias do DKMS), mas precisa funcionar. Não quero voltar ao modo de texto sempre que reiniciar após uma atualização do kernel.
Edit: Minecraft funciona sem uma única reclamação sobre versões de drivers. Penumbra morre com aproximadamente o mesmo erro ao entrar em um jogo.
Edit: Aqui está o que eu estou lidando em termos de arquivos de 32 bits. Todos eles parecem estar na versão correta.
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: Eu posso ter encontrado algo.
À espreita /usr/lib32/
adequada (não o nvidia-current
subdir), encontrei o seguinte:
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
Por alguma razão, tudo /usr/lib32/nvidia-current/
está na versão correta, mas há um monte de lixo /usr/lib32/
que pode estar arruinando a festa.
Edit 3: Tentando rastrear qual pacote possui esses arquivos falhou:
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.
Alguma dica de como devo lidar com essas versões quebradas? Excluí-los? Excluir e link simbólico para ./nvidia-current/
versões?
/usr/lib32
. Verifique se eles se parecem com a mesma versão que as principais de 64 bits. Se eles diferirem, descubra qual pacote os possui e procure uma atualização.