El blog de yylex

All hail FOSS!

¡Qué nVidia!

Publicado por yylex en Octubre 31, 2007

[Update 2008-02-01]

*El API mismatch puede ocurrir cuando se instalan actualizaciones relacionadas con el kernel. A veces no basta usar el típico comando

sh NVIDIA...sh -K

(el parámetro -K le indica que no reistale nada, más bien que solo recompile el modulo.) Si esto diera un error de que nvidia.ko existe ¿qué hago? es fácil, hay que mover (renombrar) el archivo mencionado y luego intentar otra vez.

*Los procedimientos que se describen abajo deberían ser probados según el tipo de error que muestra la máquina al iniciar o por inspección propia lo que se crea más conveniente. Nunca deberían realizarse uno tras otro.

[Update 2007-11-03]

Bug report aquí.

[Post original]

“Es que mira que me tira ese error…y ya no se que hacer.” jajaja. ¡¿A quién no le ha pasado?! (A mí, ¡ya!)

Bien, bien, la semana pasada que estaba actualizando a Gutsy me encontré con que quería cambiar los drivers de nVidia y aunque Gutsy cuenta con la última versión, al día de hoy la 100.14.19, aquí este token insistía en tener los drivers oficiales de nVidia y además hay un prerelease disponible con versión 100.14.23.

Como ya sabrán, para casi todo hay un proceso a seguir, así que luego de instalar Ubuntu me dispuse a bajar e instalar los drivers oficiales, algo que anteriormente había hecho una y otra vez. Pueden encontrar una guía bien detallada y fácil de seguir (en español) al final de esta entrada.

Bien, ya casi todo estaba terminado y finalmente, por algún motivo no logré que las* X arrancaran.

Bueno, les dejo aquí un pequeño listado de posibles soluciones a aplicar cuando…¡ya no sabemos que hacer!

Ya desinstalé nvidia-glx*… ¿En serio?

Antes de instalar los drivers oficiales hay que asegurarse desinstalar los que vienen con Ubuntu, eso se logra con un simple

# apt-get remove nvidia-glx nvidia-glx-new

pero, por algún extraño motivo puede que quede el archivo

/lib/linux-restricted-modules/.nvidia_new_installed

sin ser eliminado. Por supuesto que esto IMVHO no debió pasar. En todo caso se puede eliminar el archivo con un simple

# rm /lib/linux-restricted-modules/.nvidia_new_installed

reiniciar el sistema y ver si carga.

Llegué a esta conclusión después de analizar estos scripts

/sbin/lrm-manager
/sbib/lrm-video

Un API mismatch… que no si entiendo. ;) (Solo si lo de arriba no ha funcionado)

Si después de ver que las X no cargan, se intenta iniciarlas con

$ startx

y se recibe este mensaje error

Error: API mismatch: This nvidia driver component has version 100.14.23, but the nvidia kernel module’s version does not match. please make sure that the kernel module and all nvidia driver components have the same version.

También se puede ver el mensaje de error al tratar de reiniciar el gdm o kdm o consultado los logs. Bien, entonces puede que no se haya seguido el proceso de instalación paso a paso, el cual menciona (o debería) que se deben deshabilitar los módulos que vienen con Ubuntu, de cualquier forma se debió hacer esto

# nano /etc/default/linux-restricted-modules-common

buscar la línea que se indica a continuación

DISABLED_MODULES=""

y dejarla así

DISABLED_MODULES="nv nvidia_new"

si ya existiera algo más en esta línea, basta con agregar nv nvidia_new al final. Ahora solo falta reiniciar.

mmm… (Solo si lo de arriba no ha funcionado)

Aunque para llegar a la solución, me encontré jugando con el módulo… que cargaba, que no cargaba, jajaja.

Así que aquí describo como hice que funcionara luego de iniciar el sistema. Es una pequeña serie de pasos bien aburridos entretenidos.

El paquete nvidia-glx-new debe ser historia antes de instalar los drivers. Utilizando el comando que conocemos bastante bien realizamos la instalación

# sh NVIDIA-Linux-x86-100.14.23-pkg1.run

Ahora deshabilitar los módulos de nVidia que vienen con Ubuntu, de la misma forma que se ha indicado antes. Esto debería evitar que dé errores de API.

El módulo debe cargarse en el kernel, el tal archivo nvidia.ko. Lo buscamos y lo copiamos al directorio volatile

# find / -name nvidia.ko -print

debería devolver…

/lib/modules/2.6.22-14-generic/kernel/drivers/video/nvidia.ko

copiando (todo en una sola línea)

# cp /lib/modules/2.6.22-14-generic/kernel/drivers/video/nvidia.ko /lib/modules/2.6.22-14-generic/volatile/

# cd /lib/modules/2.6.22-14-generic/volatile

Lo insertamos y mod-probamos a cargarlo con

# insmod ./nivida.ko
# modprobe nvidia

Casi de último…

# update-modules

y deberíamos poder ver el módulo ya cargado con el comando

lsmod | grep nvidia

Ahora si…

# /sbin/ldconfig
# /sdin/depmod -aq

Finalmente… reiniciar.

#shutdown -r now

Conclusión

Habría encontrado muy poco o nada si no estuviera el código fuente disponible (en este caso scripts) para revisar y poder plantearse soluciones o tan siquiera probar a cambiar las cosas. Aunque en estos casos, futuros problemas que pudieran surgir no tendrán soporte por parte de launchpad ya que lógicamente se pierde al modificar el sistema que ellos proveen. Pero ahí está la comunidad… entonces no veo ningún problema.

¿Cuando con m$…? Viva el Open Source y ¡Viva La Résistance!

*”las X”, no sé porque se utiliza en plural (si alguién me lo pudiera aclarar jejeje)

Cómo instalar los drivers oficiales de nVidia aquí.

6 comentarios para “¡Qué nVidia!”

  1. erikgiron escribió

    A lo que se atiene uno por tener las tarjetas mejores soportadas en GNU/Linux y con los drivers más restringidos en cuanto a libertad se refiere…

  2. yylex escribió

    Que haya un instalador disponible y que funciona la mayoría de veces ya es gran avance aunque los drivers sean closed source.

  3. [...] Pero yo queria instalar los driver oficiales desde la pagina de Nvidia asi que al final di con esta pagina y esta receta si que me [...]

  4. Mateo escribió

    Excelente hombre!
    Esa exploración la tenía que hacer si queria restaurar mi equipo sin re-instalar Ubuntu! Me has dado una buena mano!
    ¡Viva la Résistance!

  5. Anonimo escribió

    Bueno segui tus instrucciones y me anduvo a la perfeccion pero una ratito despues instale beryl se me jodio todo(llegue a usarlo)repeti otra vez este procedimiento pero nada no me anduvo mas…me podrian ayudar a arreglarlo?
    gracias sañudos

  6. yylex escribió

    @Anonimo: ¿más información que puedas proporcionar?

Escribe un comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>