Instalación y Ahorro de energia de la tarjeta gráfica nvidia (GeForce4 MX 440 AGP 8x)

Por Paco Aldarias Raya

Impreso: 9 de enero 2005

Email: pacolinux arroba inicia punto es

Web: http://aldarias.es/pacodebian

Con Linux Debian. En Valencia (España)

Este documento es de libre reproducción siempre que se cite su fuente.

Realizado con: LATEX

Índice General


1 Introducción

Vamos a describir el proceso de instalación de las tarjetas de redd nvidia.

Desde consola como root:

lspci

0000:02:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x] (rev a4)

2 Instalando los drivers de nvidia

2.1 Bajandose el instalador NVIDIA-Linux-x86-1.0-5336-pkg1.run

Descargar el driver http://es.nvidia.com/page/drivers.html

elegir la opcion Linux IA32

Descargamos el driver donde queramos, por ejemplo en /home/usuario/

Descargar el extenso archivo README-version TXT que nos aparecera en la siguiente ventana.(esta en castellano) y leerlo

Salir del entorno grafico para empezar la instalcion. Para esto:

o bien,  teclear en linea de comandos "telinit 3" (despues para volver al entorno grafico teclear "telinit 5")

o bien, salir con terminar "usuario" y volver a entrar con al opcion consola que aparece al pulsar el boton opciones de la ventana de inicio de KDE

