sábado, 23 de abril de 2011

DKMS (Dynamic Kernel Module Support)

Uno de los problemas más comunes con los módulos que no se incluyen con el núcleo Linux es que deben ser compilados siempre para cada versión, bajo la misma configuración que el nuevo núcleo.

Es decir, si tenemos una webcam, tarjeta gráfica 3D, etc... cuyos drivers, por el motivo que sea, no son mantenidos en la rama principal del núcleo sino que los hace una empresa privada, tenemos que realizar una serie de pasos previos antes de poder utilizarlos.

Las distribuciones, responsables de facilitarle la vida al usuario al que van dirigidas, habitualmente incluyen versiones precompiladas para el núcleo que están utilizando en ese momento, pero ¿qué ocurre cuando actualizamos el núcleo? Que todos los que mantienen esos módulos tienen que volverlos a compilar.



Suele ocurrir que cuando actualizamos el núcleo pero no un módulo concreto como puede ser la webcam o la tarjeta gráfica 3D, que tengas que estar unos días sin que te funcione la webcam o la aceleración 3D de la tarjeta gráfica, por ejemplo.

Normalmente Debian GNU/Linux incluyen las versiones en código fuente de estos drivers pasándole el control sobre estos módulos al mismo usuario.
Es desde luego una opción imprescindible si somos nosotros mismos los que compilamos nuestro núcleo.

Hace unos años surgió una herramienta que facilitaba el proceso de compilar los módulos, llamada module-assistant. El problema es que mediante module-assistant el usuario debe preparar el sistema para compilar, escoger qué módulos quiere instalar, e instalarlos, etc... y termina siendo únicamente una máscara algo más visual para el mismo sistema de compilar a mano de toda la vida.

DKMS (Dynamic Kernel Module Support) es un sistema que también trabaja con estas últimas versiones en código fuente. A diferencia de module-assistant, no requiere interacción con el usuario. El usuario simplemente selecciona qué módulos quiere que se instale con cada nueva versión del núcleo con sinaptic y DKMS se encarga del resto.

DKMS en cada inicio comprobará qué módulos tiene instalados y los compilará para el núcleo en ejecución en caso de que sea necesario.

Este sistema convierte la instalación de módulos como el driver de la webcam, la aceleración 3D de la tarjeta gráfica en un proceso automatizado.

Esto requiere que los responsables de Debian GNU/Linux habiliten DKMS en cada paquete que lo necesite, ya que deben ser los mismos paquetes los encargados de añadirse al sistema en cuestión, apara realizar la tarea de auto-compilación.




==========================================================================





Instalar el driver de nvidia versión 195.36.31-6 con DKMS





 


Es la opción mas fácil, "lleva los driver de nvidia compilados y empaquetados como .deb"

1- abrimos synaptic y seleccionamos e instalamos los siguientes paquetes:


nvidia-kernel-dkms
nvidia-kernel-common

nvidia-glx
nvidia-vdpau-driver
libgl1-nvidia-alternatives
libgl1-nvidia-glx
libglx-nvidia-alternatives
libvdpau
nvidia-setting
nvidia-xconfig





 






2- cuando acabe de instalarse hemos de crear el archivo de configuración de X11
(xorg.conf) haciendo uso del comando nvidia-xconfig desde una consola de comandos


3- reiniciamos y listo, ya deberíamos de tener aceleración 3D en cualquiera de los kernel que tengamos instalados.






========================================================================







 Instalar el driver legacy de nvidia versión 96xx con DKMS



El driver legacy es el driver mas antiguo soportado por la versión actual de debian. En este caso es el 96xx




1- abrimos synaptic y seleccionamos e instalamos los siguientes paquetes:



nvidia-kernel-legacy-96xx-dkms
nvidia-kernel-common

libgl1-nvidia-alternatives
libgl1-nvidia-legacy-96xx-glx
libglx-nvidia-alternatives
nvidia-setting
nvidia-xconfig





 2- cuando acabe de instalarse hemos de crear el archivo de configuración de X11
(xorg.conf) haciendo uso del comando nvidia-xconfig desde una consola de comandos


3- reiniciamos y listo, ya deberíamos de tener aceleración 3D en cualquiera de los kernel que tengamos instalados.




=========================================================================

Captura de pantalla que incluye una lista de los driver incluidos en Debian para ser instalado y gestionados por dkms




Algunos driver gestionados por dkms:
ATI





VirtualBox






Open Sound System (OSS)



















.