¿Por qué mis consolas virtuales están completamente en blanco?

19

Cuando paso de mi sesión gráfica a una consola virtual con Ctrl+ Alt+ F i(con i en 1 - 7 y 9-12) veo una pantalla completamente negra. Solo en F8 veo la GUI. Ni siquiera un cursores parpadeante sobre los demás. Cuando ingreso algo, no puedo ver nada.

¿Cuál es el problema y cómo lo soluciono?

Mi sistema

$ uname -a
Linux pc09 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Linux Mint 17 Qiana \n \l
$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK110B [GeForce GTX Titan Black] (rev a1)
$ lspci -k | grep -A 2 -i "VGA"
01:00.0 VGA compatible controller: NVIDIA Corporation GK110B [GeForce GTX Titan Black] (rev a1)
Subsystem: NVIDIA Corporation Device 1066
Kernel driver in use: nvidia

editar: intenté los primeros pasos sugeridos en http://forums.linuxmint.com/viewtopic.php?f=42&t=168108 y el problema parece ser el framebuffer.

Hice esto:

Este ha sido un problema que ha sido una molestia con los controladores propietarios de Nvidia durante dos o tres años, y me ha mantenido alejado de las distribuciones basadas en Ubuntu durante algún tiempo. Finalmente, en el foro de Nvidia, encontré la solución que estaba buscando. El problema surge con los controladores propietarios de Nvidia (Nouveau no muestra este comportamiento): cuando presionas ctrl-alt-F1, solo obtienes una pantalla negra o, en el mejor de los casos, un cursor intermitente que no hace nada. Aparentemente, el problema tiene que ver con la forma en que se implementa el framebuffer y esto debe deshabilitarse. Para ver si este es el problema, primero debe hacer un par de modificaciones menores a / etc / default / grub, pero primero, ¡haga una copia de seguridad!

$ sudo cp /etc/default/grub /etc/default/grub.bak

Ahora edite el archivo ingresando

$ sudo pluma /etc/default/grub

en el editor, descomente las líneas

#GRUB_TERMINAL=console
#GRUB_GFXMODE=640x480

quitando el #. Guarde el archivo y ejecute undate-grub para implementar los cambios.

sudo update-grub

Ahora tengo (un resultado bajo) tty trabajando de nuevo :-)

Martin Thoma
fuente
Tarjeta de video y controlador? ¿KMS está habilitado y funciona?
jasonwryan
He agregado la salida de lspci | grep VGA. ¿Cómo verifico sus preguntas de KMS?
Martin Thoma
¿Estás usando el blob o el nouveau? Con el controlador propietario, puede necesitar un framebuffer como uvesafb. Las personas deben menta ya lo tienen documentado en alguna parte ...
jasonwryan

Respuestas:

10

Esto se debe a que está utilizando el controlador NVidia patentado.

Cuando estaba OpenSUSE con el controlador propietario, mis consolas también estaban en negro, ahora que estoy usando Ubuntu nuevamente obtienen un efecto aún más "fresco" (¡No se preocupe, la pantalla está bien!) Otras cosas interesantes que el controlador NVidia puede hacer

La razón de esto parece ser el controlador del núcleo NVidia que, una vez inicializado por el controlador DDX (= X11 dependiente del dispositivo), no puede hacer frente a las solicitudes de ningún otro subsistema de video (como fbdev, VESA, consola Linux , ...).

La consola aún se activará al cambiar a ella. Para verificar esto, intente iniciar sesión ciegamente en la consola e ingrese algo que sea fácil de notar, como wallo reboot:

<Your username>
<Your password>
echo "Test message" >/tmp/message; wall </tmp/message

Después de regresar de la consola, debería ver algo como esto en cualquier ventana de terminal:

Broadcast message from <Your username>@<Hostname>
        (/dev/tty2) at 23:38 ...

Test message

Desafortunadamente, no conozco ninguna forma de solucionar esto, excepto el uso del controlador OpenSource ("nouveau"). El cambio de VT funciona bien con ese controlador, pero ese controlador crea otros problemas (bloqueos espontáneos y, en general, menos rendimiento en mi caso). Tampoco soy desarrollador de kernel ni desarrollador de NVidia, así que no puedo hacer mucho más que analizar los síntomas yo mismo.

ntninja
fuente
Esto es solo un problema en la consola framebuffer. Si no lo usa, las consolas virtuales funcionan bien.
casey
@ alexander255 ver mi edición en la pregunta: lo tengo (parcialmente) para trabajar de nuevo. Realmente no entiendo lo que está sucediendo aquí y qué es una buena solución, por lo que agradecería que alguien pudiera escribir una buena respuesta.
Martin Thoma
@casey: ¿Propones confiar en la configuración de video durante el arranque? ¿O ejecutó con éxito SVGATextMode con una tarjeta nvidia moderna y su controlador propietario?
Incnis Mrsi
@IncnisMrsi Afaik, el controlador de nvidia patentado, es incompatible con el framebuffer. Usa noveau si quieres ambos.
casey
@casey: ¿Cuándo fue incompatible? En 2014, tal vez, pero el controlador actual me mostró un TUI atractivo (aunque no estoy completamente seguro de que lo fuera fbdev). Ī̲ pateé el nvidiamódulo de mi nueva caja solo después de que me colgó . Por cierto, estoy hablando sobre los modos de texto de hardware .
Incnis Mrsi
1

No conozco demasiado bien el sistema ubuntu, pero normalmente ttysse generan agettydurante el proceso de arranque. ¿Quizás los desarrolladores de Ubuntu decidieron no hacerlo? De todos modos, puede probar como ejecución raíz /sbin/agetty 38400 tty2 linuxy ver si algo ha cambiado tty2.

Normalmente este comando está presente en algún archivo de configuración en la /etccarpeta. Por ejemplo, en mi caja gentoo en /etc/inittabTengo

# TERMINALS
c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
c5:2345:respawn:/sbin/agetty 38400 tty5 linux
c6:2345:respawn:/sbin/agetty 38400 tty6 linux

Puede grep getty /etc/*ver si hay un archivo con líneas similares.

jimmij
fuente
Primero, si no se crea una consola virtual, entonces no puede acceder a ella, y si existe, entonces el cursor (normalmente) parpadea allí. En segundo lugar, gettyno tiene nada que ver con los modos de video, especialmente en tty1que siempre está presente. Voto a favor.
Incnis Mrsi
1

Ugh Entonces, este problema me había estado molestando durante probablemente 18 meses. Lo arreglé hoy finalmente.

Tuve que configurar una partición de arranque UEFI y obtener el sistema capaz de arrancar desde ella. Habilité efifb, simplefb y el controlador genérico fb en opciones pci (muchas otras combinaciones no funcionaron). Tengo uefi arrancando un kernel directamente, no se está utilizando ningún gestor de arranque intermedio.

Ninguna combinación de basura usando el modo compatible con BIOS (simplefb, uvesafb, vesafb, etc.) podría recuperar mis VT una vez que se cargue X11. Ahora puedo alternar felizmente cuando rompo cosas :)

Chris Lack
fuente
1
¿Cómo pudo pasar los parámetros del kernel directamente desde UEFI?
sherrellbc
0

También tuve este problema y mi solución fue cambiar al modo de recuperación y elegir la opción "Reanudar". Cuando vi la pantalla de inicio de sesión y presioné STRG + ALT + F1, pude ver el texto de inicio de sesión y pude interactuar con el sistema (para mí es importante instalar los controladores propietarios de NVIDIA, ¿no es irónico?). Espero, mi solución también funciona para ti :)

Lukas Werner
fuente