Linux + kernel 3.19 + NVidia + LightDM = blank screen

Introducción

NVidia_logoEste problema empezó a suceder tan pronto como instalé Ubuntu 15.10 y sucedió también cuando se actualizó el kernel del Ubuntu 14.04 LTS.  Por esto concluyo por ahora que el problema se encuentra relacionado con el kernel (3.19.0-47) que estoy utilizando actualmente y los controladores de NVidia, tanto los propietarios como los de código abierto.

El sistema operativo inicia aparentemente bien pero al cargar la pantalla de autenticación de usuario de LightDM esta aparece negra a pesar de que se escucha el sonido que se reproduce al llegar a este punto y es aún posible ingresar el nombre de usuario y contraseña e iniciar sesión sin que aparezca nada en la pantalla.

Solución

Después de probar varias opciones la solución aparente a este problema consiste en agregar los parámetros acpi_osi=Linux rcutree.rcu_idle_gp_delay=1 a la variable GRUB_CMDLINE_LINUX_DEFAULT del Grub de la siguiente manera.

$ sudo vi /etc/default/grub

...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux rcutree.rcu_idle_gp_delay=1"
...

$ sudo update-grub

Para consultar el valor actual de dicha variable en la sesión actual es posible ejecutar el siguiente comando.

$ cat /sys/module/rcutree/parameters/rcu_idle_gp_delay

Según la documentación de los parámetros del kernel, este valor representa el intervalo de activación para las CPU desocupadas que tienen llamados RCU.

Actualizacion del driver de NVidia despues de actualizar a Ubuntu 8.04

Al actualizar el Linux Ubuntu de uno de mis equipos a la version 8.04 el controlador de NVidia dejó de funcionar.  Después de algunas pruebas en la manaña logré instalarlo nuevamente.

La actualización de Ubuntu instaló dos kernels diferentes que se seleccionan al inicio del sistema operativo con el GRUB: uno de servidor (server) y otro de estación de trabajo (generic).  Algo para hacer notar es que el controlador sólo pudo ser instalado al iniciarse el sistema operativo utilizando el kernel de estación de trabajo, ya que de lo contrario el paquete de NVidia terminaba siempre fallando diciendo que el kernel tiene soporte para Xen y que por ese motivo no podía continuar.

Para instalar el controlador se siguieron los pasos descritos a continuación.

1. Utilizando Synaptic (System > Administration > Synaptic Package Manager) se desinstaló cualquier paquete anterior relacionado con NVidia.  Especialmente nvidia-glx, nvidia-settings y nvidia-kernel-common.

2. Del sitio de controladores de NVidia se descargó la distribución adecuada para mi estación de trabajo:

Tipo de producto: GeForce.
Serie de producto: GeForce 7 series.
Sistema operativo: Linux 32-bit.
Idioma: English (US).

3. Para la instalación del controlador es necesario que se detenga el sistema de ventanas.

# sudo /etc/init.d/gdm stop

4. El paquete se descomprime y se ejecuta como root.  Se responde afirmativamente a las preguntas formuladas por el instalador.

# sudo chmod +x ./NVIDIA-Linux-x86-173.14.05-pkg1.run

# sudo ./NVIDIA-Linux-x86-173.14.05-pkg1.run

5. Se reinicia la máquina para tomar en cuenta las modificaciones realizadas.  Recuérdese que se debe inciar el sistema operativo utilizando el kernel generic.

# sudo reboot

6. Se utiliza el módulo de Screen Resolution (System > Preferences > Screen Resolution) para especificar la resolución que se desee.  Para mi caso se utilizaron los siguientes valores.

Resolution: 1280 x 1024.
Refresh Rate: 64 Hz.
Rotation: Normal.

Para la instalación del paquete de controladores de NVidia es posible que se requiera la instalación del servidor de módulos restringidos, para esto ejecute el siguiente comando.

# sudo apt-get install linux-restricted-modules-server

Otro método que se puede intentar en caso de tener problemas con el descrito anteriormente es el de utilizar el paquete EnvyNG el cual permite descargar, instalar y desinstalar los controladores para las tarjetas marca NVidia y ATI.