GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Configurar Xorg para trabajar desde GPU integrada?

Estoy usando Ubuntu 14.04LTS, con una CPU Intel + gráficos integrados, con una GPU GTX650. Hice esta pregunta en SO pero dijeron que no estaba relacionado con el tema.

Quiero usar mi GPU para depurar el código CUDA y para eso necesito cambiar la pantalla a integrada solamente. Este es el error que recibo cuando intento depurarlo actualmente:

"All cuda devices are used for display and cannot be used while debugging"

Entré en el BIOS y cambié la pantalla principal a iGPU (la integrada, HD4600). Ya no salió nada de los puertos GPU (en términos de visualización) y conecté mis monitores a la placa base. Solo funciona uno de los monitores. Normalmente los tengo como:

|[Monitor 1, VGA]| |[Monitor 2, DVI]|

En esa configuración, con iGPU, no se muestra nada en el Monitor 1 (es negro, pero la computadora sabe que está allí:la luz verde está encendida y todas mis ventanas se abren en ella). La única manera de hacer que funcione es cambiar el Monitor 2 a VGA y el Monitor 1 a DVI.

Si ingreso lspci | grep VGA en la Terminal, obtengo esto:

00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)

Ejecutando xrandr me da:

Screen 0: minimum 8 x 8, current 3360 x 1050, maximum 16384 x 16384
DVI-D-0 disconnected primary (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
VGA1 connected 1680x1050+0+0 474mm x 296mm
   1680x1050      60.0*+
   1600x1000      60.0 +
   1280x1024      75.0     72.0     60.0  
   1440x900       75.0     59.9  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   800x600        72.2     75.0     60.3  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
DP1 disconnected
HDMI1 disconnected
HDMI2 connected 1680x1050+1680+0 474mm x 296mm
   1680x1050      60.0*+
   1600x1000      60.0 +
   1280x1024      75.0     72.0     60.0  
   1440x900       75.0     59.9  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   800x600        72.2     75.0     60.3  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
HDMI3 disconnected
VIRTUAL1 disconnected

No es una conexión HDMI, no sé por qué cree que lo es. Con la GPU, sabe que es DVI. De todos modos…

Este es el xorg.conf (si lo cambio, simplemente lo sobrescribe):

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "intel"
    Driver "intel"
    BusID "PCI:[email protected]:2:0"
    Option "AccelMethod" "SNA"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:[email protected]:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

Este es mi 10-monitors.conf archivo en /usr/share/X11/xorg.conf.d/ :

  GNU nano 2.2.6                                      File: /usr/share/X11/xorg.conf.d/10-monitors.conf                                                                                   

Section "Monitor"
    Identifier     "VGA1"
EndSection

Section "Monitor"
    Identifier     "HDMI2"
EndSection

Section "Device"
   Identifier      "intel0"
   Driver          "intel"
   BusID           "PCI:[email protected]:2:0"
EndSection

Section "Device"
   Identifier      "intel1"
   Driver          "intel"
   BusID           "PCI:[email protected]:2:0"
EndSection

Section "Screen"
   Identifier     "Screen0"
   Device         "intel0"
   Monitor        "VGA1"
   DefaultDepth   24
   SubSection     "Display"
      Depth       24
      Modes       "1680x1050" "1920x1080"
   EndSubSection
EndSection

Section "Screen"
   Identifier     "Screen1"
   Device         "intel1"
   Monitor        "HDMI2"
   DefaultDepth   24
   SubSection     "Display"
      Depth       24
      Modes       "1680x1050" "1920x1080"
   EndSubSection
EndSection

Esto todavía no permite que se depure mi código CUDA. Si ejecuto lsof /dev/nvidia* obtengo:

COMMAND  PID     USER   FD   TYPE  DEVICE SIZE/OFF  NODE NAME
compiz  1659 cinnamon  mem    CHR 195,255          11805 /dev/nvidiactl
compiz  1659 cinnamon  mem    CHR   195,0          11806 /dev/nvidia0
compiz  1659 cinnamon   11u   CHR 195,255      0t0 11805 /dev/nvidiactl
compiz  1659 cinnamon   12u   CHR   195,0      0t0 11806 /dev/nvidia0
compiz  1659 cinnamon   13u   CHR   195,0      0t0 11806 /dev/nvidia0
compiz  1659 cinnamon   14u   CHR   195,0      0t0 11806 /dev/nvidia0

Así que supongo que Compiz (¿servidor X?) todavía lo está usando. ¿Cómo hago para que deje de usarlo?

Relacionado:¿Problemas con Mscorefonts en Ubuntu?

Respuesta aceptada:

Tuve éxito con una configuración de dos monitores, con uno conectado a mi GPU ATI dedicada y el otro conectado a la iGPU i7-2600K.

Para hacerlo corrí

xrandr --setprovideroutputsource 1 0

Solía ​​​​funcionar sin problemas, pero todavía se considera experimental y con varias actualizaciones del kernel desde entonces YMMV.


Ubuntu
  1. Configurar un espacio de trabajo de Linux de forma remota desde la línea de comandos

  2. Cómo configurar Nginx para trabajar con PHP a través de PHP-FPM

  3. Bluetooth no funciona después de reanudar desde el modo de suspensión, ¿Ubuntu 18.04 Lts?

  4. Visualización de pantalla GNU + de PuTTY

  5. rx 560x más lento que el gpu vega integrado en fedora 28

Cómo configurar un dominio para que funcione con G Suite usando Remote MX Wizard

Actualizar de Ubuntu 14.04 a Ubuntu 14.10

¿Debería funcionar el arranque dual desde un disco duro de 4tb?

¿Actualización de 10.04 a 11.04?

Cómo configurar trabajos cron de cPanel desde WHM

¿Cómo configurar la dirección IP saliente de Exim desde WHM?