Drivers NVIDIA não funcionando após a atualização. Por que eu só vejo o terminal?

34

Hoje eu atualizei para 11.04. Problemas. Depois que eu terminei a atualização, reiniciei o meu computador, conforme indicado. Quando passei pelo ubuntu 11.04 (pontos roxos de fundo laranja), ele simplesmente foi ao terminal e pediu para me conectar. Tentei reiniciar o servidor X com "sudo service gdm restart", mas nenhuma tela apareceu. Por acaso, também tenho alguns drivers NVIDIA no meu arquivo de downloads, então experimentei esses, mas o "script de instalação" falhou.

Depois de tudo isso, iniciei o Ubuntu no modo gráfico à prova de falhas. Decidi então ver o que aconteceria se eu removesse o driver proprietário. Ao fazer isso e reiniciar o meu Ubuntu inicializado no modo gráfico "yay!". Portanto, sem os drivers da Nvidia, finalmente posso ver algo além do terminal, mas preciso desses drivers da NVIDIA para o meu trabalho. Então o que eu posso fazer? Eu tentei instalar os novos drivers NVIDIA linux no site da NVIDIA e tentei Instalar o driver recomendado por meio de "drivers adicionais", mas ambos resultaram em meu bloqueio no terminal.

Se você pode ajudar ou me dar alguns conselhos, POR FAVOR! Estou realmente em uma situação muito ruim ...

Sexta Lei
fonte
2
Você removeu o arquivo /etc/X11/xorg.conf primeiro, depois reinicializou e tentou ativar a versão Drivers adicionais do driver NVIDIA?
fossfreedom
11
Estou com o mesmo problema. Ativo o driver, efetuo logoff e vejo "Nenhum dispositivo encontrado" no X log. Se eu remover o xorg.conf, o X iniciará sem o suporte ao GLX. Modprobe diz que o nvidiadriver está carregado.
vissi
Não, não removi o arquivo Xorg.conf. Estou tendo o mesmo problema que você fala. É terrível.
precisa saber é o seguinte
Recomendo a leitura deste guia: askubuntu.com/questions/61396/…
Luis Alvarado

Respostas:

30

Você precisará inicializar no modo de recuperação e emitir apt-get remove --purge nvidia-currentno terminal raiz, seguido por apt-get install nvidia-current- para reconstruir o driver da nvidia para o novo kernel. Eu tive esse problema também quando atualizei.

Por favor, não instale os drivers do site da nVidia! Você pode causar sérios problemas se tentar instalar o driver recomendado posteriormente, sem remover o driver anterior.

Editar: Você precisará executar esses comandos em um terminal. Não posso garantir um resultado perfeito, pois vou com base no que encontrei pela internet e pela memória.

O problema que você está recebendo é causado por diferentes componentes do modo de usuário e módulos do kernel. Para corrigi-lo, o módulo da nvidia kernel precisa ser reconstruído. Isso deveria acontecer na reinicialização, mas geralmente não ocorre.

Primeiro você precisa instalar os cabeçalhos do kernel do linux:

  • sudo apt-get install linux-headers-generic

Então você precisará executar o dkms para remover o antigo módulo do kernel da nvidia:

  • sudo dkms remove nvidia

Então corra:

  • sudo apt-get install nvidia-current
  • isso deve torná-lo instalado corretamente, então tudo que você precisa fazer é executar sudo nvidia-xconfig and reboot.
  • Se você ainda receber um erro sobre a versão do módulo, execute: sudo dkms build nvidia

Isso deve resolver o problema.

Desculpe se as coisas estão um pouco confusas, tentei juntar novamente o processo que precisava usar da melhor maneira possível :)! Se você tiver problemas, não hesite em me avisar (e se alguém encontrar algum problema com as instruções, por favor me avise o mais rápido possível) !!!!


Atualizar:

Eu encontrei outra causa possível. O Nouveau pode não ter sido incluído na lista negra e a nvidia-current pode não ter se colocado no arquivo .conf usado para escolher o driver de vídeo. Aqui está como corrigi-lo:

