¡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í.
Noviembre 1, 2007 en 12:01 pm
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…
Noviembre 1, 2007 en 12:52 pm
Que haya un instalador disponible y que funciona la mayoría de veces ya es gran avance aunque los drivers sean closed source.
Noviembre 18, 2007 en 4:37 pm
[...] 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 [...]
Diciembre 3, 2007 en 7:10 pm
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!
Enero 14, 2008 en 4:21 pm
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
Febrero 4, 2008 en 10:21 pm
@Anonimo: ¿más información que puedas proporcionar?