Drivers NVidia 'a la debian'

Como, a pesar de los esfuerzos que muchos hacen, howtos, etc, siguen habiendo problemas con la instalacion de los drivers propietarios de nvidia, voy a explicar las forma 'oficiales' de instalacion de los drivers de nvidia en debian (al menos en sarge) pues considero que es realmente fácil.
-- Los paquetes necesarios se encuentran en Sarge y en Sid, en las ramas 'contrib' y 'non-free'.

- Kernel rama 2.4 de debian:
La opcion mas fácil y segura: actualizarse al kernel 2.4.27, para el cual se dispone de los drivers de nvidia ya compilados y empaquetados como deb:
apt-get install kernel-image-2.4.27-loquesea nvidia-kernel-2.4.27-loquesea nvidia-kernel-common nvidia-glx
y listo!

En todos los otros casos habrá que compilar al menos los modulos de nvidia, en ese caso es necesario instalar el paquete kernel-package (apt-get install kernel-package) tanto si se compila un nuevo kernel como si no.

- Otros kernels de debian (por ejemplo los 2.6)
Hay que instalar el paquete kernel-headers correspondiente y el nvidia-kernel-source
apt-get install kernel-headers-loquesea nvidia-kernel-source
Después de ello, es tan fácil como ir a /usr/src/linux donde linux es un enlace hecho al directorio kernel-headers correspondiente, y una vez alli ejecutar 'fakeroot make-kpkg modules-image'
----
Otra forma
Gracias por la información a landras1
Instalar los mismos paquetes, pero en vez de hacer el make-kpkg, entrar a /usr/src/modules/nvidia-kernel y desde alli ejecutar un 'debian/rules binary_modules', que es lo que realmente hace el script 'make-kpkg', aunque personalmente encuentro mejor usar el 'make-kpkg' directamente.

- Kernel compilado por uno mismo.
Los que leeis aqui ya sabeis mi opinion. Si no sabeis y quereis un sistema que funcione y ya está, NO compileis vuestro propio kernel.
Si sabeis bastante como para compilar vuestro propio kernel, tampoco deberiais tener ningun problema para instalar los drivers de nvidia :-)
Si quereis compilar vuestro propio kernel para aprender, lo primero que hay que hacer es leer. Todo lo que estoy diciendo aqui está escrito en la documentacion que viene con los paquetes debian de nvidia, solo que aqui está resumido. Pero bueno, una vez hecha la configuracion del kernel (y para eso hay que conocer bien la máquina donde va a correr y leerse bien TODAS las opciones posibles en el programa de configuracion que usemos), la cosa acaba en hacer un 'fakeroot make-kpkg --revision nuestra_revisión kernel-image modules-image' que nos creará dos bonitos paquetes deb, uno con el nuevo kernel, y el otro con los drivers de nvidia para ese kernel.

----
Nueva forma aun mas fácil!
Gracias por la información a Ramon Ramos

el paquete module-assistant es un asistente para automatizar la instalacion de modulos distribuidos como codigo fuente (como por ejemplo los de nvidia)
La instalacion, como cualquier paquete debian 'apt-get install module-assistant'
Y una vez instalado, para instalar los modulos de nvidia, solo es necesario escribir 'module-assistant auto-install nvidia'.
Evidentemente habrá que repetir esta ultima linea cada vez que queramos actualizar el driver a una nueva version, o cuando cambiemos de kernel.
---
Añadido por carlitrosdealcool:
Parece que en muchos casos, el module assistant no instala el paquete nvidia-glx que es necesario, en ese caso (si no sale la opvion 'nvidia' al reconfigurar las X) hay que hacer también un 'apt-get install nvidia-glx'

----
Añadido.
Pensé que era evidente, pero veo que no lo es ;-)
Una vez compilado e instalado el módulo de nvidia, hay que 'reconfigurar' las X (dpkg-reconfigure xserver-xfree86) y seleccionar que use el módulo 'nvidia' en lugar del módulo 'nv'. De todas maneras, esto ya lo sabe cualquiera que se haya leido la documentacion.