NB:

Antes de continuar, verifique se você possui o driver nvidia-current dos repositórios. Baixar o driver do site da nvidia pode causar problemas mais tarde, pois não usa o formato de pacote debian e deixa para trás coisas que podem entrar em conflito com instalações posteriores. Portanto, certifique-se de limpar os vestígios primeiro e instale o driver padrão nos repositórios do Ubuntu. Caso contrário, ocorrerá uma incompatibilidade de driver e essa correção será inútil.

  • Se você estiver preso no console, efetue login e instale o driver nouveau X.org: sudo apt-get install xserver-xorg-video-nouveau
  • Reinicie o computador (você terá gráficos funcionais, sim! Mas isso é temporário).
  • Abrir gedit como root: gksu gedit.
  • Do gedit aberto /etc/modprobe.d/blacklist.conf.
  • Adicione esta linha na parte inferior: blacklist nouveau.
  • Salve o arquivo e abra /etc/modprobe.d/nvidia-graphics-drivers.conf.
    • Adicione estas linhas:

      lista negra nouveau
      lista negra lbm-nouveau
      lista negra nvidia-173
      lista negra nvidia-96
      alias nvidia nvidia-current

  • Agora salve este arquivo e feche o gedit.
  • Corre:
    • sudo nvidia-xconfig,
    • e depois:
    • sudo apt-get remove xserver-xorg-video-nouveau,
    • Seguido por:
    • sudo shutdown -r now.
  • Quando o sistema reiniciar, você deverá ter drivers da nvidia em funcionamento.
A propósito, esse problema de não incluir a lista negra nouveau parece existir nos drivers mais recentes (nvidia-current), então eu sugiro que após a correção do problema, você espere uma atualização sobre esse bug (vou relatar o bug em breve )

Solução alternativa: se você instalou os drivers da NVIDIA no site deles, deve inicializar em um terminal de texto (mantenha pressionado na inicialização para ver o menu grub e selecione o modo 'recovery' da versão do kernel que funcionou pela última vez com os drivers da NVIDIA, e selecione a linha de comando como opção raiz)

Em seguida, execute o script de instalação original da NVIDIA que você executou para instalar os drivers da NVIDIA no site deles. por exemplo sudo ./NVIDIA-Linux-x86-290.10.run --uninstall. (Sua versão pode ser diferente.)

Você não precisará executar o comando "sudo dkms remove nvidia", pois isso não se aplica ao seu caso.

RolandiXor
fonte
Eu tentei isso, mas quando reiniciei, novamente mostrou apenas o terminal. Tentei o sudo startx no terminal e recebi essas mensagens, entre outras: ERRO: Incompatibilidade da API: o módulo do kernel da NVIDIA tem a versão 260.19.36, o componente do driver da NVIDIA tem a versão 270.41.06. Certifique-se de que o módulo do kernel e todos os componentes do driver da nvidia tenham a mesma versão.
precisa saber é o seguinte
Também recebi o seguinte: Erro fatal do servidor nenhuma tela encontrada.
Sixthlaw
11
@ Sixthlaw: ahhh - segure firme, é um problema de dkms, e é o mesmo que eu tinha. Você precisará emitir o dkms build na linha de comando (eu esqueci o comando, aguarde até que eu o obtenha e atualizarei minha resposta).
RolandiXor
11
sudo apt-get install nvidia current->sudo apt-get install nvidia-current
IanVaughan
11
Observe que a chamada fornecida de dkmsé suportada apenas na 11.10 ou mais recente. No 11.04 ou anterior, você também precisa fornecer as versões do módulo e do kernel ( man dkms).
Kynan
12

É por isso que eu sempre recomendo instalar o Ubuntu como uma instalação limpa em vez de fazer uma atualização. Esta é apenas a minha opinião, mas sempre tive algum problema ao fazer atualizações. Sem problemas ao fazer uma instalação limpa.

Pelo que li nas outras respostas, você instalou o driver da Nvidia no site da Nvidia. Mesmo que funcione bem e etc. NÃO FAÇA! O que vem nos repositórios do ubuntu foi testado e esse é o recomendado.

