Fedora 16 y versiones anteriores: Instalar drivers Nvidia, desactivando Nouveau (Paso a Paso)

Importante: Como sabemos, en estos días Fedora nos ha actualizado el kernel y por ello ya tenemos la versión 3.1.1-1.fc16 la cual ha desconfigurado totalmente al driver Nvidia que se instala según este tutorial. Es normal que ocurra este tipo de cosas al instalar un nuevo kernel según propias palabras de la Web de Nvidia. Por ello, he actualizado este tutorial y puedo decir que el problema ha sido solucionado. Así que ya podrás usar tus drivers Nvidia tanto en el nuevo kernel 3.1.1-1.fc16 como en el antiguo 3.1.0-7.fc16. Por favor te pido leer la información brindada en la parte "Actualización Muy Importante".

Luego de una reciente instalación de Fedora, lo que normalmente hacemos es empezar a configurar nuestro escritorio y nuestras aplicaciones, ya sea instalando el software de nuestra preferencia o instalando software privativo como es el caso de los drivers Nvidia.

Es cierto que Nouveau es el driver libre por defecto en las distros Linux para las tarjetas de video, pero a veces por algún motivo u otro este driver no cumple con nuestros requerimientos y por ello queremos instalar los drivers desde la propia web del fabricante.

En este artículo aprenderemos cómo instalar los drivers privativos Nvidia en Fedora 16 y en versiones anteriores de Fedora, de manera que tengamos éxito durante el proceso y que no se produscan algunos errores o conflictos con el driver Nouveau.

Información previa

Nouveau es un driver para tarjetas gráficas Nvidia, desarrollado como proyecto de código abierto a través de la ingeniería inversa del driver Nvidia. Nouveau viene por defecto en las distribuciones Linux actuales como driver para las tarjetas gráficas, pero no está desarrollado, relacionado, ni tiene soporte por parte de Nvidia excepto el hecho de que ambos el driver Nouveau y el de Nvidia son capaces de controlar los GPUs de dicha empresa. Sin embargo, sólo un driver puede controlar el GPU a la vez, así que si nuestra tarjeta gráfica está siendo controlada por el driver Nouveau, primero debemos desactivarlo antes de instalar el driver Nvidia.

Es precisamente allí en donde surgen la mayoría de los problemas con la instalación del driver propietario Nvidia: nos olvidamos de desactivar o no desactivamos del todo el driver Nouveau, dando como resultado fallidos intentos de instalación del driver propietario, pérdida de nuestro entorno gráfico, o que incluso ya no inicie y nos quedemos viendo únicamente el logo de Fedora y nada más.

Para resumir lo descrito anteriormente, en nuestro tutorial esto es lo que haremos para tener una correcta instalación de los drivers Nvidia en Fedora:

  1. Descargar el driver apropiado para nuestra tarjeta gráfica
  2. Salir del entorno gráfico para realizar nuestra tarea
  3. Instalar paquetes de compilación requeridos para instalar el driver Nvidia
  4. Detener el servidor X
  5. Desactivar completamente el driver Nouveau
  6. Instalar el driver Nvidia
  7. Regresar al entorno gráfico de Fedora

Bueno empecemos con nuestro tutorial...

1. Descargar el driver apropiado para nuestra tarjeta gráfica

Simplemente vamos a la web oficial de Nvidia en el siguiente link:

Nvidia.com Drivers

Allí seleccionamos el tipo de producto (por ejemplo GeForce), la serie (en mi caso GeForce 6 Series), el sistema operativo que está marcado en general como Linux en donde debes seleccionar segun tu versión 32-bit o 64-bit (no importa si tu distro es Fedora, Ubuntu o cualquier otra, sólo selecciona Linux), y finalmente el idioma. Le das click en iniciar la búsqueda y listo. Antes de empezar la descarga, hay un punto importante a considerar: ver si nuestro modelo de tarjeta de video se encuentra dentro de los productos respaldados para ese driver, así que dale click en la pestaña PRODUCTOS RESPALDADOS y asegúrate que figure el modelo de tu tarjeta gráfica. Cuando hayas verificado tu modelo de tarjeta, inicia la descarga.

