Para iniciantes: Deu tela preta

Introdução e providências iniciais

Estou fazendo este artigo porque, embora seja algo conhecido, clássico, tenho visto aqui e em vários outros sites, postagens de iniciantes, reformatando tudo só porque tiveram tela preta, perderam acesso ao sistema gráfico ou à tela de login.

Geralmente é o driver de vídeo, ou mais raramente os módulos de kernel. Não precisa reformatar tudo, não se desespere!

Pré-requisito: Você precisa saber qual é a sua placa de vídeo. Um jeito simples, é com o comando:

$ lspci | grep -i vga

Antes de reformatar, tente estas coisas:

1. O mais simples:

Aperte Ctrl+Alt+F1 e depois Crtl+Alt+F7. Veja se sua tela de login ou gráfica “voltou”.

2. Não “voltou”…:

Agora, tente isto: Aperte de novo Ctrl+Alt+F1, vai aparecer uma linha assim:

Login:

Logue como usuário e tente este comando:

$ startx

Se ainda não deu, tente reiniciar o servidor gráfico, com os comandos abaixo. Logue como visto em 2, e tente estes comandos:

$ sudo xdm
E/ou:
$ sudo /etc/init.d/xdm restart

Se ainda não funcionou, e deu comando não achado, pode ser porque seu sistema usa systemd e não Sysinit, SysVinit ou OpenRC. Neste caso, tente:

$ sudo systemctl restart xdm.service

3. Ainda não deu…:

Aperte de novo Ctrl+Alt+F7, se não voltou, tente reiniciar apenas o gerenciador de login, sem reiniciar o servidor Xorg:

$ sudo lightdm

Obs.: no comando acima, troque lightdm por: kdm, gdm, lxdm ou entrance, conforme seja seu gerenciador de login, que pode variar com o ambiente gráfico.

Se não deu ainda, pare (ou “mate” o processo dele) o gerenciador de login, antes de reiniciar:

$ sudo lightdm stop
Ou:
$ sudo killall xdm
Ou:
$ sudo killall lightdm

E:

$ sudo lightdm start
Ou:
$ sudo lightdm restart
Ou:
$ sudo /etc/init.d/lightdm restart

Obs.: nos comandos acima, troque lightdm por: kdm, gdm, lxdm ou entrance, conforme seja seu gerenciador de login, que pode variar com o ambiente gráfico.

4. Se nada do que tentou funcionou, passe para a página 2.

Tentando outro driver de vídeo e reativando módulo de kernel

5. Aperte novamente Ctrl+Alt+F1, logue como usuário e verifique se seu sistema usa Xorg:

$ cat /etc/X11/xorg.conf

Encontrou um arquivo xorg.conf? Se encontrou, tente trocar o driver por um mais genérico. Como root, edite o seu xorg.conf:

$ sudo nano /etc/X11/xorg.conf

Vá na linha escrita driver= e troque o que estiver lá: nvidia, ati, radeon ou fglrx, por outros drivers. Você pode tentar: nv para as NVIDIA, vesa ou fbdev, deverá funcionar para todas as placas: NVIDIA, ATI (AMD) ou Intel.

Um deles poderá funcionar trocado, salve com Ctrl+o e saia do editor nano com Ctrl+x.

Repita o comando para reiniciar o X:

$ sudo /etc/init.d/xdm restart

Isso poderá subir o sistema gráfico, o X-Window. Mesmo com resolução baixa, você poderá trabalhar. 6. Mas nada do que fiz até agora funcionou, ou meu sistema não tem Xorg.

Tente reativar os módulos de kernel. Para placas NVIDIA, o comando é:

$ sudo modprobe nvidia

Para as ATI, tente:

$ sudo modprobe fglrx

Para as ATI antigas ou muito antigas:

$ sudo modprobe atyfb
E/Ou:
$ sudo modprobe ati

Agora, tente de novo reiniciar o X com o comando do item 5 e também tente os comandos da página 1.

Gerando ou configurando o Xorg

Você já tentou tudo o que está nas páginas 1 e 2, não deu, ou você não tem um arquivo /etc/X11/xorg.conf.

7. Aqui cabe uma ressalva:

Se você já TIVER um arquivo de configuração de Xorg, prefira copiar o seu para protege-lo e tente editá-lo, por exemplo, comentando as linhas de aceleração 3D.

$ cd /
$ cd etc/X11
$ sudo cp xorg.conf xorg.conf.copia
$ sudo nano xorg.conf

