Tener compilado driver de Nvidia para varios kernels.... [Solucionado]
Hola, uso debian sid para 64bit, tengo el último kernel pero por algunos problemas de compatibilidad algunas cosas andan mejor con un kernel más viejo... así que dejé dos kernels instalados... El problema es que cada vez que inicio con un kernel distinto tengo que desinstalar el driver de nvidia y recompilarlo de nuevo... Yo uso el archivo .run que se descarga de la web de nvidia... para hacer la compilación tengo que editar un enlace simbólico en /usr/src/ llamado 'linux' que apunta a los headers de un kernel o del otro... Es un poco tedioso tener que perder unos minutos cada vez que cambio de kernel para hacer todo eso...
¿Existirá alguna forma de hacer cada compilación una vez y luego simplemente activar un driver o el otro dependiendo del kernel en uso?
nunca averigüé demasiado que sucedía pero entiendo que al ejecutar el archivo .run lo que sucede es que se compila un modulo , que queda guardado por algún lado (cosa que debe ser fácil de ubicar)... Lo que no estoy seguro es si solo con ese archivo basta para activar las funcionalidades de video o si hay que estar toqueteando en algún otro lado algo más si uno tiene varias versiones de ese archivo guardadas en una carpeta y decide cargarlas ... ¿se las puede tener en cualquier carpeta?
Sospecho que no debo ser el único con más de un kernel y seguro que alguien ya tuvo que lidiar con este molesto asunto de tener que recompilar cada vez que pasan de uno al otro... ¿qué solución encontraron?
Gracias
- Inicie sesión o regístrese para enviar comentarios
- 417 lecturas


