A continuación se listan algunos comandos que he utilizado para diagnosticar problemas de video en Ubuntu 14.04 (obviamente pueden utilizarse en cualquier derivado de debian).
-
Versión del sistema operativo con el problema
$ cat /etc/os-release
-
Versión del kernel con el problema
$ uname -a
-
Linea de comando del kernel
¿Se está utilizando algún parámetro que incida sobre el video?
$ cat /proc/cmdline
Los parámetros sospechosos pueden ser cualquiera que contenga
video
,vga
omodeset
. -
Parámetros a módulos del kernel
grep 'modeset' /etc/modprobe.d/*.conf
El comportamiento de los módulos del kernel puede verse afectado por parámetros que fueron establecidos previamente.
-
Listado del hardware
¿Está siendo reconocido el hardware?
$ lspci -s 00:02.0 -v | grep -i kernel
Si no aparece ningún resultado a este comando el kernel no está reconociendo el hardware.
Para solucionar que el hardware no está siendo reconocido suele ser necesario cambiar a un kernel más nuevo que se encuentre en el repositorio de paquetes. Se puede tener que agregar repositorios de
backports
para tener un kernel lo suficientemente actual que detecte el hardware. -
Conexión del video
¿Que adaptador se está utilizando para conectar el monitor?
$ for i in $(ls /sys/class/drm/*/status 2>/dev/null); do echo "$(basename $(dirname $i)): $(cat $i)"; done
El comando anterior puede no devolver nada si no se está reconociendo el hardware y en su lugar está siendo utilizado el framebuffer.
Si el hardware está siendo reconocido y el comando anterior no devuelve nada es probable que no se esté mostrando ninguna salida en el monitor (la pantalla está negra), ya que el kernel no detecta que el monitor está conectado. Esto me ha ocurrido con algunos de los kernel 4.4.X de ubuntu (no todos) y siempre se ha debido a que estaba utilizando un adaptador Display Port cambiando el adaptador por uno HDMI se ha solucionado el problema. La otra alternativa es buscar otro kernel del repositorio que no de el problema.
-
Información de EDID
¿El PC está recibiendo correctamente la información EDID del monitor?
Para obtener la información se debe instalar el paquete
read-edid
:$ sudo apt-get install -qVy read-edid $ sudo get-edid 2>/dev/null | parse-edid
Hay que prestar especial atención al valor devuelto del checksum, ya que hay veces que se devuelve información de configuración del monitor pero el checksum es inválido, por lo que luego el kernel no lo toma en cuenta y es lo mismo que no se obtuviera ninguna información EDID.
Como solucionar el problema en caso de que no se pueda obtener la información EDID del monitor se verá en otro post.
-
Información del servidor Xorg
A continuación suponemos que el log de xorg se encuentra en
/var/log
(*Ubuntu 14.04). Hay que recordar que en versiones más nuevas el log se encuentra por usuario.-
¿Que configuración se está utilizando?
$ grep -i 'config directory' /var/log/Xorg.0.log
Si no se devuelve algo como
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
es probable que se haya modificado la configuración de xorg y debe investigarse en que consistió el cambio y si puede tener un impacto en el problema, por ejemplo, una configuración realizada para un hardware anterior. -
¿Que driver de video está en uso?:
$ grep -iP 'fbdev|intel' /var/log/Xorg.0.log
El comando anterior supone que el hardware de video es intel. Si por ejemplo fuera nvidia habría que utilizar
fbdev|nvidia|nouveau
.Si el driver utilizado no se corresponde con la tarjeta de video seguramente se tenga un problema con la configuración del hardware.
-
¿Se están detectando los modos de video?
$ grep -i modeline /var/log/Xorg.0.log
Si no aparece salida lo más probable es que el EDID no este devolviendose correctamente por el monitor.
-