Indice
1. Introducción
2. Instalación
2.2. Driver libre «nouveau»
2.3. Driver privativo «nvidia»
2.3.1. Mediante module-assistant
2.3.2. Mediante el instalador de nVidia (.run)
3. Configuración de Xorg
4. Desinstalación
4.2. Driver privativo
4.2.1. Instalado mediante module-assistant
4.2.2. Instalado mediante el instalador de nVidia (.run)
5. Problemas comunes
nVidia ciertamente ofrece drivers de calidad aceptable para sus tarjetas gráficas, pero también existen alternativas libres logradas a base de ingeniería inversa y mucho esfuerzo por parte de la comunidad.
Los drivers libres como ‘nv’ o ‘nouveau’ poseen capacidad de aceleración 2D, y además ‘nouveau’ cierta capacidad de aceleración 3D. Éstos son suficientes si no se requiere de efectos de escritorio ni uso de aplicaciones 3D, como juegos o programas de modelado.
En el caso de necesitar aceleración 3D, y mientras ‘nouveau’ no alcance una estabilidad aceptable, la única opción es usar los drivers privativos. Para estoDebian puede facilitarnos la tarea o podemos acudir al instalador oficial de nVidia.
En este artículo se trata de explicar la instalación, configuración y desinstalación de todos los drivers.
En la instalación estándar de Debian, este es el driver que se instalará si tu tarjeta gráfica es nvidia, por lo que en esta guía (por el momento) no se explica suinstalación.
NOTA IMPORTANTE: Toda la paquetería (presumiblente, aquello que entrará en Squeeze) está disponible ya en la rama Sid, tanto la parte del DRM (kernel 2.6.32-4 (nótese el 4) como la parte de las X.
El nuevo driver libre, que hereda la aceleración 2D del driver ‘nv’ e implementa aceleración 3D a partir de ingeniería inversa al driver privativo, está actualmentedisponible en la rama experimental.
Para instalarlo hay que tener en cuenta lo siguiente:
- Es recomendable instalarlo desde sid (unstable), o saber manejarse con las dependencias en varias ramas (pinning).
- El driver como tal aún no es estable, la aceleración 3D (e incluso la 2D) no es completamente funcional para todas las tarjetas.
- El driver tal y como lo proporciona el paquete de Debian no posee capacidad de aceleración 3D (a petición de los desarrolladores de nouveau). Si deseas tener soporte para aceleración 3D (totalmente experimental, y solo funciona en algunas tarjetas), dirígete al sitio de nouveau, donde se explica como compilar los drivers con soporte para Gallium3D.
Instalación:
El paquete «nvidia-glx» entra en conflicto con el paquete de ‘nouveau’, por lo que es recomendable no usar el driver privativo (instalado con m-a) mientras se instala el driver ‘nouveau’, ya sea realizando la instalación desde una tty, o desde el servidor gráfico usando un driver como el ‘nv’ o el ‘vesa’.
Asimismo, si fuese necesario actualizar xorg, es recomendable hacerlo y comprobar el buen funcionamiento de la nueva versión antes de instalar ‘nouveau’.
Pasos para la instalación:
- Añadir el repositorio sid al sources.list.
- Actualizar la lista de paquetes
# aptitude update
- Instalar el último kernel disponible de esa rama (nouveau disponible a partir de 2.6.32-4) y la parte de las Xorg
# aptitude install linux-image-2.6.32-4-686 (alternativamente -amd64 o la arquitectura que estés usando).
# aptitude install xserver-xorg-video-nouveau
- Añadir a /etc/initramfs-tools/modules «nouveau modeset=1»
- Editar el xorg.conf y sustituir el driver actual (‘nv’, ‘vesa’ o ‘nvidia’) por ‘nouveau’ (y eliminar opciones propias de otros drivers). Este paso es muy importante. Por defecto (y a pesar de tener el kernel modesetting activado) las X intentarán arrancar con el driver «nv» y la máquina se quedará prácticamente bloqueada (aunque responde a un REISUB).
- Reiniciar el sistema o cargar el módulo «modprobe nouveau modeset=1» y reiniciar las X
Nota: En caso de haber tenido instalado el driver privativo, será necesario descargar el módulo ‘nvidia’ antes de iniciar xorg con el nuevo driver.
Método general de instalación
Primero asegurarse de tener activada la sección non-free de nuestros repositorios.
Luego, instalar los drivers privativos de Nvidia en Debian usando module-assistant es tan sencillo como hacer los siguiente:
# aptitude install module-assistant
# m-a prepare
# m-a a-i nvidia
Por favor, refierase al manual de module-assistant en consola para ver las opciones disponibles, sobre todo si usa la opcion «purge», ejecute para ello:
#man m-a
Revisa antes los mensajes de error ya que muy probablemente no puedas instalarlo porque previamente exista una compilación errónea o «restos» de una malainstalación. En caso de no instalarse por éste motivo ejecuta:
#m-a clean nvidia
Vuelve al paso «2.3.1» para intentarlo de nuevo o continúa con el siguiente método:
# m-a a-i nvidia-kernel-source
Luego, para asegurarnos de tener todo actualizado:
# aptitude install nvidia-glx
En este punto, si todo ha salido bien, sólo resta editar el xorg.conf de modo que usemos el driver:
En la sección «Device» debe quedar especificado el driver ‘nvidia’:
Section «Device»
…
…
Driver «nvidia»
…
EndSection
¿Que ventajas tiene este método con respecto al .run de nvidia?
Todo quedará mucho más integrado en Debian, y la desinstalación de estos drivers se hará mucho más sencilla (aptitude purge los_paqueten que_fueren).
Casos especiales en las diferentes ramas de Debian
En Lenny no están los drivers completos. En Etch creo recordar que sí, y en Sid también (por supuesto, en las ramas non-free). Esto es sencillo de ver si usando los repositorios de lenny hacemos:
# apt-cache search nvidia
cpufreqd - fully configurable daemon for dynamic frequency and voltage scaling
dmraid - Device-Mapper Software RAID support tool
nvclock - Allows you to overclock your nVidia card under GNU/Linux
nvclock-gtk - Allows you to overclock your nVidia card under GNU/Linux
nvclock-qt - Allows you to overclock your nVidia card under GNU/Linux
nvidia-xconfig - The NVIDIA X Configuration Tool
nvtv - tool to control TV chips on NVidia cards under Linux
sensors-applet - Display readings from hardware sensors in your Gnome panel
trigger - free 3D rally racing car game
trigger-data - free 3D rally racing car game - data files
xserver-xorg-video-nv - X.Org X server -- NV display driver
nvidia-cg-toolkit - NVIDIA Cg Toolkit Installer
nvidia-kernel-common - NVIDIA binary kernel module common files
nvidia-settings - Tool of configuring the NVIDIA graphics driver
python-cg - nVidia Cg driver binding for PythonQue paquetes (básicos) nos faltan:
nvidia-glx (o nvidia-glx-legacy-loquesea)
nvidia-kernel-sourceAsí, metemos los repositorios de sid:
deb http://ftp.fr.debian.org/debian sid non-free
# apt-cache search nvidia
cpufreqd - fully configurable daemon for dynamic frequency and voltage scaling
dmraid - Device-Mapper Software RAID support tool
nvclock - Allows you to overclock your nVidia card under GNU/Linux
nvclock-gtk - Allows you to overclock your nVidia card under GNU/Linux
nvclock-qt - Allows you to overclock your nVidia card under GNU/Linux
nvidia-xconfig - The NVIDIA X Configuration Tool
nvtv - tool to control TV chips on NVidia cards under Linux
sensors-applet - Display readings from hardware sensors in your Gnome panel
trigger - free 3D rally racing car game
trigger-data - free 3D rally racing car game - data files
xserver-xorg-video-nv - X.Org X server -- NV display driver
nvidia-cg-toolkit - NVIDIA Cg Toolkit Installer
nvidia-kernel-common - NVIDIA binary kernel module common files
nvidia-settings - Tool of configuring the NVIDIA graphics driver
python-cg - nVidia Cg driver binding for Python
nvidia-glx - NVIDIA binary Xorg driver
nvidia-glx-dev - NVIDIA binary Xorg driver development files
nvidia-glx-legacy-71xx - NVIDIA binary Xorg driver (71xx legacy version)
nvidia-glx-legacy-71xx-dev - NVIDIA binary Xorg driver development files
nvidia-glx-legacy-96xx - NVIDIA binary Xorg driver (96xx legacy version)
nvidia-glx-legacy-96xx-dev - NVIDIA Xorg driver development files (96xx legacy version)
nvidia-kernel-2.6-486 - NVIDIA binary kernel module for 2.6 series compiled for 486
nvidia-kernel-2.6-686 - NVIDIA binary kernel module for 2.6 series compiled for 686
nvidia-kernel-2.6-k7 - NVIDIA binary kernel module for 2.6 series compiled for k7
nvidia-kernel-2.6.18-4-486 - NVIDIA binary kernel module for Linux 2.6.18-4-486
nvidia-kernel-2.6.18-4-686 - NVIDIA binary kernel module for Linux 2.6.18-4-686
nvidia-kernel-2.6.18-4-k7 - NVIDIA binary kernel module for Linux 2.6.18-4-k7
nvidia-kernel-legacy-2.6-486 - NVIDIA binary kernel module for 2.6 series compiled for 486
nvidia-kernel-legacy-2.6-686 - NVIDIA binary kernel module for 2.6 series compiled for 686
nvidia-kernel-legacy-2.6-k7 - NVIDIA binary kernel module for 2.6 series compiled for k7
nvidia-kernel-legacy-2.6.18-4-486 - NVIDIA binary kernel module for Linux 2.6.18-4-486 (legacy version)
nvidia-kernel-legacy-2.6.18-4-686 - NVIDIA binary kernel module for Linux 2.6.18-4-686 (legacy version)
nvidia-kernel-legacy-2.6.18-4-k7 - NVIDIA binary kernel module for Linux 2.6.18-4-k7 (legacy version)
nvidia-kernel-legacy-71xx-2.6-686 - NVIDIA binary kernel module for 2.6 series compiled for 686
nvidia-kernel-legacy-71xx-2.6-k7 - NVIDIA binary kernel module for 2.6 series compiled for k7
nvidia-kernel-legacy-71xx-2.6.18-4-686 - NVIDIA binary kernel module for Linux 2.6.18-4-686 (legacy version)
nvidia-kernel-legacy-71xx-2.6.18-4-k7 - NVIDIA binary kernel module for Linux 2.6.18-4-k7 (legacy version)
nvidia-kernel-legacy-71xx-source - NVIDIA binary kernel module source (71xx legacy version)
nvidia-kernel-legacy-96xx-2.6-686 - NVIDIA binary kernel module for 2.6 series compiled for 686
nvidia-kernel-legacy-96xx-2.6-k7 - NVIDIA binary kernel module for 2.6 series compiled for k7
nvidia-kernel-legacy-96xx-2.6.18-4-686 - NVIDIA binary kernel module for Linux 2.6.18-4-686 (legacy version)
nvidia-kernel-legacy-96xx-2.6.18-4-k7 - NVIDIA binary kernel module for Linux 2.6.18-4-k7 (legacy version)
nvidia-kernel-legacy-96xx-source - NVIDIA binary kernel module source (96xx legacy version)
nvidia-kernel-source - NVIDIA binary kernel module source
Ahora sí, ya podemos instalar los drivers usando module-assistant.
Para conseguir el driver debemos ir a la siguiente URL AQUI
Instalación:
– Entramos en un terminal (CTRL+ALT+F1) y nos logeamos como root:
$su root
– Desactivamos las X:
Depende de lo que utilices, deberás ejecutar:
GDM: #/etc/init.d/gdm stop
KDM: #/etc/init.d/kdm stop
XDM: #/etc/init.d/xdm stop
Como alternativa, puedes pasar a modo monousuario con:
#init 1
– Verificamos cual es la version de nuestro Kernel instalado:
#uname -r
o
#uname -a
Y apuntamos el resultado para usarlo en el siguiente paso.
– Agregamos a la instalación de nuestro sistema los siguientes componentes:
apt-get install linux-headers-«aqui colocamos la versión que nos aparecio al hacer uname -r» gcc make
Ejemplo para la version «2.6.25-2-486» del kernel (esto puede variar según el resultado del paso enterior):
#apt-get install linux-headers-2.6.25-2-486 gcc make
– Instalamos el driver; nos ubicamos en el lugar donde lo hemos descargado y escribimos:
#sh NVIDIA-Linux-x86-173.14.12-pkg1.run
La pantallas que aparecerán después son simples cuadros de dialogos en inglés, les suguiero traducirlos y tomar una decisión (no es nada dificil).
En la parte que nos dice del tipo de compilador que estamos usando (gcc) y que no es quizá el mismo que tenemos instalado, tan solo le damos unNO y continuamos con nuestra instalación.
El instalador nos preguntará casi al final si queremos que auto configure el archivo «xorg.conf», pues le decimos SI.
Ojo: Leamos bién los cuadros de diálogo..!!
Para pre finalizar, reiniciamos las X. Dependiendo de que utilices, ejecutarás:
GDM: /etc/init.d/gdm restart
KDM: /etc/init.d/kdm restart
XDM: /etc/init.d/xdm restart
Si pasaste a modo monousuario:
#init 2 && startx
– Para finalizar, verificamos que todo marche bien: quizá nuestro idioma de teclado haya cambiado, pero eso lo restauramos copiando o modificando la sección correspondiente al teclado y que tenemos guardado en nuestro backup de los archivos xorg.conf.old)
Section «ServerLayout»
Identifier «Layout0»
Screen 0 «Screen0»
InputDevice <strong>»Generic Keyboard»</strong> «CoreKeyboard»
InputDevice «Mouse0» «CorePointer»
EndSection
Los resaltados con negro deben ser escritos iguales, porque sino, arrojaría un error (es simple, solo precaución)
Section «InputDevice»
Identifier <strong>»Generic Keyboard»</strong>
Driver «kbd»
Option «XkbRules» «xorg»
Option «XkbModel» «pc105»
Option «XkbLayout» «latam»
EndSection
En este manual, por el momento, la configuración del xorg se explicó arriba en la sección correspondiente del capítulo .
Tan sencillo como escribir en consola (como root):
# aptitude purge nvidia
Tan sencillo como escribir en consola (como root):
# nvidia-uninstall
Y lo hace todo automágicamente.