Ir al directorio donde hemos descargado el driver (por ej., /home/usuario/

En linea de comandos y siendo root, escribir:

sh NVIDIA-Linux-x86-1.0-5336-pkg1.run

Aquí es donde se me presentaba otro problema, ya que me daba el siguiente mensaje:

You appear to be compiling the NVIDIA kernel module with
a compiler different from the one that was used to compile
the running kernel. This may be perfectly fine, but there
are cases where this can lead to unexpected behaviour and
system crashes.

If you know what you are doing and want to override this
check, you can do so by setting IGNORE_CC_MISMATCH.

In any other case, set the CC environment variable to the
name of the compiler that was used to compile the kernel.

(Parece que está compilando el módulo kernel de NVIDIA con
un compilador diferente del que utilizó para compilar el kernel
activo. En principio no tiene por qué haber ningún problema, pero
a veces puede ocasionar un comportamiento inesperado y el fallo del
sistema. Si sabe lo que está haciendo y quiere omitir esta
comprobación, puede hacerlo ejecutando el comando IGNORE_CC_MISMATCH.
En caso contrario, configure la variable de entorno cc con el nombre
del compilador que utilizó para compilar el kernel.)

El README de nVidia trata este problema y le da la siguiente respuesta:

R: Debe compilar el módulo kernel de NVIDIA con la misma versión de    compilador que utilizó para compilar su kernel. Algunas estructuras    de datos de kernel de Linux dependen de la versión de gcc utilizada para    compilarlas, por ejemplo en include/linux/spinlock.h:

        ...
        * Most gcc versions have a nasty bug with empty initializers.
        */
        #if (__GNUC__ > 2)
          typedef struct { } rwlock_t;
          #define RW_LOCK_UNLOCKED (rwlock_t) { }
        #else
          typedef struct { int gcc_is_buggy; } rwlock_t;
          #define RW_LOCK_UNLOCKED (rwlock_t) { 0 }
        #endif

   Si el kernel se compila con gcc 2.x, pero se utiliza gcc 3.x para    compilar la interfaz del kernel de NVIDIA (o viceversa), se modificará    el tamaño de rwlock_t y se producirán fallos, por ejemplo, en ioremap.

   Para averiguar qué versión de gcc utilizó para compilar el kernel,    examine la salida de:

     cat /proc/version

   Para averiguar qué versión de gcc figura actualmente en su $PATH,    examine la salida de:

        gcc -v

Bien, intente todo esto y otros consejos que me disteis pero nada. Al final tuve que volver a instalar Knoppix ya que me empezaron a aparcer problemas extras, por ej. en el moden, seguramente fruto de haber andado "jugando" sin saber muy bien lo que hacia.

Al volver a reinstalar leo un nuevo mensaje de vuestra ayuda en el que dice que el simplemente se habia saltado esta advertencia y habia instaldo el driver. Le contesté que ya habia intentado esto, pero que no me dejaba continuar.

De todas formas, volví a intentar saltarme el paso. Y ¡¡¡MILAGRO!!! esta vez si que instala el driver. (Claro, que me he quedado sin saber por qué antes no y ahora sí)

2.2 Instalandolo atraves de paquetes

Desde consolar como root:

NVDIST=testing
apt-get install module-assistant nvidia-kernel-common 
module-assistant auto-install nvidia

2.3 Compilándolo

apt-get -t $NVDIST install nvidia-kernel-source nvidia-kernel-common 
cd /usr/src
tar -zxf nvidia-kernel-source.tar.gz 
export KVERS=$(uname -r)
export KSRC=/usr/src/kernel-headers-$KVERS 
apt-get install kernel-headers-$KVERS 
apt-cache policy kernel-image-$KVERS kernel-headers-$KVERS 
cd /usr/src/modules/nvidia-kernel
debian/rules binary_modules 
dpkg -i /usr/src/nvidia-kernel-*.deb

2.4 Postinstalacion

Una vez instalado ya solo queda modificar el archivo /etc/X11/XF86Config-4

Las modificaciones serán:

Donde pone
Driver "nv"
poner
Driver "nvidia"

Asegurse de que figura
Load "glx"
Comentar (añadir al principio #) las lineas:
Load "dri"
Load "GLcore"

Y reiniciar el entorno gráfico

Si todo ha ido bien, antes de que aparezca el escritorio, aparecerá a toda pantalla el logo de nVidia.

3 Ahorro de energía en Athlon

Instalación:

apt-get install athcool

Versión:

athcool        0.3.5-2        Enable powersaving mode for Athlon/Duron pro

Ver que soporta:

athcool list

Ver el estado:

athcool status

Instarlo en el arranque:

update-rc.d athcool start 20 2 3 4 5 .

Quitalro del arranque:

update-rc.d -f athcool remove

4 Aceleración 3D en nvidia: dri

Podemos mejorar el rendimiento 3d instalando dri. Yo he pasado de 700 FPS a 3300FPS, siguiendo los pasos que describo.

Probar el rendimento:

glxgears

Me sale esto:

13488 frames in 5.0 seconds = 2697.600 FPS
16469 frames in 5.0 seconds = 3293.800 FPS
16462 frames in 5.0 seconds = 3292.400 FPS
16488 frames in 5.0 seconds = 3297.600 FPS

Comprobar que tenemos activado el dri en las exis:

dpkg-reconfigure xserver-xfree86

Comprobar que con glxinfo en los dos casos te sale "Direct Rendering: Yes".

Instalar:

apt-get install xlibmesa-dri

5 Ver pelis del dvd en la tv

Editar el fichero /etc/X11/XF86Config-4

Section "Screen"

Option "TVStandard" "PAL-B" 
Option "TVOutFormat" "SVIDEO"

Section "Device"

Option "TwinView"
Option "SecondMonitorHorizSync" "31-82"
Option "SecondMonitorVertRefresh" "58-75"
Option "MetaModes" "1280x1024,1280x1024; 1024x768,1024x768; 800x600,800x600; 640x480,640x480"
Option "TwinViewOrientation" "Clone"

6 Instalación de nvidia atraves de apt

Sí se puede instalar sin recompilar.

Por ejemplo, para instalar el último núcleo con los drivers nvidia hay que hacer lo siguiente:

La información está extraída de:

http://www.bio-informatics.nl/debinstall2.php (en barrapunto).

También hay más información aquí:

http://home.comcas.net/~andrex/Debian-nVidia/installation.htm (que ya he mencionado en algún email a listas).

  1. Lo primero es instalar el kernel y las cabeceras del kernel.

    apt-get install kernel-image-2.6.8-1-686
    
    apt-get install kernel-headers-2.6.8-1-686
    

  2. Reiniciar la máquina y arrancar con el nuevo kernel

  3. Instalas el paquete fuente de nvidia

    apt-get install nvidia-kernel-source
    

  4. Exportar las variables de entorno para el kernel

    export KSRC=/usr/src/kernel-headers-2.6.8-1-686
    
    export KVERS=2.6.8-1-686
    

  5. Descomprimir y construir el paquete

    En /usr/src/ haces tar zxvf nvidia-kernel-source.tar.gz
    
    cd modules/nvidia-kernel
    
    debian/rules binary_modules
    

  6. Instalas nvidia-kernel-common

    apt-get install nvidia-kernel-common
    

  7. Instalar el paquete construido

    dpkg -i /usr/src/modules/nvidia-kernel-*
    

  8. Instalas Nvidia GLX

    apt-get install nvidia-glx
    

  9. Configuras las X

    En el archivo /etc/X11/XF86Config-4 deben estar comentadas las siguientes lineas:

    # Load "GLcore"
    # Load "dri"
    
    y sustituir 
    
    Driver      "nv"
    por 
    Driver      "nvidia"
    

    Haces un modconf y debería salir (a mí me sale al final).

  10. Reinicias las X con el driver cargado.

    PD: Instalar nvidia-settings para configurar la tarjeta al estilo Win.

    Para la documentación oficial y configuración:

    http://es.nvidia.com/doxs/io/14901/README_ia32_6111_es.txt

    PD1: Existen más formas de crear un paquete deb de los drivers nvidia, pero quizá esta es la más fácil que he visto.

7 Mejorar la gestión de interrupciones: irqtune

Instalarlo:

apt-get install hwtools  sysutils scsitools memtest86

Ejecutar desde consola como root:

irqtune

8 Error de nvidia y kernel 2.6

Cuando salga este error:

nvidia: module license 'NVIDIA' taints kernel.
kernel: nvidia: Unknown symbol __VMALLOC_RESERVE
kernel: nvidia: Unknown symbol pci_find_class

Mirar aqui: http://baboon.utalca.cl/~csaavedra/news.html

9 Bibliografía

  1. Ahorro de energía en Athlon COMO
    http://perso.wanadoo.es/cmayo/docs/Athlon-Powersaving-HOWTO-es.html

  2. ¿Calor? Refresca tu Athlon con dos comandos
    http://barrapunto.com/article.pl?sid=04/06/27/1439233

  3. CONFIGURACIÓN DE LAS TARJETAS NVIDIA PARA OUT TV.
    http://wiki.escomposlinux.org/twiki/pub/Escomposlinux/DoLiCaNvidiaTvOut/configuracionouttvnvidia.html?CGISESSID=59c4772651218e49a404e2f9ed7f8fea&CGISESSID=59c4772651218e49a404e2f9ed7f8fea

  4. Aceleración Gráfica
    http://linuca.org/body.phtml?nIdNoticia=165

  5. Andrew's Debian-nVidia HOWTO
    http://home.comcast.net/~andrex/Debian-nVidia/index.html


Índice de Materias

gforce4
1
nvidia
1
tarjeta grafica
1

Sobre este documento...

Instalación y Ahorro de energia de la tarjeta gráfica nvidia (GeForce4 MX 440 AGP 8x)

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html nvidia -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation

The translation was initiated by on 2005-01-09


2005-01-09