Los controladores NVIDIA no funcionan después de la actualización. ¿Por qué solo puedo ver la terminal?

34

Esta noche me actualicé a 11.04. Problemas. Una vez que terminé la actualización, reinicié mi computadora como también me lo dijo. Cuando pasé el ubuntu 11.04 (fondo morado con puntos anaranjados), simplemente fue al terminal y me pidió que iniciara sesión. Traté de reiniciar el servidor X con "sudo service gdm restart" pero no apareció ninguna pantalla. Tuve algunos controladores NVIDIA en mi archivo de descargas también, así que probé estos, pero el "script de instalación" falló.

Después de todo esto, inicié Ubuntu en modo gráfico a prueba de fallas. Entonces decidí ver qué pasaría si eliminaba el controlador propietario. Al hacer esto y reiniciar mi Ubuntu arrancó en modo gráfico "yay!". Entonces, sin los controladores de Nvidia, finalmente puedo ver algo más que un terminal, pero necesito esos controladores de NVIDIA para mi trabajo. ¿Entonces Que puedo hacer? He intentado instalar los nuevos controladores linux de NVIDIA desde el sitio web de NVIDIA, y he intentado instalar el controlador recomendado a través de "controladores adicionales", pero ambos han provocado que me quede atascado en el terminal.

Si puedes ayudarme o darme algún consejo, ¡POR FAVOR HAZLO! Estoy realmente en una situación muy mala ...

Sixthlaw
fuente
2
¿Eliminó primero el archivo /etc/X11/xorg.conf, luego reinició y luego trató de activar la versión de Controladores adicionales del controlador NVIDIA?
fossfreedom
1
Estoy experimentando el mismo problema. Activo el controlador, cierro sesión y veo "No se encontraron dispositivos" en X log. Si elimino xorg.conf, X comienza sin soporte GLX. Modprobe dice que el nvidiacontrolador está cargado.
vissi
No, no eliminé el archivo Xorg.conf. Estoy teniendo el problema de que hablas. Es terrible.
Sixthlaw
Recomiendo leer esta guía: askubuntu.com/questions/61396/…
Luis Alvarado

Respuestas:

30

Deberá iniciar en modo de recuperación, luego emitir apt-get remove --purge nvidia-currenten el terminal raíz, seguido de apt-get install nvidia-current- para reconstruir el controlador nvidia para el nuevo núcleo. También tuve este problema cuando actualicé.

¡No instale los controladores desde el sitio web de nVidia por cierto! Podría causar serios problemas si luego intenta instalar el controlador recomendado más tarde sin eliminar limpiamente el anterior.

Editar: deberá ejecutar estos comandos desde un terminal. No puedo garantizar un resultado perfecto, ya que me baso en lo que he encontrado a través de Internet y de memoria.

El problema que está teniendo es causado por tener diferentes componentes de modo de usuario y módulos de kernel. Para solucionarlo, el módulo del kernel nvidia tiene que ser reconstruido. Se supone que esto sucede al reiniciar, pero a menudo no ocurre.

Primero debe instalar los encabezados del kernel de Linux:

  • sudo apt-get install linux-headers-generic

Luego, deberá ejecutar dkms para eliminar el antiguo módulo del kernel de nvidia:

  • sudo dkms remove nvidia

Entonces corre:

  • sudo apt-get install nvidia-current
  • esto debería hacer que se instale correctamente, por lo que todo lo que necesita hacer es ejecutar sudo nvidia-xconfig and reboot.
  • Si aún recibe un error sobre la versión del módulo, ejecute: sudo dkms build nvidia

Esto debería resolver el problema.

Lo siento si las cosas son un poco confusas, ¡intenté volver a armar el proceso que tuve que usar lo mejor que pude recordar :)! Si tiene problemas, no dude en hacérmelo saber (y si alguien detecta algún problema con las instrucciones, hágamelo saber lo antes posible).


Actualizar:

Encontré otra posible causa. Nouveau podría no haber sido incluido en la lista negra, y nvidia-current podría no haberse colocado en el archivo .conf que se utiliza para elegir su controlador de pantalla. Aquí se explica cómo solucionarlo:

