martes, 1 de agosto de 2017

Debian Stretch, instalar driver Nvidia


nvidia 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 GNU.

El driver libre se llama nouveau posee capacidad de aceleración 2D y 3D. En el caso de las 3D el driver cuenta aceleración 3D suficiente para los efectos de escritorio y de aplicaciones 3D, como juegos o programas de modelado, aunque no llega todavía al nivel del driver oficial de nvidia.
En el caso de necesitar aceleración 3D con el driver nvidia, y mientras 'nouveau' no lleve al nivel del driver oficial, la única opción es usar los drivers privativos. Para esto Debian puede facilitarnos la tarea o podemos acudir al instalador oficial de nVidia.

Driver libre "nouveau"

Es el driver para tarjetas Nvidia desarrollado por la comunidad de software libre, cuyo objetivo es proveer un driver libre de calidad para este tipo de tarjetas ya que cuenta con aceleración 2D y 3D, es el driver que se instala por defecto en Debian Wheezy.
 

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

NOTA IMPORTANTE: Actualmente, Nouveau está disponible a partir de Debian Squeeze siendo el driver que se instala por defecto siempre que no se indique lo contrario. La parte relacionada con el DRM está incluída en el kernel desde la versión (en formato debian) 2.6.32-4. La parte de las X (entorno gráfico) se reduce a paquete xserver-xorg-video-nouveau. 


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


 Para instalarlo hay que tener en cuenta lo siguiente:


- La aceleración 2D tiene una madurez suficiente para trabajar en el día a día.
- El uso de KMS es obligado, forma parte del driver y es necesario. Es además el principal punto conflictivo para aquellos que quieren usar el driver de nvidia privativo. Es necesario, en aquellos casos, desactivar el KMS (metiendo por ejemplo el módulo nouveau en el blacklist de modprobe).
- El driver tal y como lo proporciona el paquete de Debian posee capacidad de aceleración 3D









 

Instalación desde los repositorios Debian Stretch

En la actual estable, llamada Debian stretch con kernel Linux 4.9 es muy fácil instalar los driver de nvidia ya que están disponibles todos los paquetes necesarios en los repositorios.

NOTA: Este manual esta creado sobre Debian testing (Buster), aunque es perfectamente valido para Debian Stretch 9

NO es necesario compilar con module-assistant (se requieren las secciones contrib y non-free en el programa synaptic), osea, es necesario que el fichero source.list incluya una linea semejante a esta:

deb http://ftp.es.debian.org/debian/ stretch main contrib non-free

Ya no es necesario desinstalar (como se tenia que hacer en Debian wheezy) el driver libre nouveau: xserver-xorg-video-nouveau, simplemente con añadir dicho driver nouveau a la lista negra, es suficiente. Lo mejor de todo que el propio driver de nvidia se encargar de hacer el trabajo por nosotros durante la instalación del propio driver nvidia. Es decir el solo crear un archivo llamado: nvidia-blacklists-nouveau.conf y deshabilita el driver libre nouveau para que no entre en conflicto con el driver de nvidia.

Capturas de pantalla de como nvidia a añadido durante la instalación el driver nouveau en las listas negra, mas concretamente en el archivo: nvidia-blacklists-nouveau.conf  que se encuentra en /etc/modprobe.d


y observamos como driver nouveau, ya esta incluido en las blacklist.



Instalar nvidia-detect

Ahora tenemos que instalar los paquetes necesarios y todas sus dependencias, el primer paquete que vamos a instalar es el paquete: nvidia-detect para que al ejecutarlo nos informe de cual de todos las versiones de los driver propietarios incluido en el repositorio oficial de Debian en las ramas: contrib y non-free, es el mas conveniente para nuestra tarjeta gráfica nvidia.


Ejecutamos en una consola de comandos: nvidia-detect para que nos informe cual es el driver correcto que tenemos que usar.

  
Nos informa, que nuestra tarjeta gráfica es: NVIDIA Corporation GT218 [GeForce 210] y que el driver para dicha tarjeta es: nvidia-legacy-340xx-driver 



Ahora instalamos los paquetes necesarios.

Como siempre hacemos en este blog, y con la ayuda del programa synaptic instalamos los paquetes necesarios.
En nuestro caso con solo seleccionar dos paquetes: linux-headers-amd64 y nvidia-legacy-340xx-driver el solo selecciona TODOS los demás paquetes necesarios para la instalación

Pero vamos a poner los cuatro paquetes mas necesarios y porque seleccionamos dichos paquetes:

- linux-header-amd64    (instala las cabeceras del kernel-linux para poder compilar el driver nivia)
- nvidia-legacy-340xx-driver    (es el que corresponde para la tarjeta gráfica en este manual)
- nvidia-legacy-340xx-kernel-dkms    (este lo usamos para que al añadir un nuevo kernel, se auto compile el driver para dicho kernel)
- xserver-xorg-video-nvidia-legacy-340xx    (este cargar el driver de nvidia)

nvidia-legacy-340xx-driver


nvidia-legacy-340xx-driver   y   nvidia-legacy-340xx-kernel-dkms

xserver-xorg-video-nvidia-legacy-340xx


Observamos como al marca el paquete: nvidia-legacy-340xx-driver, nos marcas todas sus dependencias para su correcta instalación, tal como muestran las siguientes capturas de pantalla.



Pulsamos en Marcar, para poder seleccionar todos los paquetes necesarios. Y ahora pulsamos en Aplicar para que empieze la instalación.

Pulsamos en Aplicar para empezar a instalar
Ahora ya esta instalado el driver de nvidia.





En el siguiente paso de la instalación, nos informa, que el driver libre nouveau esta cargado, y que generará conflictos con el driver privado de nvidia. Para resolver este problema nos aconseja reiniciar el PC  una vez se haya terminado de instalar el driver privado de nvidia.




Vemos como continua con la instalación.





Ya ha finalizado la instalación
Ahora reiniciamos el PC para ver se que ha instalado correctamente, y que carga dicho driver sin problemas.
 

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


nvidia-settings

Además nvidia puede ser configurada desde el entorno gráfico, con el programa nvidia-settings, que es una interfaz gráfica escrita en gtk, esta interfaz podemos usarla para configurar varios monitores en la misma tarjeta, el color, el brillo, etc. sin tener que memorizar algunos comando.

NOTA: Las imagenes se ven de color marroncito, pues en el momento de escribir este manual tengo personalizado los colores del sistema, por defecto las imagenes se deben de mostrar en color gris












Enlace externo a la wiki de Debian, en el cual se explica como instalar Las tarjetas graficas en Debian:

https://wiki.debian.org/NvidiaGraphicsDrivers










.

1 comentario:

LordNikon dijo...

Hola,

Varias dudas: Al ejecutar lspci -nn | egrep -i "3d|display|vga" me devuleve

00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
01:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 840M] [10de:1341] (rev ff)

Pero cuando intento nvidia-detect el resultado es No NVIDIA GPU detected.

Estoy utiliando debian 9

Distributor ID: Debian
Description: Debian GNU/Linux 9.4 (stretch)
Release: 9.4
Codename: stretch
Linux debian-pc 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux