Então, depois de um dia, encontrei a solução para esse problema. A principal falha foi no compilador gcc que foi instalado a partir do repositório de teste (eu preciso dele para o golang), mas que freia o kernel.
Então, o que fiz para corrigir isso:
-
Faça login em tty1 com Ctrl - Alt - F1 em tela de login.
-
Pare o serviço lightdm com
sudo service lightdm stop
-
Limpe todos os pacotes nvidia e cuda com 'sudo apt purge nvidia- * cuda - * '
-
Instale a ferramenta ppa de limpeza:
sudo apt-get install ppa-purge
-
Remover o teste ppa:
sudo ppa-purge ppa:ubuntu-toolchain-r/test
-
Verifique a versão do gcc, agora deve ser 5.4.0.
gcc --version
-
Remover kernels antigos:
sudo apt-get purge linux-headers-4.4.0-119 linux-headers-4.4.0-119-generic linux-image-4.4.0-119-generic linux-image-extra-4.4.0-119-generic linux-signed-image-4.4.0-119-generic
-
Reinstalar o kernel:
sudo apt-get install linux-generic linux-signed-generic
-
Reinicialize
sudo reboot
(depois da reinicialização você pode ver a tela preta, tudo bem) -
Repetir 1-2
-
Instalar controladores nvidia
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt install nvidia-390 nvidia-390-dev
-
Reinstale o ubuntu-desktop
sudo apt install --reinstall ubuntu-desktop
-
Reinicializar
-
Lucro!