Sugerencia: Si no te acuerdas del modelo de la tarjeta, abre un terminal y escribe el siguiente comando

$ lspci | grep -i vga

Es mi recomendación que una vez terminada la descarga del driver, modifiques el nombre para hacer más sencilla su ejecución pero no lo ejecutes y también es recomendable ubicarlo en una carpeta de fácil acceso. Ten en cuenta que la instalación la haremos fuera del entorno gráfico de Fedora, así que tendremos que escribir manualmente la ruta completa y el nombre del driver para poder instalarlo. En mi caso, yo lo renombre NVIDIAdriver.run y lo ubiqué en la carpeta /home/jasz/Documentos/

Cuidado: no borres la extensión .run del driver

2. Salir del entorno gráfico para realizar nuestra tarea

Debo mencionarte que al salir del entorno gráfico de Fedora ya no veremos ventanas, gadgets, paneles ni nada, sólo veremos algo similar a una gran consola de comandos. Apartir de aquí te pido que imprimas este tutorial o anotes los comandos e indicaciones que usaremos, ya que no podrás ver nada una vez que salgamos del entorno gráfico.

Recomendación: es muy importante que anotes en un papel la ruta completa y el nombre del driver, en mi caso es algo así:

/home/jasz/Documentos/NVIDIAdriver.run

Hechas las recomendaciones y aclaraciones, continuemos con el tutorial.

Primero debemos cerrar todas las aplicaciones abiertas. Así que teniendo únicamente frente a nosotros el esritorio de Fedora con todos los programas cerrados presionamos la combinación de teclas Ctrl+Alt+F2 para iniciar una sesión de consola fuera del entorno gráfico.

Ahora que estamos en oscuras :) nos logueamos primero como el usuario de siempre, en login escribimos el nombre de nuestro usuario y luego escribimos la contraseña asociada a ese usuario. Luego verás que estamos en la consola de comandos y en el prompt verás el símbolo $. Lo siguiente es loguearnos como root, para ello escribe: $ su , luego se te pedirá tu contraseña pero esta vez la de root no la de usuario. Ahora ya verás el símbolo # en el prompt

3. Instalar paquetes de compilación requeridos para instalar el driver Nvidia

Para instalar el driver, es necesario recompilar ciertas cosas en el kernel, pero ocurre que Fedora no viene con paquetes de desarrollo instalados por defecto. Por eso debemos instalarlos nosotros mismos, bueno... sencillo, ya que estás logueado como root escribe el siguiente comando para instalar los paquetes que necesitaremos:

# yum install gcc make binutils kernel-devel

y esperamos que termine la descarga e instalación de estos paquetes. Sino lo hacemos, el driver simplemente no podrá ser instalado. Si anteriormente ya habías instalado estos paquetes de compilación, puedes ignorar este paso.

4. Detener el servidor X

Básicamente debemos detener el servidor Xorg. Para ello, escribimos:

# init 3

Es probable que después de ejecutar el comando anterior, tengas que volver a loguearte como root, así que deberás hacerlo en la manera que mencionamos en pasos enteriores.

Cuando ya estés otra vez como root, tenemos que hacer un respaldo por si algo sale mal (nunca está de más prevenir). En resumen, tenemos que hacer un backup del archivo xorg.conf cuya ruta completa es /etc/X11/xorg.conf, bueno... ejecutamos el siguiente comando:

# cp /etc/X11/xorg.conf{,.bak}

con esto, si ocurre alguna falla en el proceso, tendremos un repaldo en el archivo /etc/X11/xorg.conf.bak que acabamos de crear.

Cuidado: entre la coma (,) y el punto (.) de conf{,.bak} no hay espacios.

5. Desactivar completamente el driver Nouveau

