Eu tive um problema semelhante ( apt-get upgrade
e basicamente tudo quebrou) durante os últimos dias. Aqui estão meus aprendizados. Espero que eles possam ajudar alguém lá fora.
Estou executando o Ubuntu 14.04 em várias máquinas e a minha solução funcionou em todas elas depois que a encontrei: P
Primeiro de tudo, atualizar os drivers gráficos e o kernel ao mesmo tempo pode causar um problema se os módulos gráficos do kernel forem criados para o kernel em execução, porque o kernel irá mudar após a reinicialização.
Depois de brincar por algumas horas, esta foi a minha solução (em um desktop, usando apenas a placa gráfica instalada da Nvidia, então não há necessidade de bumblebee
ou primus
).
Sintoma: toda vez que eu reiniciei lightdm
( service lightdm restart
) o driver retornaria para mesa
, portanto não usando o driver Nvidia que eu instalei / atualizei. A mensagem em /var/log/Xorg.0.log
foi que não foi possível carregar nvidia_drv.so
)
para verificar:
update-alternatives --get-selections # lists all alternatives
update-alternatives --config x86_64-linux-gnu_gl_conf # available options and lets you choose "0" to automatically select the best driver
update-alternatives --config i386-linux-gnu_gl_conf # for multiarch or i386 machines
Exemplo:
update-alternatives --config x86_64-linux-gnu_gl_conf
There are 3 choices for the alternative x86_64-linux-gnu_gl_conf (providing /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/nvidia-340/ld.so.conf 8604 auto mode
1 /usr/lib/nvidia-340-prime/ld.so.conf 8603 manual mode
2 /usr/lib/nvidia-340/ld.so.conf 8604 manual mode
3 /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf 500 manual mode
Resultado: mesmo depois de explicitamente configurá-lo para "auto", uma vez iniciado, lightdm
redefiniria para mesa
driver, que pode ser visto em /var/log/alternative.log
.
A solução:
service lightdm stop
# remove all old stuff
apt-get remove --purge nvidia\*
apt-get remove --purge bumblebee
apt-get remove --purge primus primus-libs
apt-get autoremove --purge
# unload old drivers from kernel
rmmod nvidia
rmmod drm
# now everything is gone. Make sure you are running the latest kernel, then:
apt-get install nvidia-XXX # nvidia-367 for me, nvidia-current fits generally
update-alternatives --auto x86_64-linux-gnu_gl_conf
update-alternatives --auto i386-linux-gnu_gl_conf
service lightdm start
Et voila, /var/log/Xorg.0.log
mostra que carrega libglx
e nvidia_drv
da corporação NVIDIA. glxinfo
verifica isso.