Facebook Twitter rss Google+ Google+

Cómo

Published on octubre 31st, 2017 | by baltolkien

5

Cómo instalar Nvidia Optimus en Debian

Aunque KDE Blog es un blog personal, siempre está abierto a colaboraciones de terceras personas. Este es el caso del primer, y espero que no último, artículo de Héctor Sales, usuario entusiasta de GNU/Linux que nos presenta Cómo instalar Nvidia Optimus en Debian Testing que evidentemente resultará útil para aquellos que tengas equipos con este tipo de tarjetas gráficas.

Cómo instalar Nvidia Optimus en Debian

El presente tutorial tiene el fin de mostrar que, por fin, NVIDIA OPTIMUS funciona utilizando el driver de Nvidia, anteriormente también se podía utilizar la configuración que a continuación voy a explicar, pero existía el problema del famoso tearing, que finalmente se ha solventado por parte de nvidia con el X.Org 1.19.x (realmente esto es algo novedoso, algo histórico…). Un método alternativo es utilizar bumblebee pero este proyecto hace tres años que no se actualiza y el rendimiento que le puedes sacar varía mucho del hardware que tengas.

Otra opción es utilizar PRIME (no confundir con el paquete nvidia-prime de Ubuntu), este método utiliza el driver libre nouveau.

Como he dicho al principio en este tutorial me voy a centrar en NVIDIA OPTIMUS utilizando el driver de Nvidia (en Debian Testing) y en Ubuntu 16.04.3, utilizando el escritorio Plasma de la Comunidad KDE.

El equipo utilizado en este tutorial se puede ver en la siguiente captura de imagen:

Cómo instalar Nvidia Optimus en Debian Testing

Los requisitos son mínimos son:

  • Utilizar un kernel superior a 4.8.
  • X.org >= 1.19.x
  • Nvidia driver 375.26

Todos ellos ya se encuentran por “default” en Debian testing. Vamo a comprobarlo a través de la línea de comandos. Abrimos una consola:

$ apt-cache policy nvidia-driver

Instalados: 375.82-5
Candidato: 375.82-5
Tabla de versión:
*** 375.82-5 500
500 http://ftp.es.debian.org/debian testing/non-free amd64 Packages
100 /var/lib/dpkg/status

$ apt-cache policy xserver-xorg-core

Instalados: 2:1.19.5-1
Candidato: 2:1.19.5-1
Tabla de versión:
*** 2:1.19.5-1 500
500 http://ftp.es.debian.org/debian testing/main amd64 Packages
100 /var/lib/dpkg/status

Y, finalmente, saber la versión del kernel instalado:

$ uname -r

4.13.0-1-amd64

Ahora es el momento de instlar el driver nvidia básico:

$ sudo apt install nvidia-driver nvidia-settings

Tras instalar el driver nvidia realizamos las siguientes configuraciones:

Paso 1: Configuración del Xorg.

Creamos el archivo “xorg.conf” en la siguiente ruta:

/etc/X11/xorg.conf

y colocamos el siguiente contenido:

Section “ServerLayout”
Identifier “layout”
Screen 0 “nvidia”
Inactive “intel”
EndSection

Section “Device”
Identifier “nvidia”
Driver “nvidia”
BusID “PCI:1:0:0”
EndSection

Section “Screen”
Identifier “nvidia”
Device “nvidia”
Option “AllowEmptyInitialConfiguration”
EndSection

Section “Device”
Identifier “intel”
Driver “modesetting”
BusID “PCI:0:2:0”
Option “AccelMethod” “none”
EndSection

Section “Screen”
Identifier “intel”
Device “intel”
EndSection

Algunas versiones del controlador “modesetting” intentan cargar un submódulo llamado “glamour”, que está en conflicto con la implementación de NVIDIA GLX.
Asegúrate de que el módulo libglamoregl.so X no está instalado. Como mi paquete de servidor xorg incluye el controlador glamour, he añadido la opción “AccelMethod” “none” para el controlador Intel.

Lo comprobamos través de la línea de comandos (extraído de nvidia.com donde encontraréis más información ):

$ apt-file search libglamoregl.so