Un saludo a todos!

disculpa lemon... hay una forma aun mas facil.no creo que sea la oficial, pero sirve :P. Primero instalas el module asistant un programa 100% debian que facilita aun mas instalar modulos al kernel.
"apt-get install module-assistant "
y despues escribes
"module-assistant auto-install nvidia"

y ya ta eso es todo.. si quieres actualizar el driver solo escribe la ultima linea otra vez...

Un método más, mi preferido, aunque el de Ramón Ramos se GANÓ TODOS LOS LAURELES!

Ej para mi kernel 2.6.6-1-k7
# Apt-get install nvidia-kernel-source nvidia-glx kernel-headers-2.6.6-1-k7
# cd /usr/src
# tar zxvf nvidia-kernel-source.tar.gz
# export KSRC=/usr/src/kernel-headers-2.6.6-1-k7
# export KVERS=2.6.6-1-k7
# CC=gcc-3.3 debian/rules binary_modules
# cd /usr/src/modules
# dpkg-i nvidia-kernel-2.6.6-1-k7_1.0.6111-1_i386.deb

Aclaración: Si tienen una ventana abierta con este post sólo es cuestión de copiar,pegar y autocompletar, no hay que escribir una sóla línea, en memos de 1 minuto ya está el módulo de nvidia cocinado y listo para servir.

PD. veo qué mucha gente tiene problemas con el módulo para ATI RADEON, yo no tengo esta placa, pero sería bueno que los que tienen claro este tema hagan un resumen como éste para ayudar a los que tienen menos fortuna.

Saludos

Me parece que este hilo puede ser muy clarificador para mucha gente, por lo que propongo que se fije el hilo durante una temporada o mejor aún se puede poner como articulo, porque esto es algo que no para de salir en el foro.

Edición: Bueno veo que fijado ya esta, entonces propongo que en un par de semanas pase a articulo, mejor si como dice landras1, alguien postea información de alguna otra tarjeta "problematica"...

Un Saludo

Hay un "pequeño" detalle que omití en mi post (en realidad un pequeño error, lo confieso), que les dará algunos dolores de cabeza si no se dan cuenta, ya que al ejecutar el siguiente comando podrían tener un error
bash: debian/rules: No existe el fichero o el directorio.
Entonces para ejecutar:

# CC=gcc-3.3 debian/rules binary_modules

deben estar en el directorio:

/usr/src/modules/nvidia-kernel#

En cuanto a gcc-3.3, hay que poner la versión de gcc que tenga cada uno.
Seguramente van a ver multitud de warnings pero casi siempre no hay errores.

ACÁ NUEVAMENTE EL MÉTODO CORREGIDO:

# Apt-get install nvidia-kernel-source nvidia-glx kernel-headers-elkernelquesea
# cd /usr/src
# tar zxvf nvidia-kernel-source.tar.gz
# export KSRC=/usr/src/kernel-headers-elkernelquesea
# export KVERS=elkernelquesea
# cd modules/nvidia-kernel
# CC=gcc-3.3 debian/rules binary_modules
# cd ..
# dpkg-i nvidia-kernel-elkernelquesea_1.0.6111-1_i386.deb

-----------FIN-----------------------------------------

Aclaración: elkernelquesea=2.6.6-1-k7 en mi caso.

En cuanto al método de Ramón Ramos, no puedo hacerle entender a module-assistant que SI TENGO INSTALADO!!! el nvidia-kernel-source, seguramente es un problema del programa que no encuentra el source dónde lo esperaba encontrar.
Bueno, pero yo ya me acostumbré al que escribí arriba así que como dice el dicho "aleluya, aleluya cada cual tiene la suya"

Saludos

