Estoy usando Ubuntu 14.04LTS, con una CPU Intel + gráficos integrados, con una GPU GTX650. Hice esta pregunta en SO pero me dijeron que no era un 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 obtengo 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 de la GPU (en términos de visualización) y conecté mis monitores a la placa base. Solo uno de los monitores funciona. 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 forma de hacerlo funcionar es intercambiar Monitor 2 a VGA y Monitor 1 a DVI.
Si entro 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)
Correr 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 todas formas...
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:0@0:2:0"
Option "AccelMethod" "SNA"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1@0: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:0@0:2:0"
EndSection
Section "Device"
Identifier "intel1"
Driver "intel"
BusID "PCI:0@0: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 mi código CUDA sea depurado. 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 evito que lo use?
fuente
nvidia-debugdump -l -v -z
su sistema reconoce su tarjeta.Respuestas:
He tenido éxito con una configuración de monitor dual, con una conectada a mi GPU ATI dedicada y la otra conectada 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 de kernel desde entonces YMMV.
fuente