MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

NVidia en Debian con el kernel 2.6.29

Es un verdadero dolor de cabeza cada vez que se cambia algo en el kernel y nvidia da largas.

Esta vez el motivo es una nueva versión de kbuild y diferentes modelos de empaquetado de las cabeceras del kernel (antes entre el common y el -686, por ejemplo, había enlaces para que el de cada arquitectura tuviera lo necesario del common, ahora parece que no)

He probado miles de cosas hasta que he dado con el truco para hacerlo funcionar, inspirado en un comentario de este bug de Debian: #520706. Primero hay que buscar el archivo Makefile_32.cpu y copiarlo en su sitio.

¿Como compilamos?

  1. Ejecutar module-assistant como siempre (y esperar el fallo) para así tenerlo descomprimido.
  2. Editar /usr/src/modules/nvidia-kernel/debian/rules y cambiar la línea:

    IGNORE_CC_MISMATCH=1 CC="$(CC)" $(MAKE) -C $(CURDIR)/$(dirname) -f Makefile SYSSRC=$(KSRC) $(KPKG_EXTRAV_ARG) KBUILD_PARAMS=$(KBUILD_PARAMS) module;

    por:

    IGNORE_CC_MISMATCH=1 CC="$(CC)" $(MAKE) -C $(CURDIR)/$(dirname) -f Makefile SYSSRC=/usr/src/linux-headers-2.6.29-1-common/ KERNEL_OUTPUT=$(KSRC) $(KPKG_EXTRAV_ARG) KBUILD_PARAMS=$(KBUILD_PARAMS) module;

  3. Ejecutar nuevamente m-a -O -t build,install nvidia (es muy importante el -O ya que así no descomprime de nuevo las fuentes, y nos chafa la edición)

En el bug comentaban de usar la variable $(KCOM), pero debo tener una versión de module-assistant que no genera esa variable.

Escribo desde un kernel 2.6.29-1-686 con el driver nvidia 180.44.

A todo esto y ya se que «glxgears» es una unidad de medida de una credibilidad nula, pero hay un aumento considerable de rendimiento desde el 180.22 o 180.29 (2.500FPS) a este 180.44 (4200 FPS) (NVidia Quadro NVS 140M).

Los paquetes deb del 180.44 me los hice hace tiempo para el 2.6.28, pero eso será una historia para otro día.


Articulos relacionados:

Comentarios

  1. realniko Gracias
    12/04/2009 | 07:15

    Muchas gracias !! Me duele la cabeza pero ahora funciona !

Comentarios cerrados