No seu caso, você precisará fazer várias coisas.

Etapa 1 - Desinstale o driver da nvidia que você instala e nunca mais o instale. Isso evitará que você tenha aquele problema específico que ... ei ... alguém também o teve (Eu;)), você também precisa remover os módulos e quaisquer arquivos de configuração que deixar para trás. Se não me engano, os drivers da nvidia do site da Nvidia têm um binário de desinstalação. Execute isso e verifique se não há outros arquivos da nvidia em execução.

ATUALIZADO - Para desinstalar um driver Nvidia instalado no site da Nvidia, você pode ter uma das várias opções:

  • Alguns sugerem desinstalar usando o mesmo instalador.
    Exemplo: NVIDIA-Linux-x86-1.0-8178.run --uninstall
  • Outros sugerem o uso do Nvidia Installer.
    Exemplo: nvidia-installer --uninstall

DICA - Tente digitar --help no final do executável binário da Nvidia para ver se mostra alguma ajuda. Páginas como https://help.ubuntu.com/community/NvidiaManual And http://www.nvnews.net/vbulletin/showthread.php?t=83678 dão uma idéia de como desinstalar o driver da Nvidia no site da Nvidia.

Etapa 2 - Reinicialize e verifique se NADA sobrou da nvidia. Exclua o arquivo xorg.conf, pois você estará criando um novo em breve. Reinicie.

Etapa 3 - Instale os drivers Nvidia recomendados. sudo apt-get install nvidia-currentou sudo apt-get reinstall nvidia-current(Se você já o instalou. Recomendaria a desinstalação e a instalação novamente.)

Etapa 4 - CRIE o arquivo xorg.conf para o driver recomendado pela Nvidia. nvidia-xconfig. Isso criará o arquivo xorg.con com as opções necessárias para sua placa de vídeo nvidia. Reinicie novamente.

Até esta etapa, eu precisaria de feedback se você tivesse algum problema. Para uma solução mais geral, leia este guia: Como instalar os drivers da Nvidia?

Luis Alvarado
fonte
11
Minhas desculpas Mas não sei exatamente como executar a etapa 1. Parece que não consigo encontrar o script de desinstalação de que você fala.
Sixthlaw
11
Sem problemas Sexta lei. Deixe-me encontrar. Dê-me um par de minutos
Luis Alvarado
11
Atualizado para incluir uma pequena ajuda sobre como removê-lo. Informe-me se isso ajuda e qual ajudou.
Luis Alvarado
11
Isso não é solução, se eu quiser instalar um determinado driver, a solução não é instalar outra coisa. É como resolver o problema do Java dizendo não usar Java, use Python. Eu tenho esse mesmo problema (incompatibilidade de versão do módulo do kernel), mas definitivamente preciso deste driver de driver NVIDIA CUDA.
Skrat
11
Não estou dizendo para instalar outra coisa. Estou dizendo que o mais compatível nesse caso é o que acompanha o Ubuntu. Isso foi provado repetidamente que causa menos problemas, é mais amigável ao fazer uma atualização / atualização e você tem mais documentação e comentários da comunidade para isso. Se eu fosse falar sobre java, eu recomendaria o openjdk por várias razões, para python o que vem por padrão, porque ele já foi testado e assim por diante. Você entende meu ponto aqui, estou supondo.
18711 Luis Alvarado
7

Eu também tive um problema com os drivers da nvidia e fiz tudo o que pude encontrar (também nas outras respostas):

  • remova os drivers instalados anteriormente e instale novamente
  • inicializando failsafeXe ativando o driver
  • usando o driver anterior ( 173)
  • eu adicionei UNITY_FORCE_START=1a /etc/environmentcomo mencionado aqui (como GeForce 7300/7400 estão na lista negra, mas eu tenho uma GeForce Go 7100)

Mas tudo continuou falhando. Então, como último recurso (eu deveria ter pensado nisso antes), investiguei os arquivos X-log. Dentro do meu /var/log/Xorg.0.logeu descobri que a nvidia tinha problemas para alocar a memória:

