Miałem podobny problem ( apt-get upgrade
i zasadniczo wszystko się zepsuło) w ciągu ostatnich kilku dni. Oto moje nauki. Mam nadzieję, że mogą komuś pomóc.
Używam Ubuntu 14.04 na kilku komputerach i moje rozwiązanie działało na nich wszystkich, gdy je znalazłem: P
Przede wszystkim aktualizacja sterowników graficznych i jądra w tym samym czasie może powodować problem, jeśli moduły jądra grafiki są budowane dla działającego jądra, ponieważ jądro zmieni się po ponownym uruchomieniu.
Po kilku godzinach majstrowania, to było moje rozwiązanie (na komputerze stacjonarnym, tylko przy użyciu zainstalowanej karty graficznej Nvidia, więc nie ma potrzeby bumblebee
lub primus
).
Objaw: za każdym razem, gdy restartowałem lightdm
( service lightdm restart
) sterownik wracał do mesa
, więc nie korzystałem ze sterownika Nvidia, który zainstalowałem / zaktualizowałem. Wiadomość /var/log/Xorg.0.log
była taka, że nie można załadować nvidia_drv.so
), aby sprawdzić:
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
Przykład:
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
Wynik: nawet po jawnym ustawieniu go na „auto”, po uruchomieniu lightdm
zresetuje go do mesa
sterownika, co można zobaczyć w /var/log/alternative.log
.
Rozwiązanie:
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
pokazuje, że ładuje libglx
i nvidia_drv
od korporacji NVIDIA. glxinfo
weryfikuje to.
rm .Xauthority
, ponownie przełączyć na GUI (Alt + F7) i spróbować ponownie?