Esta sección está dividida en dos partes: (a) Información Previa: Análisis y conceptos a tomar en cuenta y (b) Desactivación de Nouveau: Aplicando los conceptos previos. La primera parte es sólo informativa. Depende de ti si la lees o no, pues no es necesario, pero podrías aprender algunas cosas sobre lo que haremos. Así que si deseas puedes saltar la primera parte (a) e ir directamente a la segunda parte (b)

(a) Información Previa: Análisis y conceptos a tomar en cuenta

Desactivar el driver Nouveau es el paso más importante de todo el proceso, de no hacerlo correctamente podrían surgir problemas como:

  • No poder instalar el driver Nvidia, ya que como expliqué anteriormente uno y sólo un driver para la tarjeta gráfica puede estar activado.
  • No poder ver el escritorio de Fedora luego de un reinicio y nos quedamos viendo únicamente el logo (me pasó cuando instalé los drivers Nvidia desde los repositorios de RPM Fusion)

Personalmente me sucedieron ambas cosas, como si Fedora me dijera "te estoy mostrando los dos casos para que hagas un tutorial.... :)"

En fin, el problema era que no podía desactivar completamente el driver Nouveau. Aunque yo pensaba que ya lo había desactivado, en realidad no era así. Y es que desconocía un dato que no había tomado en cuenta. Paso a explicar:

Tal y como dice el título de esta sección, nuestra tarea es evitar que Nouveau se cargue. Una manera sencilla de hacer esto es agregar directivas de configuración a un archivo ubicado en la carpeta /etc/modprobe.d/ . Estas directivas de configuración técnicamente se pueden añadir a cualquier archivo en /etc/modprobe.d/, pero muchos de los archivos existentes en este directorio son suministrados y mantenidos por el distribuidor (Fedora), los cuales de vez en cuando, proporcionan archivos de configuración actualizados que podrían entrar en conflicto con los cambios que hagamos. Por lo tanto, se recomienda crear un nuevo archivo, por ejemplo, /etc/modprobe.d/disable-nouveau.conf en lugar de editar uno de los archivos existentes como el popular /etc/modprobe.d/blacklist.conf. Ten en cuenta que algunos cargadores de módulos sólo buscarán por las directivas de configuración en los archivos cuyos nombres terminan en .conf , así que si estás creando un nuevo archivo, asegúrate de que su nombre termina en .conf

Bueno, hemos hablado de añadir unas instrucciones o directivas de configuración en uno de los archivos .conf, ¿pero cuales son estas directivas? Ya sea que elijas crear un archivo nuevo (recomendado) o editar uno ya existente, tendríamos que añadir las siguientes dos líneas (no teclees nada esto es sólo informativo, ya después te indicaré como hacer esto):

blacklist nouveau
options nouveau modeset=0

Eso es lo que yo hice, y pensando que era suficiente procedí a instalar el driver Nvidia, pero este me negaba una y otra vez la instalación. No entendía el por qué, hasta que di con un dato muy importante:

Nouveau estaba habilitado por otras razones... Nouveau estaba incluido en el ramdisk incial del sistema y por tanto este se cargaba antes de que Fedora se inicie, justo en el arranque del sistema. Y es que algunas distribuciones, sobre todo las distribuciones recientes de Red Hat / Fedora incluyen Nouveau en una imágen de disco de memoria inicial o ramdisk (en adelante conocido como el "initrd" y a veces también conocido como "initramfs") de modo que la carga de Nouveau tomaba lugar tan pronto como era posible en el proceso de arranque del sistema. Esto de hecho nos plantea un reto adicional a los que deseamos evitar el inicio de Nouveau, ya que este inicio se produce mientras el sistema se ejecuta en el initrd, y antes de que las directivas en /etc/modprobe.d/ se procesen. Y por tanto por más que hayamos incluido esas directivas de configuración Nouveau no se desactiva.

(b) Desactivación de Nouveau: Aplicando los conceptos previos

