viernes, 10 de junio de 2011

Instalar driver Nvidia en Ubuntu 11.04 Natty Narwhal

Parece mentira que a estas alturas tenga que hacer un tutorial para instalar los drivers privativos de Nvidia en Ubuntu, pero es que con la ultima versión, la 11.04, los que poseemos este tipo de tarjetas hemos sufrido una regresión tremenda. En mi caso concreto, Plymouth se queda inútil, lo único que se puede ver es garabatos, a veces congelándose al inicio, obligándome a reiniciar, y sin poder hacer nada porque nada ya que las TTY (esas terminales que aparecen al hacer ctrl+alt+F1-F6) también sufren el mismo destino que Plymouth, lo cual me parece aún más grave. Es decir, que si le pasa algo al driver gráfico, ¿no puedo ni arreglarlo desde la terminal como se podía antes?
He aquí ciertos consejos para que esto no os pase, si es que llegáis a leer a tiempo esta entrada. Antes que nada decir que esto funciona en mi caso concreto, no aseguro para nada que lo haga igual para otro hardware, así que lo que hagais que sea bajo vuestra responsabilidad.
Para empezar, por defecto os encontrareis con el driver libre Nouveau, que intenta reemplazar al privativo de Nvidia, pero que de momento no tiene aceleración 3D (hay una versión experimental pero que no recomiendo).

El primer paso es instalar el driver de Nvidia, directamente el que viene con Ubuntu Natty o el de la siguiente PPA, que trae actualizaciones para corregir bugs. Como cada uno prefiera, yo estoy usando el de la PPA y parece que no hay problemas:

Para usar la PPA escribimos en una terminal:

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update

Ahora el primer paso es instalar el driver de Nvidia:

sudo apt-get install nvidia-current nvidia-settings

y a continuación establecemos el driver para que lo use por defecto:

sudo nvidia-xconfig

Alternativamente podéis usar el programa que viene con Ubuntu (jockey-gtk o jockey-kde), que detecta drivers y os deja escoger de la lista. El caso es que una vez lo tengáis instalado NO debéis reiniciar.
 
Antes de esto vamos a aplicar el siguiente parche que nos proporciona Paolo Bernardi, y que va a arreglar el problema de resolución de Grub y Plymouth, o al menos dejarlo decente, seguimos los siguientes pasos:
cd
wget http://www.webalice.it/bernardi82/software/fixplymouth-natty
chmod +x fixplymouth-natty
./fixplymouth-natty

Durante el último paso se nos pedirá que introduzcamos la resolución deseada, se recomienda usar 1024x768-24, incluso si vuestro monitor soporte resoluciones más altas, y os lo digo por experiencia, os puede dar problemas, asi que cuando os pregunte, ponéis:

1024x768-24

Y para terminar vamos a librarnos del todo del drivers actual de Nouveau para evitar conflictos con el que acabamos de instalar. Para realizar este paso vamos a hacerlo desde una TTY, debéis apuntaros en un papel el nombre del paquete "xserver-xorg-video-nouveau", después salís de la sesion actual y pulsáis ctrl+alt+F1 para entrar en una terminal, hacéis login con vuestro usuarios y escribís lo siguiente (no tenéis ni que detener el servidor gráfico):

sudo apt-get autoremove xserver-xorg-video-nouveau

 Después de esto reiniciáis con "sudo reboot" y en principio ya estareis con el nuevo driver y problemas, a parte de un Plymouth que quiza se vea un poco feo, pero ya os digo que mejor que lo que yo me encontré antes de descubrir este script.