xserver-xorg-core: /usr/lib/xorg/modules/libglamoregl.so

Paso 2: Agrega las líneas xrandr a la configuración del login manager, en mi caso SDDM

 

Editaremos el siguiente archivo “Xsetup” localizado en

/usr/share/sddm/scripts/Xsetup

y colocamos el siguiente contenido:

xrandr –setprovideroutputsource modesetting NVIDIA-0
xrandr –auto
xrandr –dpi 96

Información extraída de: Archlinux

Paso 3: Añadir al grub la opción : nvidia-drm.modeset=1

Editamos el archivo del “grub” el archivo se encuentra en la siguiente ruta:

/etc/default/grub

Añadimos lo siguiente:

GRUB_CMDLINE_LINUX_DEFAULT=”quiet nvidia-drm.modeset=1″

después actualizamos el grub.

$ sudo update-grub2

y reiniciamos el equipo:

$ sudo reboot

Resultado: Ahora el servidor X se inicia correctamente y puedo ver dos proveedores xrandr:

$ xrandr –listproviders

Providers: number : 2
Provider 0: id: 0x204 cap: 0x1, Source Output crtcs: 0 outputs: 0 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x45 cap: 0x2, Sink Output crtcs: 3 outputs: 3 associated providers: 1 name:modesetting

Si se está utilizando la sincronización pero no se desea, se puede desactivar con:

$ xrandr –output ‘eDP-1-1’ –set ‘PRIME Synchronization’ ‘0’

Y volver a habilitar con:

$ xrandr –output ‘eDP-1-1’ –set ‘PRIME Synchronization’ ‘1’

Puedes comprobar si los gráficos NVIDIA se están utilizando, instalando el paquete mesa-utils, y ejecutándose:

$ glxinfo | grep NVIDIA

server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
OpenGL core profile version string: 4.5.0 NVIDIA 375.82
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL version string: 4.5.0 NVIDIA 375.82
OpenGL shading language version string: 4.50 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 375.82

 

 

Espero que os sea de utilidad a todos los debianitas que utilizan Debian Testing, aunque este método sirve también para Debian Stretch Stable. Cualquier duda, en los comentarios.

Tags:


About the Author

Fundador y editor de KDE Blog. Profesor de ciencias en Secundaria, enamorado de su familia y del Software Libre. Sígueme en Twitter: @baltolkien



5 Responses to Cómo instalar Nvidia Optimus en Debian

  1. enae says:

    Hola, no puedo entrar, y en la consola, error llinea 1 de /etc/X11/xorg.conf
    EE: No screens found,
    alguna sugerencia?
    Gracias

  2. Héctor says:

    Hola enae, que salida te da el comando:

    $ lspci | grep -E “VGA|3D”

    ..a mi por ejemplo me dice lo siguiente:

    00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
    01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 930M] (rev ff)

    ..en el archivo xorg.conf tienes que poner dentro de cada sección (“Device …”)..el Bus PCI que tenga asociado cada gráfica.

    Prueba a ver si eso eso..

    Saludos,

    • enae says:

      Hola, uso este comando por que el otro me dice que no se encontró la orden 3D¨
      debenae@debian:~$ lspci -k | grep -A 2 -E “(VGA|3D)”
      00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
      Subsystem: Micro-Star International Co., Ltd. [MSI] 4th Gen Core Processor Integrated Graphics Controller
      Kernel driver in use: i915

      01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940M] (rev ff)
      Kernel modules: nvidia
      03:00.0 Network controller: Intel Corporation Wireless 3160 (rev 83)
      te comento, que deshice todo lo que pude y he conseguido entrar.
      salu2

  3. Héctor says:

    Me alegro que hayas podido entrar..no sé que te ha podido fallar..yo recuerdo que cuando instalé el driver-nvidia..me sugirió mediante una ventana emergente anular el driver libre nouveau..ya que éste entra en conflicto con el driver privativo de nvidia.

    Saludos,

  4. enae says:

    hola, pues hice un
    sudo apt remove nvidia*
    sudo apt autoremove
    y luego, elimine el contenido de xorg.conf
    Gracias,
    Salu2

Responder a enae Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Back to Top ↑