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.Respostas:
Fazer o seguinte resolveu isso para mim no Ubuntu 12.04 64bit com o kernel 3.0.29. Espero que ajude.
fonte
dpkg --get-selections | grep nvidia
para encontrar os outros pacotes da nvidia que você precisa remover #Ao descobrir, havia um monte de arquivos antigos criando o arquivo / usr / lib32 / e os movi com o seguinte comando:
E reiniciou o X. Isso quebrou tudo em 3D. Huzzah. Usando uma recomendação anterior, pude ver que havia quatro links quebrados:
Em vez de substituir manualmente os links por quatro arquivos, fui a Elrond, senhor de Rivendell, e encarreguei-o de estabelecer uma irmandade que poderia entrar em Morhdorh, caminhar até Mount Doom e me dar um comando para me trazer (e com isso eu significa todos nós) e na escuridão nos prendem.
Chega disso. Aqui está o único comando:
Ela não é espetacular? E funcionou. Agora tenho 4 novos links simbólicos brilhantes:
Eu então verifiquei para ver se tudo tinha funcionado. Antes de reiniciar, pensei em verificar se os links estavam corretos:
Ótimo. Portanto, o mega-comando fez apenas dois links corretamente. Depois de olhar um pouco mais, parece que os
libvdpau
arquivos realmente estão presentes/usr/lib32/nvidia-current/vdpau/
. Não brinque com esse tempo:Pelo menos eles estão devidamente ligados (ainda que um pouco desajeitadamente). Hora de testar.
Edit: Isso funcionou, mas aprender com a minha luta: Mantenha-o simples.
fonte
também faça isso:
e depois:
está tudo bem!
fonte
Tive esse problema uma vez e é surpreendentemente fácil de corrigir.
O seguinte é baseado em memória irregular, portanto, tenha cuidado!
Primeiro, você precisa ver as bibliotecas da nvidia em / usr / lib32 / match:
De acordo com o que você descreveu, eles provavelmente não correspondem a eles. Se for esse o caso, é necessário excluí-los (com cuidado - use um gerenciador de arquivos, não tente rm -rf !!!!!!!!! ) e depois reinstale a nvidia-current :).
Isso deve fornecer as versões corretas das bibliotecas e um sistema em funcionamento.
fonte
Eu tive esse problema que estava afetando meu lançador SWTOR no vinho. Lendo o exposto, decidi tentar fazer as coisas através da interface do usuário do Ubuntu. Aqui está a solução simples que funcionou para mim;
Remova e reinstale drivers adicionais através da interface do usuário:
fonte
depois de alguns testes, achei os pacotes:
trabalhar para todos os kernels 3.2.0- * e 3.8.0- *,
enquanto pacotes:
trabalhe apenas com o Kernel 3.8.0- *.
O Ubuntu jockey ainda recomenda a versão 319 também quando apenas o kernel 3.2.0- * está presente. Então, um bug aqui.
Além disso, os comandos:
ou
instale o driver para apenas uma versão do kernel para cada versão secundária e remova-o para todas as outras.
Portanto, no meu caso, tenho os seguintes kernels instalados:
Eu peguei o motorista apenas por:
durante a inicialização com os outros kernels, os resultados do driver não são instalados.
Parece-me que em algum lugar do pacote há uma indicação errada para construir e instalar apenas para algum kernel.
Em qualquer lugar, emitir o seguinte comando corrige a situação:
até o próximo apt-get install nvidia-current ou reconfigure
Tópico: Driver Nvidia atualizado - as versões mistas de 304.88 e 319.32 estão relacionadas à mesma coisa, mas eu não tinha crédito suficiente para postar lá.
fonte
Isso aconteceu comigo após a instalação do driver experimental mais recente da Nvidia. Eu ainda queria experimentar o driver mais recente, se possível, em vez de reverter para um driver mais antigo, e é isso que funcionou para mim:
fonte
Remover todos os pacotes da nvidia e reinstalar é realmente a maneira mais fácil de corrigir isso.
Primeiro, removi todos os pacotes da nvidia com o comando abaixo:
Depois, reinicializei apenas nossa curiosidade, para ver como seria minha interface gráfica - baixa resolução e lenta, como esperado.
Depois de abrir um shell, execute o comando abaixo para instalar a nvidia de volta:
Tudo funciona novamente. Boa sorte.
fonte