Vai tentando, por tentativa e erro. Ex.: comente as linhas de aceleração 3D, verifique se você tem 2 placas, uma Offboard e uma Onboard, conflitando, nesse caso, comente (com uma tralha: #) todas as linhas da placa que você não quer que funcione, etc, etc…

8. Você não tem um Xorg.conf:

Sua placa provavelmente é controlada pelo udev ou mais modernamente, pelo systemd. Mas, geralmente, fazer a placa usar Xorg pode resolver problemas.

Provavelmente, já tem, mas se não tiver, instale (pelos procedimentos de sua distro, exemplo: apt-get) os pacotes xorg-server e xorg.drivers.

Em alguns casos especiais (algumas AMD-ATI muito novas), elas não podem usar xorg-drivers, apenas xorg-server. Detalhes, veja aqui:

A instalação deve gerar um arquivo /etc/X11/xorg.conf. Se não gerar, faça-o manualmente:

$ cd /
$ cd etc/X11
$ sudo touch xorg.conf
$ sudo nano xorg.conf

Busque na Internet ou aqui no VOL (na sessão .Conf) um xorg.conf que sirva para a sua placa de vídeo. Coloque todas as linhas dele no seu arquivo /etc/X11/xorg.conf, e salve.

Repita o comando de reiniciar o X, da página 2.

O Xorg que você achou, ainda não funcionou, que falta de sorte! (rs)

Você tem certeza que sua placa é uma NVIDIA ou uma ATI? Gere/configure esse Xorg, pelos comandos:

$ sudo nvidia-xconfig # Para as NVIDIA
Ou:
$ sudo /opt/bin/aticonfig –initial # Para as ATI (AMD)

Se você tem uma Intel, ou, infelizmente, uma VIA ou SIS (coitadinho! rs.!,para fazer funcionar, que trabalhão!).

Gere (edite, configure) automaticamente um Xorg. Isto pode ser feito de maneira geral com qualquer placa, pelo comandos:

$ cd /
$ cd etc/X11
$ sudo Xorg -configure
 # Somente nas distros tipo Debian, substitua este comando por: sudo dpkg-reconfigure xserver-xorg

Detalhes, modificações, aperfeiçoamentos disso, veja em:

Outras coisas a tentar

9. Seu GNU/Linux tem linhas no GRUB para iniciar, abrir em modo de segurança ou de recuperação?

Se tem, você pode abrir nesse modo, e tentar as coisas ditas nas páginas de 1 a 3.

10. Também pode forçar, no boot, o sistema a usar um driver de vídeo simples e genérico, ou mesmo o ideal para sua placa e configurado ou não.

Proceda assim: ligue o micro. Fique atento para o início do GRUB. Apareceu o GRUB, muito rapidamente, use a tecla de seta, saia da linha de boot, não deixe o kernel iniciar.

Feito isso, volte para a linha do boot principal, aperte a tecla e e edite a linha de boot do kernel, trocando os parâmetros do boot (se chamam: cheat-codes). Você deve apagar os parâmetros de vídeo que estiverem lá e colocar o cheat-code: xdriver=vesa.

Feito isso, aperte F10 para dar boot. Não se preocupe, porque isso não altera seu GRUB. Só altera nesse boot específico.

Se sua placa de vídeo é uma ATI, invés de usar Vesa, pode ser melhor tentar antes apenas adicionar o cheat-code: nomodeset.

O exemplo abaixo esclarece. Esta é a linha de boot normal do kernel do Sabayon, eis como ficaria. Apertando e, edite. Depois, aperte F10 para dar boot:

Linha de boot do kernel default:

  linux   /boot/kernel-genkernel-x86_64-3.12.0-sabayon root=UUID=024579f5-42ad-4bd1-8f0f-23da56a4c896 ro real_init=/usr/lib/systemd/systemd  splash=silent,theme:sabayon
video=vesafb:ywrap,mtrr:3 vga=791 gfxpayload=1024x768x16
console=tty1 quiet dokeymap keymap=br-a nomodeset resume=swap:UUID=42d28857-66f7-4dc4-9f5a-b0acc6d93d65 real_resume=UUID=42d28857-66f7-4dc4-9f5a-b0acc6d93d65 root=UUID=024579f5-42ad-4bd1-8f0f-23da56a4c896

Apague a linhas referentes a vídeo e edite, colocando o driver Vesa genérico. Deixe assim:

linux   /boot/kernel-genkernel-x86_64-3.12.0-sabayon root=UUID=024579f5-42ad-4bd1-8f0f-23da56a4c896 ro real_init=/usr/lib/systemd/systemd  splash=silent,theme:sabayon
### APAGUE  ISTO
video=vesafb:ywrap,mtrr:3 vga=791 gfxpayload=1024x768x16
### E COLOQUE ISTO: xdriver=vesa
console=tty1 quiet dokeymap keymap=br-a nomodeset resume=swap:UUID=42d28857-66f7-4dc4-9f5a-b0acc6d93d65 real_resume=UUID=42d28857-66f7-4dc4-9f5a-b0acc6d93d65 root=UUID=024579f5-42ad-4bd1-8f0f-23da56a4c896

Se tiver uma ATI, tente assim:

linux   /boot/kernel-genkernel-x86_64-3.12.0-sabayon root=UUID=024579f5-42ad-4bd1-8f0f-23da56a4c896 ro real_init=/usr/lib/systemd/systemd  splash=silent,theme:sabayon
### NÃO APAGUE NADA
video=vesafb:ywrap,mtrr:3 vga=791gfxpayload=1024x768x16
### APENAS COLOQUE ISTO: nomodeset
console=tty1 quiet dokeymap keymap=br-a nomodeset resume=swap:UUID=42d28857-66f7-4dc4-9f5a-b0acc6d93d65 real_resume=UUID=42d28857-66f7-4dc4-9f5a-b0acc6d93d65 root=UUID=024579f5-42ad-4bd1-8f0f-23da56a4c896

Dando boot dessa forma, você “força” o sistema a usar driver genérico Vesa, o que pode fazer subir o X, mesmo com má resolução.

Outras opções a serem testadas em lugar de xdriver=vesa, podem ser fbvesa ou mesmo os drivers da sua placa: nvidia, ati, radeon, fglrx, nv. Um deles deverá funcionar e pronto, boot com tela gráfica!

11. Agora, o contrário. Você precisa inibir, “cortar” o modo gráfico completamente.

Você quer mesmo fazer boot sem tela gráfica.

Isso porquê está sem X, sem tela gráfica, mas também está sem controle de mouse ou de teclado, após o boot. Isso ocorria, por exemplo, nas ATI novas, com kernels anteriores à versão 3.9.

Veja acima, como em 10. Edite os cheat-codes no boot do kernel, mas coloque o parâmetro nox. Em Gentoo e Sabayon, use o parâmetro gentoo=nox. Ao dar o boot, haverá apenas um bash puro, uma “tela preta”, sem X.

Agora poderá tentar de novo, as coisas descritas nas páginas 1 a 4, mas deve iniciar o sistema gráfico manualmente.

Recuperada a tela gráfica – Como consertar

Agora, pelos procedimentos descritos nas páginas 1 a 4, você recuperou a tela gráfica. Pode estar com resolução baixa, mas “subiu o X”. Como consertar?

12. Primeiro, tente regular a resolução na sua interface gráfica.

Geralmente, está no Menu ou no Centro de Controle, em Monitor. Se sua placa for uma NVIDIA, veja também no controlador chamado: NVIDIA Settings. Se for uma ATI, veja no Catalyst Control Center.

13. Se não funcionar, tente com o comando xrandr. Os Dinossauros do Linux, usavam muito!

$ xrandr
Ou:
$ xrandr –current # Mostra os modos de vídeo e suas resoluções compatíveis.
$ xrandr –verbose # Modo completo, muitas informações sobre vídeo

Agora, usando o mesmo comando, tente setar a resolução máxima. Suponha que no comando acima, viu que a resolução máxima suportada é:

1280×1024      75.0     60.0

Isto é: 1280×1024, em frequências de 75 Hz ou 60 Hz. Regule permanentemente, com os comandos abaixo:

$ xrandr –auto # Isto regula automaticamente, tente primeiro, é mais seguro.

Se não funcionar, tente:
$ xrandr -s 1280×1024
Ou:
$ xrandr –output VGA –mode 1280×1024 –rate 75 # Se você tem vídeo digital, troque VGA por DVI.

Se não tiver certeza da resolução máxima, tente com uma mais baixa antes, porque pode perder o sincronismo de vídeo, aí não verá nada, só uma tela com cores embaralhadas. Também, em monitores digitais modernos, LCD ou LED, não use frequências de varredura acima de 75 Hz, pois pode danificar o monitor.

O xrandr é um comando preparado para funcionar sem necessidade de privilégios de root. Não o execute como root.

Há muitas outras funcionalidades no xrandr, até para regular múltiplos monitores. Detalhes, veja exemplos nestas home-pages. Pode também procurar na Internet, porque existem muitos outros exemplos e tutoriais:

14. Tentei tudo, não deu! (risos!) Meu amigo, você está com um problema… Calma, o seu driver de vídeo é que está com problema, precisa trocá-lo!

O melhor jeito é usar o driver para sua própria distribuição.

Primeiro, remova, desinstale qualquer driver de vídeo que tenha instalado antes. Procure por nvidia, ati, via ou sis no seu instalador gráfico de pacotes ou com comandos, e os instale.

Também instale um pacote chamado mesa. Para certas distros, como openSUSE, até instalação via WEB: 1 Click Install, pode ser usada.

Para servir de guia, coloco aqui alguns drivers que funcionam, para várias placas. Me baseei nos nomes dos pacotes para Sabayon e Gentoo, mas para outros GNU/Linux, os nomes devem ser parecidos.

Se você tiver uma SIS ou uma VIA Chrome, desista da Aceleração 3D e Compiz, não vai funcionar, ou vai, mas muito mal! Mas razoável resolução, deve conseguir.

Para placas NVIDIA mais recentes, drivers que funcionam são: nvidia-drivers e xf86-video-nouveau.

Para NVIDIA antigas, como a Gforce 5200, a 5500: nvidia-drivers Legacy, versões série 173 ou anteriores. Pode ser necessário usar também versões de kernel e Xorg antigas. Ou use xf86-video-nouveau.

Para NVIDIA muito antigas, como a MX 4000, use nvidia-drivers de série 96 ou anterior.

Para todas as NVIDIA, driver 2D: xf86-video-nv.

Para as ATI (e AMD-ATI) mais novas, série 5 ou superior: ati-drivers ou xf86-video-ati. Substituem os obsoletos drivers Radeon e “fglrx”:

Para as ATI antigas, série 4 ou inferior: xf86-video-ati.

Para as Intel: xf86-video-intel ou intel-graphics.

Para as VIA Chrome: xf86-video-openchrome, ou drivers via ou unichrome.

Para as SIS: tente o driver sis da distro ou os muito antigos drivers linuxsisvga:

Drivers genéricos que devem funcionar em todas placas: xf86-video-vesa.

15. Usando driver instalado manualmente:

Se reinstalar o driver da distribuição, ainda não funcionou, vamos ao menos fácil.

Baixe o driver do site do fabricante da placa de vídeo:

Salve em uma pasta. Agora precisa “parar” o servidor gráfico. Há alguns modos de fazer isso. Um deles é reiniciar a distro no nível de inicialização 3:

Aperte Ctrl+Alt+F1 e execute este comando:

$ sudo init 3

Mas, eu acho mais simples parar o serviço do servidor gráfico, do que reiniciar tudo.

$ sudo service xdm stop
Ou:
$ sudo /etc/init.d/xdm stop
Ou ainda:
$ sudo systemctl stop xdm

Se seu GNU/Linux usa systemd, se for necessário, também execute:

$ sudo killall lightdm # Ou gdm, kdm etc… dependendo do seu gerenciador de login
Ou:
$ sudo service lightdm stop

Fechado o X, lembrando que você está na pasta onde salvou o driver proprietário, rode seu instalador. Em geral, tem extensão .RUN. Execute este comando:

$ sudo ./Nome_do_Arquivo_de_Driver.run

16. Puxa, que azar! Ainda não! (Rsrrsrrsrsr!)

Pode ser preciso reinstalar o kernel.

De novo, remova, desinstale, qualquer driver de vídeo que tenha. Reinstale seu kernel de boot e refaça o procedimento descrito na etapas 14 ou 15.

17. Não, não funcionou nada até agora! (Rsrsrsrrsrsrsrrsrs!)

Antes de reformatar tudo, tente ainda colocar na Blacklist os drivers que não funcionaram.

Em um exemplo, você tentou instalar o driver Nouveau e ele não funcionou. Desinstale o Nouveau e coloque-o na Blacklist. Isso pode ser feito de dois jeitos. Ou edite o arquivo /etc/modprobe.d/blacklist.conf:

$ gksu # Ou kdesu, se você usa KDE, gedit (ou kate, kwrite, etc, seu editor da distro)

E coloque nele, a linha: blacklist nouveau

Ou, mais simples, execute este comando:

$ sudo echo “blacklist nouveau” >> /etc/modprobe.d/blacklist.conf

Pode ser necessário colocar outros drivers, como nv, por exemplo. Em um outro exemplo, para usar ATI Catalyst, pode tentar colocar fglrx e radeon na lista negra.

Finalmente, uma última coisa que pode tentar. Desative os módulos de kernel dos drivers que não funcionaram. Em um exemplo, suponha que radeon não funcionou…

$ sudo rmmod radeon
Ou:
$ sudo modprobe -r radeon

Conclusão

Neste artigo, vimos muita coisa que você pode tentar para recuperar a sua tela gráfica, antes de reinstalar tudo!

BOA SORTE!

Rolar para cima