[    14.055] (EE) NVIDIA(0): Failed to allocate primary buffer: out of memory.
[    14.055] (EE) NVIDIA(0):  *** Aborting ***

Aparentemente, este é um bug conhecido, e eu tive que fazer o seguinte para corrigir isso:

  • editar /etc/default/grub
  • encontre a opção GRUB_CMDLINE_LINUXe adicione nopat, então para mim isso parecia

    GRUB_CMDLINE_LINUX="nopat"

  • corre sudo update-grub

E então, finalmente, tudo funcionou bem para mim :) Espero que isso ajude.

nathanvda
fonte
Isso funcionou perfeitamente, muito obrigado! (Nvidia GeForce 9400 em Natty 64 bits rodando drivers "correntes")
dandelionmood
2

Observe que o kernel abaixo está apontando para uma versão anterior do Ubuntu. O novo kernel do Ubuntu 11.10 é 3.0.0.12. Eu tive o mesmo problema em ser colocado no modo de comando e o Xserver falhar enquanto não conseguia encontrar o driver nvidia_173. Percebi então que a atualização não atualizava meu MBR para apontar para 3.0.0.12. Usei o EasyBCD para atualizar o arquivo, reiniciei e tudo estava bem. Esses tipos de falhas no driver podem ocorrer quando estão em níveis mistos, é claro. Meu conselho, após a atualização, verifique se você está executando o novo kernel, initrd, vmlinuz, ... o que você tem.

DKMS make.log for nvidia-current-270.41.06 for kernel 2.6.38-8-generic (x86_64)
Sat May 14 20:48:39 EDT 2011

The C compiler 'cc' does not appear to be able to
create executables.  Please make sure you have 
your Linux distribution's gcc and libc development
packages installed.

*** Failed CC sanity check. Bailing out! ***

make: *** [select_makefile] Error 1

Eu descobri que o cc (alias para o gcc) usado no meu / usr / bin não era a mesma versão que o gcc encontrado no mesmo diretório, independentemente de todos os pacotes dev que já estavam instalados na minha máquina. Eu tive que fazer um link simbólico para apontar para o arquivo gcc.

sudo mv /usr/bin/cc /usr/bin/cc.old
sudo ln -s /usr/bin/gcc /usr/bin/cc

Depois disso, a reinstalação do pacote nvidia-current fez o truque para mim.

Saudações

Steven Rosato
fonte
2

Minha atualização 11.04 também foi inicializada apenas em uma janela de terminal. Então eu encontrei este site. Comecei a fazer o que Roland Taylor recomendou, primeiro fiz

sudo apt-get install linux-headers-generic

Então eu tentei fazer:

sudo dkms remove nvidia 

Mas ele falhou reclamando que o comando foi não foi completa, que eu precisava -me -vea versão

Eu estava tentando repetir, mas notei que a tela tinha informações de log do primeiro comando, notando que tinha sido instalada nvidia-currentquando instalei os cabeçalhos genéricos, então pensei: será que vou fazer se reiniciar agora? Então eu fiz e o desktop X funcionou bem. Portanto, apenas um comando corrigiu meu problema de instalação.

Johngee
fonte
0

Isso funcionou para mim.

1) Mude para o Terminal F1, pressionando Ctrl + Alt + F1.

2) Execute os seguintes comandos.

sudo /etc/gdm stop
sudo apt-get install linux-headers-$(uname -r) linux-image-$(uname -r)
wget -O /tmp/nvidia.run http://us.download.nvidia.com/XFree86/Linux-x86/280.13/NVIDIA-Linux-x86-280.13.run
# Make sure to allow the script to uninstall all existing drivers.
sudo sh /tmp/nvidia.run
sudo /etc/gdm start
Rune Kaagaard
fonte
0

Para quem também tiver esse problema, verifique se o Optimus (tecnologia de comutação da placa de vídeo da Nvidia) está desativado no BIOS.

Sam Youtsey
fonte