NÓTESE BIEN:

Antes de continuar, asegúrese de tener el controlador nvidia-current de los repositorios. La descarga del controlador del sitio web de nvidia puede causar problemas más adelante, ya que no utiliza el formato del paquete debian y deja cosas que pueden entrar en conflicto con las instalaciones posteriores. Así que primero asegúrese de borrar cualquier rastro de él y luego instale el controlador estándar desde los repositorios de Ubuntu. Si no lo hace, obtendrá un desajuste del controlador, y esta solución será inútil.

  • Si está atascado en la consola, inicie sesión e instale el controlador nouveau X.org: sudo apt-get install xserver-xorg-video-nouveau
  • Reinicie su computadora (tendrá gráficos de trabajo, ¡sí! Pero esto es temporal).
  • Gedit abierta como root: gksu gedit.
  • De gedit abierto /etc/modprobe.d/blacklist.conf.
  • Añadir esta línea en la parte inferior: blacklist nouveau.
  • Guarde el archivo y ábralo /etc/modprobe.d/nvidia-graphics-drivers.conf.
    • Agregue estas líneas:

      lista negra nouveau
      lista negra lbm-nouveau
      lista negra nvidia-173
      lista negra nvidia-96
      alias nvidia nvidia-current

  • Ahora guarde este archivo y cierre gedit.
  • Correr:
    • sudo nvidia-xconfig,
    • y entonces:
    • sudo apt-get remove xserver-xorg-video-nouveau,
    • seguido por:
    • sudo shutdown -r now.
  • Cuando su sistema se reinicie, debería tener controladores nvidia en funcionamiento.
Por cierto, este problema de no incluir en la lista negra a nouveau parece existir en los controladores más nuevos (nvidia-current), por lo que sugeriría después de solucionar el problema, que espere una actualización de este error (voy a informar el error pronto )

Solución alternativa: si instaló los controladores NVIDIA desde su sitio web, debe iniciar en un terminal de texto (mantenga presionado en el inicio para ver el menú de grub y seleccione el modo 'recuperación' de la versión del kernel que funcionó por última vez con los controladores NVIDIA, y seleccione la línea de comando como opción raíz)

Luego, ejecute el script de shell de instalación NVIDIA original que ejecutó para instalar los controladores NVIDIA desde su sitio web. por ej sudo ./NVIDIA-Linux-x86-290.10.run --uninstall. (Su versión puede diferir).

No necesitará ejecutar el comando "sudo dkms remove nvidia", ya que esto no se aplica a su caso.

RolandiXor
fuente
Intenté esto pero cuando reinicié, nuevamente solo mostraba terminal. Intenté sudo startx en el terminal y obtuve estos mensajes, entre otros: ERROR: desajuste de API: el módulo del kernel NVIDIA tiene la versión 260.19.36, el componente del controlador NVIDIA tiene la versión 270.41.06. Asegúrese de que el módulo del núcleo y todos los componentes del controlador nvidia tengan la misma versión.
Sixthlaw
También recibí esto: Error fatal del servidor, no se encontró ninguna pantalla.
Sixthlaw
1
@Sixthlaw: ahhh - agárrate fuerte, es un problema de dkms, y es el mismo que tenía. Deberá emitir la compilación dkms desde la línea de comandos (olvidé el comando, así que espere hasta que lo reciba y actualizaré mi respuesta).
RolandiXor
1
sudo apt-get install nvidia current->sudo apt-get install nvidia-current
IanVaughan
1
Tenga en cuenta que la invocación dada de dkmssolo se admite en 11.10 o posterior. En la versión 11.04 o anterior, también debe proporcionar las versiones del módulo y del núcleo ( man dkms).
kynan
12

Es por eso que siempre recomiendo instalar Ubuntu como una instalación limpia en lugar de hacer una actualización. Esta es solo mi opinión, pero siempre he tenido algún problema u otro al hacer actualizaciones. No hay problemas al hacer una instalación limpia.

Por lo que he leído sobre las otras respuestas, ha instalado el controlador de Nvidia desde el sitio de Nvidia. Aunque funciona bien y etc. ¡NO LO HAGAS! El que viene en los repositorios de ubuntu ha sido probado y ese es el recomendado.

