Sto usando Ubuntu 14.04LTS, con una CPU Intel + grafica integrata, con una GPU GTX650. Ho fatto questa domanda su SO ma hanno detto che era offtopico.
Voglio usare la mia GPU per il debug del codice CUDA e per questo ho bisogno di cambiare la visualizzazione solo in integrata. Questo è l'errore che ottengo quando provo a eseguire il debug al momento:
"All cuda devices are used for display and cannot be used while debugging"
Sono entrato nel BIOS e ho cambiato il display principale in iGPU (quello integrato, HD4600). Non è più uscito nulla dalle porte GPU (in termini di visualizzazione) e ho collegato i miei monitor alla scheda madre. Funziona solo uno dei monitor. Normalmente li ho come:
|[Monitor 1, VGA]| |[Monitor 2, DVI]|
In quella configurazione, con iGPU, sul Monitor 1 non viene visualizzato nulla (è nero, ma il computer sa che è lì - la luce verde è accesa e tutte le mie finestre si aprono su di esso). L'unico modo per farlo funzionare è scambiare Monitor 2 con VGA e Monitor 1 con DVI.
Se lspci | grep VGA
entro nel Terminale, ottengo questo:
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)
Correre xrandr
mi dà:
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
Non è una connessione HDMI, non so perché pensa che lo sia. Con la GPU, sa che è DVI. Comunque...
Questo è il xorg.conf
(se lo cambio, lo sovrascrive):
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
Questo è il mio 10-monitors.conf
file 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: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
Ciò non consente ancora il debug del mio codice CUDA. Se eseguo lsof / dev / nvidia * ottengo:
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
Quindi suppongo che Compiz (server X?) Lo stia ancora usando. Come posso impedirgli di usarlo?
nvidia-debugdump -l -v -z
per vedere come il tuo sistema sta riconoscendo la tua scheda.