27 comentarios:

  1. Maestro, si con esto hago andar mi geforce 6200, me hago una nueva religion y te pongo de Dios, no sabes lo que me vengo rompiendo la cabeza instalando la placa

    ResponderEliminar
  2. @Anónimo
    jajajaja pues como ves en mi 6200 me funciona de esta manera, llevo como un mes y sigue bien, crucemos los dedos y suerte...

    ResponderEliminar
  3. lo he hecho y se instala bien pero sigo teniendo el mismo problema con las ventanas, que van dejando una huella cuando cambio de escritorio o entre ellas... gracias de todas formas

    ResponderEliminar
  4. @Javier
    Me temo que de momento no hay solución a eso, es cosa de los drivers privativos.

    ResponderEliminar
  5. ¿quieres decir que lo solucionaría usando los que vienen con ubuntu? ¿esos son los nouevau? yo creo que me pasa con ambos... pero puedo intentarlo

    ResponderEliminar
  6. @Javier
    Pues no sabria decirte realmente, a mi me pasa que cuando tengo un terminal abierto, al mover o redimensionar ventanas, aparece una "sombra" de la terminal, un recuadro negro, en la esquina, pero puede que no sea el mismo problema que tienes tu.
    El caso es que con los de Ubuntu creo que no tengo ese problema, pero tampoco soporte 3D para los juegos...

    ResponderEliminar
  7. ok, a mi se me quedan ventanas enteras en la pantalla encima de las que intento abrir desde que quité unity... Gracias de nuevo

    ResponderEliminar
  8. Genio!!! Mi nuevo Dios jajaj .. Saludos desde Argentina - Massi

    ResponderEliminar
  9. Yo tengo una Gforce 6200 con turbocache, nunca la he podido activar en Ubuntu vamos a ver como me va.....

    ResponderEliminar
  10. Hola, yo tengo un problema con ese script... Lo he intentado usar con el controlador nouveau y no con el privativo de nVidia, y me he quedado sin entorno gráfico. Estaba usando nouveau con la configuración predeterminada, solo cambiando la resolución...

    Le he dicho al sistema que me creara un xorg.conf nuevo, para ver si con la configuración que él mismo escribía arrancaba. Y arrancó, pero super desconfigurado. El controlador aparece como "desconocido", y yo creo que está arrancando con vesa, pero de una forma extraña.

    No lo entiendo, ¿este script sólo funciona con el driver privativo? En un PC más actual con una tarjeta nVidia moderna también seguí este tutorial al pie de la letra, y también me quedé sin entorno gráfico, pero después de crear un xorg.conf correcto conseguí que arrancara de la forma óptima...

    ¿Alguna idea de donde puede estar el problema? Gracias

    ResponderEliminar
  11. @Anónimo
    Vamos a ver, el script es solo para arreglar un problema que producen los drivers privativos, si es que tenias alguno, yo con nouveau no tengo problemas, es el que viene por defecto y funciona bien, pero cuando necesito aceleración 3D tengo que usar los privativos, y esos si que me fastidiaban todo. Repito, este tutorial es solo para los privativos.

    En cuanto a lo último, con una tarjeta más moderna, pues así sin saber más no puedo decirte que es lo que sale mal, ¿que modelo de tarjeta es?
    ¿Te da problemas si solo utilizas la herramienta de Ubuntu (sin hacer caso al tutorial)?

    ResponderEliminar
  12. No, vamos a ver, es un pc antiguo, un Pentium IV 1.7ghz, y la tarjeta gráfica es una Geforce 2 MX400. No tiene soporte privativo ya, así que funciona con el nouveau. El caso es que iba todo correcto menos el plymouth de inicio del sistema (no el de cierre, que se veía perfectamente). Cuando el pc arrancaba y tenía que pasar a la imagen del plymouth el monitor se iba a modo ahorro de energía, y cuando entraba en la pantalla de acceso/login volvía a poner la imagen saliendo del modo de ahorro de energía.

    Pensé en usar este script para que se pudiera ver el plymouth correctamente, y lo he conseguido, pero el problema es que ahora no tengo configuración gráfica y no puedo acceder al entorno gráfico más que con el driver vesa. Es como si el monitor no lo reconociera y el nouveau no estuviera instalado.

    No entiendo que ha pasado, y por más que pongo la configuración correcta en un xorg.conf no consigo nada...

    Gracias por la ayuda y por contestar tan rápido. Un saludo.

    ResponderEliminar
  13. @Anónimo
    Sé lo que dices, a mi también me ha pasado alguna vez en versiones betas de Ubuntu, el monitor se apaga y luego se vuelve a encender, pero este script no creo que sea para solucionar eso, sino que es mas bien para arreglar la resolución una vez que arrancas con los drivers de nvidia.

    Si nouveau no te funciona bien con esa tarjeta y ahora tal y como estás desde la terminal (entrando con vesa o como puedas), lo que haría yo es desinstalar nouveau:

    sudo apt-get autoremove xserver-xorg-video-nouveau

    e instalar los de nvidia, pero puedes probar versiones antiguas que hay en los repositorios, tienes los paquetes nvidia-glx-96 y nvidia-glx-173 que son drivers de hace unos años.
    Luego tienes que acordarte de ejecutar desde una terminal: sudo nvidia-xconfig
    para que se aplique la nueva configuración para xorg.

    Y si sigue sin funcionar, pues échale un vistazo a este post:
    http://ubuntuforums.org/showpost.php?p=10323090&postcount=7

    Parece que alguien ha encontrado una solución para esa tarjeta.

    Espero que puedas arreglarlo de alguna de estas maneras, porque ya no se me ocurre nada.

    ResponderEliminar
  14. No, si a mí me funcionaba más o menos bien el sistema con esa tarjeta y el controlador nouveau. Si he intentado que se viera bien el plymouth no era más que por una cuestión estética. Lo que me gustaría ahora hacer, es que, aunque vuelva a no poder ver bien el plymouth y el monitor se me vaya a modo de ahorro, al menos volver a la anterior configuración, donde nouveau corría sin problemas.

    Lo del driver privativo, ya te comenté que esta tarjeta no tiene. En la web de nVidia ya no hay ninguno más actualizado del 2006 o 2007, y en el jockey (Controladores Adicionales) tan sólo me aparece el soporte experimental 3D. Que por cierto, también lo tenía instalado, y he probado a quitarlo por si era eso lo que me daba los problemas. Sin resultado claro...

    Y eso, no creo que los controladores privativos antiguos sean compatibles con las últimas versiones de Xorg, y no quiero arriesgarme a tener problemas.

    Lo que sí me gustaría es volver a como estaba antes de usar el script, pero no se como.

    Gracias por tu tiempo.

    ResponderEliminar
  15. bueno la instalación me ha salido sin errores pero ubuntu ya no pasa de plymouth, no se si tenga que ver que lo este corriendo en VirtualBox (compartiendo 64 mb de video y aceleracion 3d habilitada), pero creo que mejor me quedo con nouveau.

    ResponderEliminar
  16. Pues vaya, soy el de antes, el del Pentium IV y la Geforce 2.

    Resulta que he instalado Kubuntu 11.04 en mi PC propio, un AMD Athlon X2 6000+ con una Geforce GTS450, y he seguido de nuevo este tutorial al pie de la letra para instalar el driver privativo, y me pasa lo mismo que al compañero eeduardorj.

    La configuración de xorg.conf está totalmente correcta, y me la reconoce, pero vuelves a reiniciar otra vez y se queda en el plymouth, y no es capaz de pasar al KDM/pantalla de acceso. Sólo soy capaz de acceder al entorno gráfico con el controlador vesa. Luego cambio la configuración de nuevo y la pongo correctamente con el controlador nvidia, reinicio... y va, pero vuelvo a reiniciar por segunda vez y se queda clavado otra vez.

    No encuentro ninguna solución a esto...

    ResponderEliminar
  17. Pues ya lo único que os puedo decir es que probéis a "desactivar" la imagen del plymouth.

    Entráis con vesa o como podáis, y desde un terminal tenéis que abrir el fichero de configuración de grub:
    sudo gedit /boot/grub/grub.cfg

    Buscáis donde pone menuentry "Ubuntu blablabla..." y vais a la linea de "linux /boot/vmlinuz-..." (es una linea larga) y borráis las palabras "quiet splash".

    Mejor no tener imagen en el inicio que no poder ni iniciar, al final son solo como 5 segundos.

    El tutorial lo hice para quienes teníamos problema con que el plymouth se mostraba mal y con una resolución muy pequeña, pero veo que en cierto hardware sigue sin funcionar...

    ResponderEliminar
  18. Mmmm, y se sabe si esto puede venir dado por poner una resolución, en el script, diferente a 1024x768? Es que mi monitor es de tubo de 21'', y trabajo a 1600x1200, y como vi al meter el script que era una resolución compatible... pues la puse...

    ResponderEliminar
  19. Pues puede ser, como digo en el post, resoluciones superiores pueden dar problemas, yo tengo un monitor con resolución de 1680x1050 y aun así uso la de 1024x768 porque otras mas grandes no me funcionaban bien, aunque ahora no recuerdo que problema me daba, pero quizá sea eso.

    ResponderEliminar
  20. maestro!! excelente guía muchas gracias me funciono súper bien ...saludos desde chile

    ResponderEliminar
  21. disculpa se puede tener instalados juntos los drivers de nouveau y los privativos que en mi caso tengo el experimantal de licencia libre o tiene que se cualquiera de los dos??
    otra pregunta yo tengo una geforce go 6150 puedo instalar el repositorio que pusiste en el tuto??

    ResponderEliminar
    Respuestas
    1. Si vas a usar los libres creo que no pasa nada por tener los dos, pero si fueras a usar el privativo entonces te aconsejaría que desinstalaras el de nouveau, como explico en la entrada.
      Sobre si funcionará el repositorio, supongo que sí, por ser una tarjeta de la misma época más o menos, pero el repositorio es para los drivers privativos, para eso hice este tutorial, los nouveau funcionan bien por defecto.
      Repito, son los privativos los que dan problemas cuando tenemos instalado los de nouveau.

      Eliminar
    2. primero gracias por responder segundo es que yo instale el experimental que viene en controladores adicionales porque con los nouveau no tenía aceleración 3D entonces no hay problema si tengo ambos??

      Eliminar
    3. Si el que tienes activado y usando es el experimental (que es también de nouveau) entonces no tendrás problema, pero si alguna vez decides usar el privativo de NVIDIA entonces tendrás que desinstalar los que tengas de nouveau.

      Eliminar
    4. ok muchas gracias por aclarar mis dudas :D

      Eliminar
  22. Hola Ruben,

    He llegado hasta aqui por haber desconfigurado los drivers despues de intentos varios por conectarme desde un portatil con XP via VNC al ordenador con Ubuntu, pero deseando hacerlo en una sesión independiente a la persona que este fisicamente delante del ordenador con Ubuntu.
    Tu tutorial me ha ido de fábula para restituir esa pantalla en negro que tenia, lo hice entrando en el recovery mode.
    Pero sigo sin conseguir las sesiones independientes, creo que es posible dada la capacidad multiusuario de Ubuntu, pero no encuentro por ningún lado el modo de hacerlo, alguna idea?
    Gracias por este tutorial y por tu atención.

    ResponderEliminar
    Respuestas
    1. Pues ahí me has pillado, no tengo ni idea, alguna vez he trabajado con VNC en Windows, pero nunca en Ubuntu y aún menos con varias sesiones. Lo único que puedo hacer es referirte a este enlace de los foros de Ubuntu, pero no se si es lo que buscas:

      http://ubuntuforums.org/showthread.php?t=1358491

      Eliminar