Я использую Ubuntu 14.04LTS, с процессором Intel + интегрированная графика, с графическим процессором GTX650. Я задал этот вопрос на SO, но они сказали, что это оффтоп.
Я хочу использовать свой графический процессор для отладки кода CUDA и для этого мне нужно изменить отображение только на интегрированный. Это ошибка, которую я получаю, когда пытаюсь отладить ее сейчас:
"All cuda devices are used for display and cannot be used while debugging"
Я зашел в BIOS и переключил основной дисплей на iGPU (встроенный HD4600). Больше ничего не выходило из портов GPU (с точки зрения дисплея), и я подключил свои мониторы к материнской плате. Работает только один из мониторов. Обычно они у меня как:
|[Monitor 1, VGA]| |[Monitor 2, DVI]|
В этой конфигурации с iGPU на мониторе 1 ничего не отображается (он черный, но компьютер знает, что он там есть - горит зеленый свет, и все мои окна на нем открыты). Единственный способ заставить его работать, это поменять Monitor 2 на VGA и Monitor 1 на DVI.
Если я вхожу lspci | grep VGA
в терминал, я получаю это:
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)
Бег xrandr
дает мне:
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
Это не соединение HDMI, я не знаю, почему это так. С графическим процессором он знает, что это DVI. Тем не мение...
Это xorg.conf
(если я изменяю это, это просто перезаписывает это):
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
Это мой 10-monitors.conf
файл в /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
Это по-прежнему не позволяет отлаживать мой код CUDA. Если я запускаю lsof / dev / nvidia *, я получаю:
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
Поэтому я думаю, что Compiz (X-сервер?) Все еще использует его. Как я могу остановить это от его использования?
источник
nvidia-debugdump -l -v -z
как ваша система распознает вашу карту.Ответы:
Я добился успеха с настройкой двух мониторов: один подключен к моему выделенному графическому процессору ATI, а другой - к iGPU i7-2600K.
Для этого я побежал
xrandr --setprovideroutputsource 1 0
Раньше он работал безупречно, но все еще считается экспериментальным, и с тех пор несколько обновлений ядра YMMV.
источник