Ho avuto un problema simile ( apt-get upgrade
e praticamente tutto si è rotto) negli ultimi giorni. Ecco i miei apprendimenti. Spero che possano aiutare qualcuno là fuori.
Sto eseguendo Ubuntu 14.04 su diverse macchine e la mia soluzione ha funzionato su tutte una volta che l'ho trovata: P
Innanzitutto, l'aggiornamento dei driver di grafica e del kernel allo stesso tempo può causare problemi se i moduli del kernel di grafica sono creati per il kernel in esecuzione, poiché il kernel cambierà dopo il riavvio.
Dopo aver armeggiato per alcune ore, questa era la mia soluzione (su un desktop, usando solo la scheda grafica Nvidia installata, quindi non è necessario bumblebee
o primus
).
Sintomo: ogni volta che ho riavviato lightdm
(service lightdm restart
) il driver eseguiva il fallback mesa
, quindi non utilizzando il driver Nvidia che avevo installato / aggiornato. Il messaggio /var/log/Xorg.0.log
era che non poteva caricare nvidia_drv.so
) per verificare:
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
Esempio:
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
Risultato: anche dopo averlo impostato esplicitamente su "auto", una volta avviato lightdm
lo ripristinerebbe sul mesa
driver, che può essere visto in /var/log/alternative.log
.
La soluzione:
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 voilà, /var/log/Xorg.0.log
mostra che carica libglx
e nvidia_drv
dalla società NVIDIA. glxinfo
lo verifica.
rm .Xauthority
, passare nuovamente alla GUI (Alt + F7) e riprovare?