En su caso, deberá hacer varias cosas.

Paso 1 : desinstala el controlador nvidia que instalas y nunca lo vuelvas a instalar. Le ahorrará tener ESE problema específico que ... ehem ... alguien también lo tuvo (Me;)) también necesita eliminar los módulos y cualquier archivo de configuración que deje. Si no me equivoco, los controladores nvidia del sitio web de Nvidia tienen un binario de desinstalación. Ejecuta eso y asegúrate de que no haya otros archivos de nvidia detrás.

ACTUALIZADO: para desinstalar un controlador de Nvidia instalado desde el sitio de Nvidia, es posible que tenga una de varias opciones:

  • Algunos sugieren desinstalar usando el mismo instalador.
    Ejemplo: NVIDIA-Linux-x86-1.0-8178.run --uninstall
  • Otros sugieren usar el instalador de Nvidia.
    Ejemplo: nvidia-installer --uninstall

SUGERENCIA: intente escribir --help al final del Nvidia Binary Executable para ver si muestra algo de ayuda. Páginas como https://help.ubuntu.com/community/NvidiaManual y http://www.nvnews.net/vbulletin/showthread.php?t=83678 dan una idea de cómo desinstalar el controlador Nvidia del sitio Nvidia.

Paso 2 - Reinicia y verifica que NADA te quede de nvidia. Elimine el archivo xorg.conf ya que pronto creará uno nuevo. Reiniciar.

Paso 3 : instala los controladores de Nvidia recomendados. sudo apt-get install nvidia-currento sudo apt-get reinstall nvidia-current(si ya lo tenía instalado. Recomendaría desinstalar y luego instalarlo nuevamente).

Paso 4 : CREA el archivo xorg.conf para el controlador recomendado de Nvidia. nvidia-xconfig. Esto creará el archivo xorg.con con las opciones necesarias para su tarjeta de video nvidia. Reiniciar de nuevo.

Hasta este paso, necesitaría comentarios si tuviera algún problema. Para una solución más general, no dude en leer esta guía: ¿Cómo instalo los controladores de Nvidia?

Luis Alvarado
fuente
1
Mis disculpas Pero no sé exactamente cómo ejecutar el paso 1. Parece que no puedo encontrar el script de desinstalación del que hablas.
Sixthlaw
1
No hay problema Sixthlaw. Déjame encontrarlo. Dame un par de minutos
Luis Alvarado
1
Actualizado para incluir una pequeña ayuda sobre cómo eliminarlo. Avíseme si ayuda y qué ayuda hizo el truco.
Luis Alvarado
1
Esa no es la solución, si quiero instalar cierto controlador, entonces la solución no es instalar otra cosa. Eso es como resolver un problema de Java diciendo que no use Java, use Python. Tengo este mismo problema (no coinciden las versiones del módulo del kernel) pero definitivamente necesito este dispositivo NVIDIA CUDA.
skrat
1
No estoy diciendo que instales otra cosa. Estoy diciendo que el más compatible en este caso es el que viene con Ubuntu. Esto se ha demostrado una y otra vez que da menos problemas, es más amigable al hacer una actualización / actualización y tiene más documentación y comentarios de la comunidad para ello. Si hablara de Java, recomendaría el OpenJDK por muchas razones, para Python el que viene por defecto porque ya ha sido probado y así sucesivamente. Tienes mi punto aquí, supongo.
Luis Alvarado
7

También tuve un problema con los controladores de nvidia, y he hecho todo lo que pude encontrar (también en las otras respuestas):

  • elimine los controladores instalados previamente e instálelos nuevamente
  • Arrancar failsafeXy activar el controlador
  • utilizando el controlador anterior ( 173)
  • He añadido UNITY_FORCE_START=1a /etc/environmentcomo se ha mencionado aquí (como GeForce 7300/7400 están en la lista negra, pero tengo una GeForce Go 7100)

