Não é possível fazer o login durante a inicialização sem reinstalar os drivers gráficos

4

Meu sistema tem um problema recorrente em que não consigo fazer o login depois que certos pacotes foram atualizados. Abaixo está a lista dos pacotes de instalação mais recentes retirados de /var/log/dpkg.log e, na reinicialização, não consegui fazer o login usando a GUI.

2015-02-25 10:36:39 install linux-image-3.13.0-46-generic:amd64 <none> 3.13.0-46.75
2015-02-25 10:36:41 install linux-headers-3.13.0-46:all <none> 3.13.0-46.75
2015-02-25 10:36:44 install linux-headers-3.13.0-46-generic:amd64 <none> 3.13.0-46.75
2015-02-25 10:36:45 install linux-image-extra-3.13.0-46-generic:amd64 <none> 3.13.0-46.75
2015-02-25 10:36:50 install linux-signed-image-3.13.0-46-generic:amd64 <none> 3.13.0-46.75

Isso também acontece no dia 18 de fevereiro, durante a atualização de diferentes pacotes. Este log é do Synaptic.

Commit Log for Wed Feb 18 00:37:15 2015


Upgraded the following packages:
apport (2.14.1-0ubuntu3.6) to 2.14.1-0ubuntu3.7
apport-gtk (2.14.1-0ubuntu3.6) to 2.14.1-0ubuntu3.7
compiz (1:0.9.11.3+14.04.20141104-0ubuntu1+ppa2) to 1:0.9.11.3+14.04.20150122-0ubuntu1
compiz-core (1:0.9.11.3+14.04.20141104-0ubuntu1+ppa2) to 1:0.9.11.3+14.04.20150122-0ubuntu1
compiz-gnome (1:0.9.11.3+14.04.20141104-0ubuntu1+ppa2) to 1:0.9.11.3+14.04.20150122-0ubuntu1
compiz-plugins-default (1:0.9.11.3+14.04.20141104-0ubuntu1+ppa2) to 1:0.9.11.3+14.04.20150122-0ubuntu1
gir1.2-gudev-1.0 (1:204-5ubuntu20.9) to 1:204-5ubuntu20.10
libcompizconfig0 (1:0.9.11.3+14.04.20141104-0ubuntu1+ppa2) to 1:0.9.11.3+14.04.20150122-0ubuntu1
libdecoration0 (1:0.9.11.3+14.04.20141104-0ubuntu1+ppa2) to 1:0.9.11.3+14.04.20150122-0ubuntu1
libfreetype6 (2.5.2-1ubuntu2.2) to 2.5.2-1ubuntu2.3
libgudev-1.0-0 (1:204-5ubuntu20.9) to 1:204-5ubuntu20.10
liblightdm-gobject-1-0 (1.10.3-0ubuntu2) to 1.10.4-0ubuntu2
libpam-systemd (204-5ubuntu20.9) to 204-5ubuntu20.10
libsystemd-daemon0 (204-5ubuntu20.9) to 204-5ubuntu20.10
libsystemd-journal0 (204-5ubuntu20.9) to 204-5ubuntu20.10
libsystemd-login0 (204-5ubuntu20.9) to 204-5ubuntu20.10
libudev1 (204-5ubuntu20.9) to 204-5ubuntu20.10
libudev1:i386 (204-5ubuntu20.9) to 204-5ubuntu20.10
lightdm (1.10.3-0ubuntu2) to 1.10.4-0ubuntu2
python3-apport (2.14.1-0ubuntu3.6) to 2.14.1-0ubuntu3.7
python3-problem-report (2.14.1-0ubuntu3.6) to 2.14.1-0ubuntu3.7
systemd-services (204-5ubuntu20.9) to 204-5ubuntu20.10
udev (204-5ubuntu20.9) to 204-5ubuntu20.10
x11-common (1:7.7+1ubuntu8) to 1:7.7+1ubuntu8.1
xorg (1:7.7+1ubuntu8) to 1:7.7+1ubuntu8.1
xserver-xorg (1:7.7+1ubuntu8) to 1:7.7+1ubuntu8.1
xserver-xorg-input-all (1:7.7+1ubuntu8) to 1:7.7+1ubuntu8.1
xserver-xorg-video-all (1:7.7+1ubuntu8) to 1:7.7+1ubuntu8.1

O principal problema de não poder fazer o login pode ser corrigido facilmente em 5 minutos digitando o TTY com Ctrl + Alt + F1 e reinstalar os drivers gráficos com:

sudo service lightdm stop
cd ~/Downloads
sudo ./NVIDIA-Linux-x86_64-346.35.run
sudo reboot

A minha pergunta é, alguém sabe por que isso acontece e, potencialmente, como impedir que isso aconteça no futuro. Minha melhor teoria é que atualizar o kernel ou o xorg muda algo que quebra meus drivers gráficos.

Estou usando os drivers proprietários Nvidia 346.35 de 64 bits baixados da nvidia.com e minha placa gráfica é uma GeForce GTX 970.

O problema parece ser um problema com o DKMS, no entanto, ao instalar os drivers Nvidia, se eu selecionar a opção yes em Would you like to register the kernel module sources with DKMS? This will allow DKMS to automaticalty build a new module, if you install a different kernel later. , recebo o erro abaixo.

ERROR: Unable to load the kernal module!

[25961, 788963] systemd-udevd[1735]: Failed to apply ACL on /dev/dri/card0: No such file or directory
    
por Michael Lindman 25.02.2015 / 13:48

1 resposta

3

Sim, o driver da nvidia usa um módulo do kernel. Quando o driver nvidia, o VirtualBox, o ndiswrapper e um ou dois outros pacotes são instalados, eles se conectam a um sistema chamado dkms. O DKMS irá construir automaticamente cópias desses módulos para qualquer novo kernel instalado (depois que o gerenciador de pacotes instala o linux-whatever-image e o linux-whatever-headers, ele executa o dkms, que reconstrói esses módulos um por um).

Assim, o Ubuntu 14.04 só possui drivers nvidia-331 em seus pacotes usuais. Mas a solução, se você quiser que o dkms faça isso e tenha esses drivers mais novos, é adicionar uma nova fonte de software: ppa: xorg-edgers / ppa

Com os xorg-edgers adicionados como uma fonte de software, você deve encontrar os pacotes nvidia-346 listados e, na verdade, os mais novos devem ser listados quando forem lançados. Este repositório destina-se a instalar drivers de vídeo mais novos do que sua distro teria de outra forma, tanto os drivers estáveis que são apenas um pouco mais novos, quanto as versões de desenvolvimento "de ponta". Então eu não ficaria surpreso se o mais novo pacote da nvidia não sair no mesmo dia em que a nvidia o lança.

Plano B, se você não quiser fazer isso: o dkms realmente não precisa que você tenha um pacote para funcionar. Pela página man, parece que você pode adicionar uma árvore arbitrária de fontes de módulos do kernel em dkms e ela cuidará do resto. O arquivo .run da nvidia coloca um diretório de compilação do módulo do kernel em algum lugar ou outro, puxe-o para o dkms e ele deve cuidar de si mesmo.

    
por user153822 03.03.2015 / 11:04