Como faço para atualizar meus módulos nvidia depois de atualizar meu kernel?

13

Sempre que há uma atualização do kernel, os drivers gráficos da nvidia param de funcionar porque não há um módulo de kernel válido.

Qual é a maneira do Ubuntu de 'recompilar' o módulo nvidia para o novo kernel?

Não deveria ser feito automaticamente? Estou sofrendo um bug?

    
por fazineroso 09.08.2012 / 09:42

5 respostas

5

Se você instalou o driver NVIDIA como um pacote do Ubuntu, ele deve ser atualizado automaticamente após cada atualização do kernel.

Você pode instalar o driver empacotado usando a ferramenta Additional Drivers no painel ou instalando o pacote nvidia-current .

Se você instalou o driver nvidia diretamente de seu site, é sensato removê-lo antes de instalar este pacote - não tenho certeza de como será bom detectar o conflito.

Se você instalou o pacote dos repositórios do ubuntu, pode tentar reconfigurá-lo com dpkg-reconfigure , mas suspeito que a criação do módulo nvidia seja acionada pela instalação de um novo kernel, e não sei como acioná-lo. A desinstalação e reinstalação tradicionais podem funcionar bem ( sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current ).

    
por chronitis 09.08.2012 / 10:14
4

Para mim, o dpkg-reconfigure reconstrói o driver Nvidia com o kernel mais recente. Isso requer uma reinicialização para entrar em vigor. Meu exemplo abaixo usa as nvidia-304-updates mais antigas.

sudo dpkg-reconfigure nvidia-304-updates

EDIT: Eu consegui automatizar isso escrevendo um script zz-dkpg-reconfigure-nvidia que é executado após as atualizações do kernel

#!/bin/bash
#
# Reconfigure nvidia driver

DRIVER=nvidia-304-updates

dpkg-reconfigure $DRIVER > /var/log/dpkg-reconfigure-nvidia.log 2>&1

exit 0

Eu instalei o script acima executando

sudo install zz-dkpg-reconfigure-nvidia /etc/kernel/postinst.d

Funciona no meu kernel do Ubuntu 14.04 3.13.0-29 para a atualização 3.13.0-36.

    
por user424174 17.09.2014 / 08:44
2

Se você quiser reconstruir apenas os módulos do kernel, talvez queira apenas executar

sudo apt-get install --reinstall nvidia-current

se você tem o nvidia-current instalado, ou se você tem o nvidia-331 instalado, então isso deve funcionar:

sudo apt-get install --reinstall nvidia-331

não é necessário adicionar um repo ou instalar um novo software: -)

    
por Steel Brain 17.08.2014 / 21:25
1

Por favor, note que não é recomendado instalar uma atualização de kernel nem drivers de repositórios não suportados oficialmente! Siga estas instruções por sua conta e risco e somente se você souber o que está fazendo!

Se você instalou um kernel que está à frente dos atuais repositórios oficiais do Ubuntu (por exemplo, o kernel 3.4 ou 3.5), você pode não ter sucesso com a simples reinstalação dos drivers da nvidia.

A única maneira que encontrei até agora para obter drivers da nvidia para trabalhar novamente é adicionando o seguinte ppa aos seus repositórios. Em um tipo de terminal:

sudo add-apt-repository ppa:xorg-edgers/ppa

Depois disso, faça um sudo apt-get update e sudo apt-get install nvidia-current .

Isso deve fazer o truque. Caso contrário, execute um sudo apt-get upgrade adicional.

    
por FuzzyQ 09.08.2012 / 14:49
0

Quando você instalou o driver binário NVIDIA, provavelmente não instalou o pacote dkms. O Dkms garante que, toda vez que você atualizar o kernel, módulos que o suportam sejam recompilados:

sudo apt-get install dkms

Provavelmente você precisaria reinstalar os drivers binários da NVIDIA posteriormente e permitir o uso do DKMS durante a configuração, já que ele precisa ser registrado com ele.

    
por Karel Lenc 18.11.2016 / 14:58