Uso Aptosid 64 bits y naturalmente tengo siempre al menos tres kernels disponibles. Pero en Aptosid el driver Nouveau funciona en forma excelente con muy buena aceleración, así que la sugerencia es ¿Por qué no probar con el driver Nouveau o de última con el Nvidia de Debian?
Dices que Nouveau ya es un remplazo definitivo para el driver de Nvidia?... La opción libre ya igualó a la opción oficial de nvidia?
respecto al driver que viene en los repositorios de debian... en el pasado descubrí que solo estaba compilado para cierto kernel o que durante la instalación se realizaba la compilación (para el kernel en uso)... ¿ya no funciona de esa forma?
Pues yo uso dkms instalado desde los paquetes de repositorios y cada vez que subo de kernel, se actualiza, pero claro, usted está compilando un kernel con sus drivers a mano....mmmm veo que la solución más sencilla es instalar el driver de Nvidia desde los repositorios y usar dkms aparte, hoy por hoy Nouveau está muy consiguido ya que usa Gallium y en gnome-shell 3.2.... ya está acelerado por defecto ( claro que de vez en cuando se me congela la pantalla y teclados... etc... pero dura unos segundos)... yo uso Nvidia instalado desde los repositorios de testing ya que los que usaba antes ( 295 ) desde experimental no hacía buenas migas con Xorg...
Repito, usa dkms y ten en cuenta que debes de conservar el xorg.conf configurado para usar Nvidia y para ello te sirve un paquete que lo hace automágicamente llamado "nvidia-xconfig" que se ejecuta con privilegios de root ya que machaca el Xorg.conf que tengas ( avisado quedas ).
En Aptosid, Nouveau reemplaza perfectamente al driver oficial de Nvidia, salvo en Optimus, el híbrido de laptops Intel-Nvidia.
Respecto del driver Nvidia de Debian, en Sid el procedimiento era más o menos así
Mediante apt-cache search nvidia y apt-cache show se determina el controlador correcto.
Para los controladores actuales 3d nvidia ≥ GeForce 6xxx :
Preparar el módulo:
apt-get install nvidia-kernel-source nvidia-kernel-common dkms
Activar dkms para Nvidia, así la próxima vez que el kernel de Linux sea actualizado, un módulo Nvidia será también preparado, sin intervención manual.
echo nvidia-kernel-source >> /etc/default/dkms
m-a prepare
m-a a-i nvidia-kernel-source
apt-get install nvidia-glx
Reiniciar el ordenador para que la instalación del módulo tenga efecto.
Cuando xorg reciba un update, sólo necesitará reinstalar nvidia-glx:
apt-get install --reinstall nvidia-glx
Cuando haya un nuevo controlador Debian sid nvidia, se hace accesible mediante apt:
m-a a-i nvidia-kernel-source
apt-get install --reinstall nvidia-glx
Al reiniciar el ordenador la instalación del módulo tendría efecto.
Ok mirando qué era 'dkms', me di cuenta que ya lo tengo instalado y que cada vez que hay un update de kernel 'dkms' permite reconstruir los módulos en forma automática... Pero yo lo que tengo es 2 kernels, el 2.6.32-5 y el 3.2.0-1 instalados al mismo tiempo... no es que quiero rehacer el módulo en un update... Respecto a Nouveau tengo entendido que tiene pobre aceleración 3d... Respecto al driver de nvidia instalado desde repositorios miraba aquí y hay que instalar un paquete nvidia-kernel-xxx que depende de la versión del kernel, que lo hay para 2.6.32-5 pero no para 3.2.0-1 y que al final se usa el 'module assistant' para hacer una compilación... Dicho sea de paso, cuando he querido compilar el driver de nvidia manualmente he tenido que instalar 'linux-headers-2.6.32-5-amd64' usando la opción de forzar del dpkg por que sino salta un problemas de dependencias con el 'gcc-4.3' que ya no está en sid...
Edito: gmunioz miraré lo que dices...
Bueno, ahora tengo driver nvidia instalado desde los repositorios... con el último kernel pude proceder sin problemas, pero con el kernel viejo, al cual le instalé los headers a la fuerza por que no cumplían dependencias, la compilación del kernel falla... manualmente sin embargo ayer había podido compilarlo...
Bueno, ahora tengo driver nvidia instalado desde los repositorios... con el último kernel pude proceder sin problemas, pero con el kernel viejo, al cual le instalé los headers a la fuerza por que no cumplían dependencias, la compilación del kernel falla... manualmente sin embargo ayer había podido compilarlo...
Hola leyendo la instalacion avanzada de los drivers .run de nvidia encontre esto:
-K, --kernel-module-onlyInstall a kernel module only, and do not uninstall the existing driver. This is intended to be used to install kernel modules for additional kernels (in cases where you might boot between several different kernels). To use this option, you must already have a driver installed, and the version of the installed driver must match the version of this kernel module.
que traducido con el traductor me dio esto
Instala un módulo del kernel solamente, y no desinstala el controlador existente. Esto está destinado a ser utilizado para instalar los módulos del núcleo para núcleos adicionales (en caso de que usted podría arrancar entre varios núcleos diferentes). Para utilizar esta opción, usted ya debe tener un controlador instalado, y la versión del controlador instalado debe coincidir con la versión de este módulo del kernel.Quizas esto te sirva.
Saludos
Gracias, lo miraré... sin embargo no entiendo bien, si ya tengo el controlador para ese kernel entonces que estoy compilando?... o lo que dice es que para ambos kernels se debe tener la misma versión del controlador?
Con los drivers de Nvidia instalados de los repositorios deberías tener el módulo compilado para todos los kernels de Debian que instales. Dices que no te va con un kernel viejo y que los headers tienen conflictos, creo que estará ahí el problema.
Insisto, el driver nvidia desde repositorio, es la versión desmenuzada del archivo .run oficial de nvidia... al final y acabo siempre se termina compilando el driver (eso es lo que hace el module assistant)... Y eso es lo que quería evitar... no tener que hacer compilación cada vez que inicio con un kernel distinto (alternando entre los mismos siempre)...