Ich verwende Ubuntu 14.04LTS mit einer Intel-CPU + integrierter Grafik mit einer GTX650-GPU. Ich habe diese Frage auf SO gestellt, aber sie sagten, es sei nicht zum Thema.
Ich möchte meine GPU zum Debuggen von CUDA-Code verwenden und dafür muss ich die Anzeige auf nur integriert ändern. Dies ist der Fehler, den ich erhalte, wenn ich versuche, ihn derzeit zu debuggen:
"All cuda devices are used for display and cannot be used while debugging"
Ich ging ins BIOS und schaltete das primäre Display auf iGPU (das integrierte, HD4600). Aus den GPU-Anschlüssen kam nichts mehr (in Bezug auf die Anzeige) und ich habe meine Monitore an das Motherboard angeschlossen. Nur einer der Monitore funktioniert. Normalerweise habe ich sie wie:
|[Monitor 1, VGA]| |[Monitor 2, DVI]|
In dieser Konfiguration mit iGPU wird nichts auf Monitor 1 angezeigt (es ist schwarz, aber der Computer weiß, dass es da ist – das grüne Licht ist an und alle meine Fenster öffnen sich darauf). Die einzige Möglichkeit, es zum Laufen zu bringen, besteht darin, Monitor 2 auf VGA und Monitor 1 auf DVI umzustellen.
Wenn ich lspci | grep VGA
im Terminal bekomme ich das:
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)
Ausführen von xrandr
gibt mir:
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
Es ist keine HDMI-Verbindung, ich weiß nicht, warum es denkt, dass es eine ist. Mit der GPU weiß es, dass es DVI ist. Wie auch immer…
Dies ist die xorg.conf
(Wenn ich es ändere, wird es einfach überschrieben):
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
Dies ist meine 10-monitors.conf
Datei in /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
Dadurch kann mein CUDA-Code immer noch nicht debuggt werden. Wenn ich lsof /dev/nvidia* starte, erhalte ich:
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
Ich schätze also, Compiz (X-Server?) verwendet es immer noch. Wie kann ich verhindern, dass es verwendet wird?
Verwandte:Mscorefonts-Probleme in Ubuntu?Akzeptierte Antwort:
Ich hatte Erfolg mit einem Dual-Monitor-Setup, wobei einer mit meiner dedizierten ATI-GPU und der andere mit der i7-2600K iGPU verbunden war.
Dazu bin ich gelaufen
xrandr --setprovideroutputsource 1 0
Früher hat es einwandfrei funktioniert, aber es gilt immer noch als experimentell und mit mehreren Kernel-Upgrades seitdem YMMV.