Gravatar de Armonth

El driver de nVidia, KVM y kernel linux 2.6.21

Ayer entre salto y salto me dije “hora de volver a Debian Sid” y después de actualizar el kernel 2.6.18 a 2.6.21 me encontré con que no se puede compilar el driver propietario de nVidia.

El fallo que da es:

NVIDIA: Unable to build the nvidia kernel module

En el kernel 2.6.20 se añadió KVM (paravirtualización) y parece que el driver se pega de leches al intentar compilarlo con una de las opciones de KVM.

La solución: volver a compilar el kernel sin paravirtualización. El caso es que yo hace mucho que no lo compilo (comodo que es uno y más desde que el hardware que entra por casa es variable) , desde el 2.6.10 o así cuando se aplicaban los parches de Con Kolivas y la gente compilaba de verdad, con make y no con esos kbuilds de Debian que nunca me acuerdo de cómo se hacen.

Otra solución es ir tirando con el driver 2D “nv” (los nuevos me soportan el fullscreen con gmplayer así que no necesito más) o seguir en el 2.6.18. Aunque personalmente si no te gustan estas sorpresas ¿para qué estás en “unstable”? :P.

5 Comentarios (feed)

  1. Gravatar de Jose Gregorio Jose Gregorio nos comenta:

    armonth como hago para compilar el kernel sin paravirtualizacion? como se hace eso?

    Viernes, 1 de Junio/2007 @ 18:32

  2. Gravatar de Armonth Armonth nos comenta:

    Jose pues es algo complicado: tienes que saber compilar el kernel “a mano” y al hacer el “make menuconfig” existen muchas opciones: cpu utilizada, hardware, sistema de ficheros, etcétera. Solamente tienes que deshabilitar todo lo relacionado a Paravirtualización (KVM).

    El caso es que compilar el kernel no es tarea fácil para novatos, yo probaría a hacer lo siguiente (de memoría te lo digo), tenemos que compilar un kernel que no haya sido compilado antes (para evitar que los módulos sobreescriban los viejos):

    Si tenemos el kernel 2.6.20, instalamos el 2.6.21, si tenemos el 2.6.21 pues instalamos el 2.6.20, la idea es compilarlo “a lo debian” (presupongo que usas Debian o Ubuntu).

    En este enlace a un artículo cacheado por google lo explican, lo más difícil del proceso es saber qué opciones habilitar o deshabilitar…

    Pero existe una solución: copia el fichero config-tu-version-del-kernel de /boot a /lugar-donde/hayas/descomprimido/el/nuevo/kernel/.config (si no lo tienes, te falta el paquete escribe tal cual, con el acento al revés: apt-get install linux-headers-`uname -r`) antes de hacer el make menuconfig.

    Cuando haces el menuconfig tienes que buscar una opción que diga “Paravirtualization” o “KVM”, seguramente este al pulsar enter en una de las primeras opciones (sobretodo las relacionadas a CPU),, llevo mucho tiempo usando precompilados y el KVM es nuevo así que no sé decirte exactamente la ruta. Una vez lo encuentres la opción te pones encima y pulsas “N” para deshabilitar el compilar esa opción… vas hacía atrás y guardas el fichero de nuevo xD

    Sinceramente, es muy fácil (si obviamos qué opciones activar/no activar) pero cuesta de explicar.

    Sábado, 2 de Junio/2007 @ 4:54

  3. Gravatar de Jose Gregorio Jose Gregorio nos comenta:

    chamo esto es una locura yo lo unico q quiero es instalar los driver nuevos de NVIDIA (NVIDIA-Linux-x86-1.0-9755-pkg1.run) (aceleracion 3d) en mi nuevo kernel 2.6.21-1-686….cual es la forma mas facil de resolver ese (error:Unable to build the nvidia kernel module) y poder instalar los driver????(ojo todo esto lo hago con el fin de instalar beryl y que me corrar el google earth)

    Lunes, 4 de Junio/2007 @ 20:34

  4. Gravatar de alsamixer alsamixer nos comenta:

    Aquí hay una recetilla para arreglar el problema:

    Instalar driver privativo de Nvidia con kernel Linux >= 2.6.20

    Viernes, 13 de Julio/2007 @ 16:56

  5. Gravatar de neozerosv neozerosv nos comenta:

    Aca pueden encontrar una solución http://crysol.org/node/737 en vez de compilar el kernel y funciona…

    Saludos..

    Viernes, 10 de Agosto/2007 @ 17:10

No seas tímido, da tu opinión

Sé respetuoso con los demás, la diferencia de opiniones enriquece la discusión, los comentarios bajo ciertas circunstancias pueden ser moderados y requerir aprobación.