he seguido los pasos de ramon ramos... pero sigo teniendo problemas, cuando inicio las x todo funciona bien por un momento, pero despues parece que se "paraliza" todo en pantalla, solo funciona el mouse(se mueve el puntero pero no puedo dar click a nada) y el teclado no responde... asi que debo reiniciar la pc ala fuerza... alguien sabe por que pasa esto?

bet0, este no es el thread correcto para tu pregunta, pues por lo que dices lo que es la intalacion de los drivers te ha funcionado bien. Por favor, pon tu pregunta en un nuevo thread, especificando que comportamiento tienes con otros drivesrs, cual es tu configuración y que te sale en los logs de las X.

He encontrado un fallo en el metodo de instalacion del module-assistant.
Si despues de instalar el modulo de nvidia con el module-assistant, cargais el modulo de nvidia y al intentar reconfigurar el xserver no os aparece en la lista de tarjetas de video disponibles el modulo nvidia, es porque al module-assistant (no se porque) se le olvida cargar el paquete nvidia-glx.
Nada mas sencillo que un:

apt-get install nvidia-glx

Y os dira algo asi como que esta creando unos enlaces TLS.
Cuando volvais a reconfigurar el xserver os aparecera nvidia.

Saludos.

- Kernel rama 2.4 de debian:
La opcion mas fácil y segura: actualizarse al kernel 2.4.27, para el cual se dispone de los drivers de nvidia ya compilados y empaquetados como deb:
apt-get install kernel-image-2.4.27-loquesea nvidia-kernel-2.4.27-loquesea nvidia-kernel-common nvidia-glx
y listo!

disculpame, soy muy novato usando debian.. pero cuando decis "loquesea" a que te referis.. me kernel es 2.4.27-1-386. si a eso te referis cuando pongo eso. me dice que no hay nada para bajar, al igual q cuando pongo apt get install nvidia-glx, me sale esto:

nicolas-31417e0:/home/nica# apt-get install nvidia-glx
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
El paquete nvidia-glx no está disponible, pero algún otro paquete hace referencia
a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
encuentra disponible desde alguna otra fuente
E: El paquete nvidia-glx no tiene candidato para su instalación

----------------------------------------------
otra cosa, usando el module-assistant
me tira este error

Bad luck, the kernel headers for these kernel version could not be found and you did not specify other kernel headers to use.

desde ya muchas gracias

amdroot escribió:

disculpame, soy muy novato usando debian.. pero cuando decis "loquesea" a que te referis.. me kernel es 2.4.27-1-386. si a eso te referis

Exactamente. Tu paquete seria el nvidia-kernel-2.4.27-1-386 (aunque, ya que evidentemente no tienes un 386, te aconsejaria elegir un kernel mas adecuado a tu arquitectura, o sea, el 686 o el k7)

amdroot escribió:

nicolas-31417e0:/home/nica# apt-get install nvidia-glx
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
El paquete nvidia-glx no está disponible, pero algún otro paquete hace referencia
a él. Esto puede significar que el paquete falta, está obsoleto o sólo se
encuentra disponible desde alguna otra fuente
E: El paquete nvidia-glx no tiene candidato para su instalación

No tienes las sources necesarias. En el post original está especificado cuales son.

amdroot escribió:

Bad luck, the kernel headers for these kernel version could not be found and you did not specify other kernel headers to use.

No te dice nada mas?
De todas formas, necesitas instalar los kernel-headers correspondientes a tu kernel, como dice en el apartado 'otros kernels de debian'

Hola a todos.
Yo los he instalado según el método Debian explicado por "lemon" y configuré correctamente el fichero "XF86Config-4", según el readme que está en la página de nVidia, pero el problema es que modprobe no encontraba el módulo nVidia.
Al parecer es un problema de que la situación de los módulos ha cambiado desde el kernel 2.4.0, según pone el mismo readme.
Tuve que buscar "nvidia.o", meterme en la carpeta donde se hallaba ubicado y cargarlo con insmod:

updatedb
locate nvidia.o
cd /lib/nvidia
insmod ./nvidia.o

Espero que le pueda ser de ayuda a alguien..aaaadios