Настройте Xorg для работы от интегрированного GPU

Я использую Ubuntu 14.04LTS, с Intel CPU + интегрированная графика, с GTX650 GPU. Я задал этот вопрос на ТАК, но они сказали, что это был offtopic.

Я хочу использовать свой GPU для отладки кода 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 (это черно, но компьютер знает, что это там - зеленый свет идет и все мои окна, открытые на нем). Единственный способ заставить это работать состоит в том, чтобы подкачать Монитор 2 к VGA и Монитору 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, я не знаю, почему это думает, что это. С GPU это знает, что это - 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-сервер?) использует его все еще. Как я мешаю ему использовать его?

11
задан 5 January 2018 в 13:43

1 ответ

Я имел успех с установкой парного монитора с одним связанным с моим специализированным ATI GPU и другое связанное с i7-2600K iGPU.

, Чтобы сделать так, я работал

xrandr --setprovideroutputsource 1 0

, Это раньше работало безупречно, но это все еще считают экспериментальным, и с несколькими обновлениями ядра с тех пор YMMV.

0
ответ дан 23 November 2019 в 04:13

Другие вопросы по тегам:

Похожие вопросы: