Tarjetas gráficas Nvidia

Para aprovechar al máximo las características de nuestras targetas gráficas Nvidia, deberemos descargar e instalar los drivers de la página oficial, ya que las distribuciones no suelen traerlos, y aunque los traigan no suelen tener soporte para aceleración 3D, ni para muchas otras prestaciones de la tarjeta gráfica.

Instalando los drivers de la targeta gráfica

Lo primero que hemos de hacer es descargar los drivers de la página oficial de Nvidia. Iremos a la sección Download Drivers y desde ella a la sección Linux and FreeBSD Drivers. Ahí descargaremos los drivers para nuestra arquitectura.

Nos descargaremos un fichero .run que es un instalador que nos guiará durante todo el proceso. Ahora ya podemos empezar la instalación.

Consideraciones previas

Cuando ejecutamos el instalador, el mismo averiguará si tenemos un kernel precompilado o uno compilado por nosotros mismos. Si tenemos uno precompilado lo normal es que no tengamos instaladas las fuentes del kernel. En tal caso el propio instalador de Nvidia buscará si tiene algún driver precompilado en su ftp. Si lo encuentra lo descargará y lo instalará sin problemas. Si no lo encuentra, deberemos descargar e instalar nosotros las fuentes del kernel para que el instalador pueda compilar el driver.

Instalando las fuentes del kernel

Esto es sólo necesario en el caso de que tengamos un kernel precompilado y el instalador de Nvidia no encuentre un driver precompilado adecuado para nosotros.

Es muy importante instalar exactamente la versión de las fuentes del kernel que se corresponda con la versión del kernel que tenemos instalado. De lo contrario no podremos compilar los drivers. Para averiguar la versión del kernel que tenemos instalada utilizaremos el comando:

$ uname -r

Una vez sabemos nuestra versión del kernel, descargaremos e instalaremos el paquete kernel-source que se corresponda exactamente con la versión del kernel que nos ha dicho el comando anterior.

Hemos de asegurarnos que se instale en el directorio /usr/src y que en el mismo directorio haya un enlace simbólico llamado linux que apunte al directorio de las fuentes correspondientes a nuestra versión del kernel.

1) Terminando las X

Para instalar los drivers debemos terminar las X (en caso de que tengamos fucionando el entorno gráfico). Para ello nos iremos a un tty, por ejemplo al tty1 pulsando las teclas: CTRL+ALT+F1. Una vez ahí nos logueamos como root y tecleamos el siguiente comando:

# init 3

Con esto entraremos en el runlevel 3 que es un nivel de ejecución sin X.

Alternativamente, si estamos utilizando un gestor de login gráfico como kdm, xdm o gdm, es más correcto parar el servicio. Por ejemplo, para kdm:

# /etc/init.d/kdm stop

2) Instalando los drivers

Ahora que ya hemos teminado las X y somo root, entraremos en el directorio donde hemos descargado el fichero. Para instalarlo le daremos permiso de ejecución y lo ejecutaremos del siguietne modo:

# chmod a+x <nombre_fichero>
# ./<nombre_fichero>

Se lanzará el instalador, nos buscará un kernel (si tenemos un kernel precompilado) o compilará los drivers según las fuentes de nuestro kernel que hemos instalado en /usr/src.

Cuando termine, el instalador nos advertirá que si tenemos un determinado módulo cargado, el driver no funcionará. Para mirar si tenemos ese módulo cargado podemos mirarlo con (como root):

# lsmod | grep <nombre_modulo>

Y en el caso de tenerlo cargado podemos quitarlo con (como root):

# rmmod <nombre_modulo> 

3) Configurando las X

Ahora hemos de modificar el fichero de configuración de las X para que utilice el driver que acabamos de instalar. Para ello editaremos el fichero /etc/X11/XF86Config-4 si usamos XFree o /etc/X11/xorg.conf si usamos X.org y modificaremos las siguientes líneas:

En la sección “Devices”

Cambiaremos la línea que dice

Driver "nv" (o bien Driver "vesa")

por la siguiente

Driver "nvidia"
En la sección “Module”

Nos aseguraremos de tener la línea (si no está la ponemos)

Load "glx"

Y borraremos las siguientes si están; en vez de borrarlas podemos comentarlas (deshabilitarlas) añadiendo delante de cada una el símbolo #

Load "dri"
Load "GLcore"

Una vez hechos estos cambios ya hemos terminado de configurar las X para que utilicen el nuevo driver. Hay muchos más parámetros que se pueden configurar en este fichero. Todos ellos están especificados en la guía de instalación de los drivers de la página oficial, así como las soluciones a los problemas más comunes que se pueden presentar al configurar als X.

Una vez terminado de editar el ficehro lo guardamos y volvemos a iniciar las X como se explica en el siguietne apartado.

4) Volviendo a las X

Para volver al nivel de ejecución X11 ejecutaremos el siguiente comando (seguimos siendo root):

# init 5

O bien si hemos usado el método de parar el servicio de un gestor gráfico, volvemos a lanzarlo. Por ejemplo, para gdm:

# /etc/init.d/gdm start

Si después de ello no volviera automáticamente al tty con el entorno gráfico, primero haremos un logout en consola, y cuando volvamos a ver el prompt pidiendo el login, volveremos manualmente al tty7 (el primer tty de las X) pulsando las teclas: CTRL+ALT+F7

Habremos vuelto al entorno gráfico y si todo ha ido bien veremos el logotipo de Nvidia y ya podremos aprovechar al máximo las prestaciones que nos ofrece nuestra targeta gráfica. Si ha habido algún problema podéis revisar la documentación y los FAQs de la página oficial para resolverlos, aunque estos pasos suelen ser suficientes para una correcta instalación.

 

Utilidades gráficas

Una vez instalado todo y configuradas correctamente las X, podemos configurar el driver de manera gráfica, utilizando la aplicación que Nvidia incorpora con los drivers versión 6106 y superiores. Se ejecuta con el comando nvidia-settings.

Aparte, disponemos de muchas aplicaciones gráficas para configurar el driver. Una de ells que funciona muy bien es Yanc y está disponible en su página en SourceForge. Aunque siempre es mejor utilizar los programas oficiales.

Parche para kernels 2.6.9

Si se está utilizando un kernel 2.6.9, seguramente el instalador de nvidia saldrá con un error diciendo que no ha podido cargar el módulo correspondiente. Esto se debe a que en esta versión del kernel han habido cambios que hacen que el driver no se aplenamente compatible. Para poder compilar el driver podemos optar por la siguiente solución (hasta que nvidia saque un driver completamente compatible):

  1. Ejecutar el instalador pasándole el parámetro -x (para descomprimirlo)
  2. En el directorio que crea entrar en usr/src/nv/
  3. Editar el fichero nv.c y añadir la línea en negrita antes de las líneas que aparecen aquí:
    #define __VMALLOC_RESERVE (128 << 20)
    /* * our global state; one per device */

Una vez hecho esto, regresamos al directorio que nos creó el instalador al descomprimir y ejecutaremos el comando:

# ./nvidia-installer -na

Veremos que el driver se instala de forma normal.

Sobre el parche

Este parche decimos que es temporal hasta que nvidia saque un driver plenamente compatible ya que con la línea introducida en el código del driver estamos asignando un valor fijo a una variable que con las nuevas versiones del kernel puede ser motificado en “boot-time” pasándole un parámetro al kernel. ¿Que pasaría si cambiásemos el valor al arrancar? No se sabe exactamente. Por eso, como solución momentánea es válida y funciona bien, pero cuando nvidia saque un driver compatible será mejor descargar la nueva versión e instalar esa.

Parche para kernels 2.6.10

Lo teneis disponible aqui: http://www.nvnews.net/vbulletin/showthread.php?t=42964

Tutorial elaborado por Nacx para ADSLAyuda.com