Pero todo seguía fallando. Entonces, último recurso (debería haberlo pensado antes), investigué los archivos de registro X. Dentro de mi /var/log/Xorg.0.logencontré que nvidia tenía problemas para asignar la memoria:

[    14.055] (EE) NVIDIA(0): Failed to allocate primary buffer: out of memory.
[    14.055] (EE) NVIDIA(0):  *** Aborting ***

Aparentemente, este es un error conocido, y tuve que hacer lo siguiente para solucionarlo:

  • editar /etc/default/grub
  • encuentra la opción GRUB_CMDLINE_LINUXy agrega nopat, así que para mí esto parecía

    GRUB_CMDLINE_LINUX="nopat"

  • correr sudo update-grub

Y luego, finalmente, todo funcionó bien para mí :) Espero que esto ayude.

nathanvda
fuente
Esto funcionó perfectamente, ¡muchas gracias! (Nvidia GeForce 9400 en Natty 64 bits con controladores "actuales")
dandelionmood
2

Observe que el núcleo a continuación apunta a una versión anterior de Ubuntu. El nuevo kernel con Ubuntu 11.10 es 3.0.0.12. Tuve el mismo problema al ponerme en modo de comando y fallar Xserver al no poder encontrar el controlador nvidia_173. Luego me di cuenta de que la actualización no actualizó mi MBR para que apuntara a 3.0.0.12. Utilicé EasyBCD para actualizar el archivo, reinicié, y todo estuvo bien. Este tipo de fallas del controlador pueden ocurrir cuando están en niveles mixtos, por supuesto. Mi consejo, después de la actualización, asegúrese de ejecutar el nuevo kernel, initrd, vmlinuz, ... qué tiene.

DKMS make.log for nvidia-current-270.41.06 for kernel 2.6.38-8-generic (x86_64)
Sat May 14 20:48:39 EDT 2011

The C compiler 'cc' does not appear to be able to
create executables.  Please make sure you have 
your Linux distribution's gcc and libc development
packages installed.

*** Failed CC sanity check. Bailing out! ***

make: *** [select_makefile] Error 1

Descubrí que el cc (alias para gcc) utilizado en mi / usr / bin no era la misma versión que el gcc encontrado en ese mismo directorio, independientemente de todos los paquetes de desarrollo que ya estaban instalados en mi máquina. Tuve que hacer un enlace simbólico para señalar el archivo gcc.

sudo mv /usr/bin/cc /usr/bin/cc.old
sudo ln -s /usr/bin/gcc /usr/bin/cc

Después de eso, reinstalar el paquete nvidia-current hizo el truco para mí.

Saludos

Steven Rosato
fuente
2

Mi actualización 11.04 también se inició solo en una ventana de terminal. Entonces encontré este sitio. Empecé a hacer lo que Roland Taylor me recomendó, primero lo hice

sudo apt-get install linux-headers-generic

Entonces traté de hacer:

sudo dkms remove nvidia 

Pero no se quejaba de que la orden era no estaba completa, que necesitaba -my -vcomo la versión

Iba a intentarlo nuevamente, pero noté que la pantalla tenía información de registro del primer comando y noté que se había instalado nvidia-currentcuando instalé los encabezados genéricos, así que pensé, ¿me pregunto qué hará si reinicio ahora? Así lo hice y el escritorio X salió bien. Entonces, solo un comando solucionó mi problema de instalación.

Johngee
fuente
0

Esto funcionó para mí.

1) Cambie a la Terminal F1, presionando Ctrl + Alt + F1.

2) Ejecute los siguientes comandos.

sudo /etc/gdm stop
sudo apt-get install linux-headers-$(uname -r) linux-image-$(uname -r)
wget -O /tmp/nvidia.run http://us.download.nvidia.com/XFree86/Linux-x86/280.13/NVIDIA-Linux-x86-280.13.run
# Make sure to allow the script to uninstall all existing drivers.
sudo sh /tmp/nvidia.run
sudo /etc/gdm start
Runa Kaagaard
fuente
0

Para cualquiera que también tenga este problema, asegúrese de que Optimus (tecnología de cambio de tarjeta gráfica de Nvidia) esté deshabilitado en el BIOS.

Sam Youtsey
fuente