Resumiendo la explicación anterior, para desactivar Nouveau correctamente, debemos hacer dos cosas:

  1. Primero, añadir la directivas de configuración: blacklist nouveau options nouveau modeset=0 a un archivo nuevo ó editar uno ya existente en /etc/modprobe.d/
  2. Y segundo, evitar que Nouveau se cargue durante el arranque del sistema.

Entonces en esta sección básicamente tenemos que hacer ambas cosas, vayamos por partes para no confundirnos.

»» Sobre lo primero "añadir las directivas de configuración", si no lo hemos hecho manualmente no te preocupes porque el propio instalador del driver Nvidia al darse cuenta de eso, él mismo se encargará de darte un mensaje indicándote que añadirá esas directivas de configuración automáticamente durante la instalación y creará el archivo:

/etc/modprobe.d/nvidia-installer-disable-nouveau.conf

Así que esto no representa problema alguno y si deseas puedes ignorar este paso ya que como mencioné, el instalador del driver Nvidia lo hará por ti. Pero si eres de lo que necesitan hacerlo por ti mismo, entonces puedes crear un archivo nuevo y añadir manualmente las directivas de configuración, para ello ejecuta el comando siguiente:

# nano /etc/modprobe.d/nvidia-installer-disable-nouveau.conf

el nombre nvidia-installer-disable-nouveau lo puedes cambiar por el que desees, aunque te recomendaría dejarlo con ese nombre, pero eso sí, NO OLVIDES la terminación .conf . Una vez abierto el editor nano, escribe en dos líneas separadas lo siguiente:

blacklist nouveau
options nouveau modeset=0

Atención: en la última línea es el número cero no la vocal "o".

hecho eso, guardamos los cambios con Ctrl+O (la vocal "o") , luego presionamos Enter para dejar el nombre del archivo igual (NO LO CAMBIES) y finalmente cerramos el editor con Ctrl+X

»» Por lo segundo, "evitar el inicio de Nouveau en el arranque del sistema", no nos queda otra más que hacerlo manualmente con unos comandos. Bueno... la idea es reconstruir el initramfs con dracut. Para ello ejecuta los siguientes dos comandos uno a uno (recuerda que seguimos logueados como root):

cp  /boot/initramfs-$(uname  -r).img   /boot/initramfs-$(uname  -r).img.bak
dracut  -f  /boot/initramfs-$(uname  -r).img  $(uname  -r)

la ejecución del segundo comando dracut tomará unos segundos, hay que esperar a que termine su función. Al terminar volverás a ver el prompt #

Listo !! hasta aquí ya tenemos todo preparado. Nouveau ya está completamente desactivado y no generará más problemas. Es hora de iniciar el instalador del driver Nvidia, así que vayamos al penúltimo paso.

6. Instalar el driver Nvidia

Si hemos hecho todo lo anterior correctamente, esta parte es tan sencilla como ejecutar un comando:

# sh /ruta/completa/del/driver/NVIDIAdriver.run

En mi caso y como mencioné al inicio de este artículo, yo renombré y guardé el driver en la ruta /home/jasz/Documentos/NVIDIAdriver.run así que yo ejecuté lo siguiente:

# sh /home/jasz/Documentos/NVIDIAdriver.run

Verás que se inicia la carga del instalador, y luego nos aparece un cuadro de diálogo que nos pide aceptar la licencia de uso, le damos enter en la opción Accept. De ahí sólo debemos esperar mientras se instala el driver, es probable que se nos pida instalar unos paquetes adicionales para la aceleración 3D en paquetes de 32-bit. Le damos Accept otra vez.

Una vez que el instalador ha terminado, nos pregunta si deseamos ejecutar el programa nvidia-xconfig, el cual modificará automáticamente el archivo xorg.conf con los valores adecuados para activar la aceleración gráfica. Obviamente aceptamos, y listo... hemos terminado. Ya tienes tu driver Nvidia completamente instalado para su correcto funcionamiento.

7. Regresar al entorno gráfico de Fedora

Prácticamente ya terminamos nuestra tarea, sólo nos falta entrar de nuevo en una sesión gráfica. Basta con ejecutar el comando (sigues logueado como root):

# init 5

o en todo caso reiniciar el sitema con el comando:

# reboot

con cualquiera de los dos comandos podrás entrar nuevamente al entorno gráfico de Fedora. Aquí el resultado de todo lo hecho anteriormente

click para ver tamaño completo

Actualización Muy Importante:

Ayer 14 de Noviembre los usuarios de Fedora recibimos una nueva actualización del kernel en su versión 3.1.1-1.fc16.x86_64 la cual es importante y recomiendo hacer. Pero al hacer eso, surge un problema al reiniciar el sistema: el entorno gráfico queda estropeado.

Al reiniciar, ahora el Grub tiene estas 3 opciones (antes habían sólo 2):

Fedora (3.1.1-1.fc16.x86_64)
Fedora Linux , with Linux 3.1.0-7.fc16.x86_64
Fedora Linux , with Linux 3.1.0-7.fc16.x86_64 (recovery)

La primera opción es el nuevo kernel. Es muy probable que si escojen esa opción, se inicie la carga del sistema pero luego se quede colgado y tengan que apagar el pc con el botón de encendido en el gabinete.

Si escojen la segunda opción (que es la del kernel con el cual estabamos trabajando tan bien) podrán ingresar pero seguro tendrán problemas con la gráfica. En mi caso era un completo desastre pues todo estaba desequilibrado.

Eso lo pude arreglar reinstalando los mismos drivers Nvidia (según los pasos de este tutorial) que felizmente tenía aún guardado en mi disco duro. Reinstalé los drivers para el kernel antiguo 3.1.0-7.fc16.x86_64 y luego ya pude ingresar al escritorio de Fedora, aunque el nuevo kernel 3.1.1-1.fc16.x86_64 aún seguía inutilizable. Hasta ahí todo bien... pero hoy 15 de Noviembre surgió una nueva actualización para los drivers Nvidia, estos son los archivos que se actualizaron:

xorg-x11-drv-nvidia
xorg-x11-drv-nvidia -libs

y después de esto otra vez surgió el problema, pero era esta vez peor ya que luego de iniciar Fedora se quedaba atascado en la carga tanto en el kernel antiguo como en el nuevo y por tanto estaban ambos inutilizables.

Hoy pude solucionar el problema y ya puedo ingresar a ambos kernel 3.1.0-7.fc16.x86_64 y 3.1.1-1.fc16.x86_64. Así que te mostraré como solucionarlo.

Importante:

1. Usaremos el driver Nvidia que hemos descargado, espero que no lo hayan borrado y aún lo tengan en su disco duro con un nombre y ruta fácil de acceder. Yo aún lo tenía en:

/home/jasz/Documentos/NVIDIAdriver.run

2. Ten en cuenta que yo estoy usando un sistema de 64-bit, es por eso que al final del nombre del nuevo kernel 3.1.1-1.fc16.x86_64 puedes ver la terminación x86_64, así que si el tuyo es de 32-bit ponle el nombre correcto. Sino sabes el nombre, sólo reinicia el pc y anota lo que dice en la primera opción del grub. En mi caso decía: Fedora (3.1.1-1.fc16.x86_64) así que yo anoté lo que está en parentesis. Esto es muy importante !!!


Empecemos:

1. Seguramente ya te habrás dado cuenta que luego de actualizar el sistema y reiniciar el equipo, en el Grub aún no se puede ver el modo recovery del nuevo kernel, y dado que no podemos entrar en el modo normal con ninguno de los kernel porque se quedan atascados durante la carga, entraremos al modo recovery del kernel antiguo Linux 3.1.0-7.fc16.x86_64 (recovery). Así que reinicia el pc y elige esa opción.

2. Espera hasta ver el prompt, y luego hay que terminar el servidor Xorg, asi que escribe y ejecuta:

# init 3

3. Lo siguiente es loguearse como usuario normal con tu nombre y contraseña de usuario. Luego en el prompt ejecuta: # su para iniciar una sesión de root, te pedirá tu contraseña de root no la de usuario. Al final verás el promtp #

4. Ahora reinstalaremos el driver Nvidia con el instalador que habíamos descargado y que espero no hayas borrado. Esta instalación la haremos sólo para el nuevo kernel 3.1.1-1.fc16.x86_64, sí, sólo para el más reciente.

¿Por qué no también instalamos el driver Nvidia para el kernel antiguo? pues.. ocurre que nosotros podemos tener 5, 8, 15 kernels instalados, pero al instalar el controlador/driver de video en el viejo kernel, el otro controlador dejará de funcionar en el nuevo kernel. Es decir, el driver funciona sólo en un kernel a la vez, no en dos ni en tres a la vez. Si lo deseas, puedes instalar el driver Nvidia para el kernel antiguo, pero ya sabes que el driver dejará de funcionar en el nuevo kernel.

Yo instalaré el driver para el kernel más reciente:

»» Instalando driver Nvidia para el nuevo kernel 3.1.1-1.fc16.x86_64 o superior a este

Aun como root escribe y ejecuta el siguiente comando (cambia los nombres según tus propios datos):

# sh /ruta/completa/del/DriverNvidia.run --kernel-name=Nombre.Nuevo.Kernel

En mi caso yo ejecuté lo siguiente:

# sh /home/jasz/Documentos/NVIDIAdriver.run --kernel-name=3.1.1-1.fc.x86_64

Cuidado: en esta parte --kernel-name=3.1.1-1.fc.x86_64 pon el nombre correcto de tu kernel (el mio es de 64-bit). Es muy importante poner el nombre correcto.

Verás que se inicia la reinstalación del driver. En un principio se te informará que desinstalará el driver existente para luego volver a instalar el driver. Acepta la instalación. Es probable que veas este mensaje de error:

File: /usr/lib64/xorg/modules/extensions/libglx.so is not a symbol link

ignóralo y continua con la instalación. Luego en algún momento te pedirá aceptar la instalación de Nvidia's 32-bit compatibility Open GL libraries y también te dirá que modificará automáticamente el archivo xorg.conf, acepta ambas cosas. Terminado esto verás el prompt de root # otra vez.

5. Finalmente sólo nos queda reiniciar. Para ello escribe: # reboot

Aquí una imágen del nuevo kernel funcionando con los drivers Nvidia:

click para ver tamaño completo

Actualizando el Grub para ver el modo Recovery del nuevo kernel al arrancar el equipo.

Sólo debemos actualizar el archivo del Grub para que al reiniciar el sistema podamos ver todo correcto y también para ver el modo recovery del nuevo kernel. Ya en tu escritorio de Fedora, sólo abre un terminal y ejecuta: (te pedirá tu contraseña de usuario)

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

En el próximo reinicio de tu ordenador, en el Grub ya podrás ver los kernel instalados y sus respectivos modos Recovery. Listo !!! .. hemos terminado.

Observación: Cada vez que salga un nuevo kernel, tendremos que realizar lo que hemos mencionado anteriormente cambiando obviamente el nombre del nuevo kernel que usaremos.

Listo amigos... tarea cumplida !! He sido creo algo extenso en la explicación de este tutorial, pero mi idea era no sólo decirte como hacer la instalación, sino también mostrarte el por qué del procedimiento, justificando todo lo que se estaba haciendo, de manera que consigas aprender algo nuevo o quitarte esa duda de algo similar que leiste por algún otro lugar.

Bueno... no hay nada más que decir, nos vemos en algún otro tutorial. Saludos y que tengan un buen día.

Recientemente he publicado una alternativa a este tutorial en donde se enseña a instalar en Fedora 16 los drivers nVidia desde los repositorios de RPMFusion. Ambos tutoriales funcionan perfectamente, yo sólo pongo la información disponible. Ya depende de usted elegir cual usar.

Related Posts

Subscribe Our Newsletter