Налаштуйте Xorg для роботи з інтегрованого GPU


11

Я використовую 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 на Monitor 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-сервер?) Все ще використовує його. Як я не можу його використовувати?


1
Я припускаю, що ви використовуєте власні драйвери nvidia? Можливо, спроба різних версій могла б допомогти? (Спробуйте 384,387?) Також, з якою CUDA розробляєте? Я не пробував 14.04, але я використовую CUDA8.0.61 17.04 із 970M nvidia-384. (Тут немає iGPU)
Robobenklein

1
Також добре перевірити були б драйвери Intel xserver. Я б спробував з мінімальною кількістю підключених моніторів і переконатися, що елементи керування nvidia не активуються за допомогою Xserver. (Подивіться в утиліті Nvidia GUI, поки працює X, і подивіться, що там показано.) Також варто перевірити, nvidia-debugdump -l -v -zяк ваша система розпізнає вашу карту.
Robobenklein

Відповіді:


0

Я мав успіх у налаштуванні подвійного монітора: один підключений до мого виділеного ATI GPU, а інший підключений до i7-2600K iGPU.

Для цього я побіг

xrandr --setprovideroutputsource 1 0

Раніше вона працювала бездоганно, але вона все ще вважається експериментальною і з кількома оновленнями ядра з тих пір YMMV.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.