Вторая видеокарта не имеет выхода

Я пытаюсь выявить причину перегрузки GPU, не работая с моим устройством NVidia GTX 750 Ti. Поэтому я пытаюсь запустить второй экземпляр X с этой видеокартой – основным является GTX 1070.

Я подключаю их к одному монитору – 1070 через DisplayPort, 750Ti через HDMI.

Загрузка Windows приводит к тому, что оба обнаружены и активированы, и я получаю выход через DisplayPort и HDMI.

При загрузке с использованием Linux 1070 работает без проблем. Обнаружен 750Ti:

# nvidia-smi -L GPU 0: GeForce GTX 1070 (UUID: GPU-a66c5cbb-a541-a3d7-845c-f8c0c021ae71) GPU 1: GeForce GTX 750 Ti (UUID: GPU-db546e26-f6d5-5345-45e4-434e0bfb4f62) 

и в программе настройки nvidia он отображается как подключенный к монитору.

Однако при запуске второго экземпляра Xorg я не получаю выход на порт HDMI.

Используемая мной команда

 sudo Xorg :2 vt8 -config xorg-second.conf -configdir conf.d 

где conf.d пуст, чтобы убедиться, что никакие другие настройки не применяются, а xorg-second.conf является довольно стандартным, кроме

 Section "Device" Identifier "Device0" Driver "nvidia" BusID "PCI:3:0:0" VendorName "NVIDIA Corporation" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "Coolbits" "4" SubSection "Display" Depth 24 EndSubSection EndSection 

чтобы убедиться, что правая видеокарта поднята.

Я пробовал коммутационные кабели, но это не помогло.

Почему вторая видеокарта не отправляет вывод на мой монитор и как я могу его исправить?


Изменить : Вот результат для xrandr для обоих экземпляров X:

 $ xrandr --display :1 Screen 0: minimum 8 x 8, current 2560 x 1440, maximum 32767 x 32767 DVI-D-0 disconnected (normal left inverted right x axis y axis) HDMI-0 disconnected (normal left inverted right x axis y axis) DP-0 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) DP-3 disconnected (normal left inverted right x axis y axis) DP-4 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 553mm x 311mm 2560x1440 59.95*+ 2048x1152 60.00 1920x1200 59.88 1920x1080 60.00 59.94 50.00 29.97 25.00 23.97 60.05 60.00 50.04 1680x1050 59.95 1600x1200 60.00 1280x1024 75.02 60.02 1280x720 60.00 59.94 50.00 1200x960 59.90 1152x864 75.00 1024x768 75.03 60.00 800x600 75.00 60.32 720x576 50.00 720x480 59.94 640x480 75.00 59.94 59.93 DP-5 disconnected (normal left inverted right x axis y axis) $ xrandr --display :2 Screen 0: minimum 8 x 8, current 2560 x 1440, maximum 16384 x 16384 DVI-I-0 disconnected primary (normal left inverted right x axis y axis) DVI-I-1 disconnected (normal left inverted right x axis y axis) HDMI-0 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 553mm x 311mm 2560x1440 59.95*+ 2048x1152 60.00 1920x1200 59.88 1920x1080 60.00 59.94 50.00 29.97 25.00 23.97 60.05 60.00 50.04 1680x1050 59.95 1600x1200 60.00 1280x1024 75.02 60.02 1280x720 60.00 59.94 50.00 1200x960 60.00 1152x864 75.00 1024x768 75.03 60.00 800x600 75.00 60.32 720x576 50.00 720x480 59.94 640x480 75.00 59.94 59.93 DP-0 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) 

Интересно отметить, что когда я запускаю xrandr --display :2 второй раз, он зависает. Конечные линии выхода strace :

 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 3 connect(3, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X2"}, 20) = 0 getpeername(3, {sa_family=AF_UNIX, sun_path=@"/tmp/.X11-unix/X2"}, [124->20]) = 0 uname({sysname="Linux", nodename="mars", ...}) = 0 access("/run/user/1000/gdm/Xauthority", R_OK) = 0 open("/run/user/1000/gdm/Xauthority", O_RDONLY) = 4 fstat(4, {st_mode=S_IFREG|0700, st_size=96, ...}) = 0 read(4, "\1\0\0\4mars\0\0\0\22MIT-MAGIC-COOKIE-1\0\20"..., 4096) = 96 close(4) = 0 getsockname(3, {sa_family=AF_UNIX}, [124->2]) = 0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR) fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{iov_base="l\0\v\0\0\0\22\0\20\0\0\0", iov_len=12}, {iov_base="", iov_len=0}, {iov_base="MIT-MAGIC-COOKIE-1", iov_len=18}, {iov_base="\0\0", iov_len=2}, {iov_base="\36\271\266\234:\323(\237\35y\334(X\37\32\10", iov_len=16}, {iov_base="", iov_len=0}], 6) = 48 recvfrom(3, 0x18dd330, 8, 0, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, -1 

Изменить 2

$ xset -display :2 q (только часть о DPMS)

 DPMS (Energy Star): Standby: 600 Suspend: 600 Off: 600 DPMS is Enabled Monitor is On 

Xorg log – https://pastebin.com/fK7g5VSd

One Solution collect form web for “Вторая видеокарта не имеет выхода”

В журнале вы можете видеть, что сервер at :2 также обнаруживает основную графическую карту GTX 1070 (GP104-A) at PCI:1:0:0 (GPU-1) . Этого не происходит в обычных X-драйверах – если вы скажете драйверу в xorg.conf использовать только PCI:3:0:0 , тогда он будет использовать эту карту только и никогда не увидит другую карту.

Поэтому единственное, что у меня есть, это то, что драйверы Nvidia с закрытым исходным кодом используют другую инфраструктуру (унифицированный драйвер ядра, очень похожий для Windows и Linux), драйверы Nvidia просто не предназначены для обработки такого рода ситуаций, или они справляются с этим иначе. До тех пор, пока вы используете драйверы с закрытым исходным кодом, вполне возможно, что один экземпляр драйвера ядра должен управлять всеми доступными картами, и все. И никто не тестировал несколько X-серверов для подключения к этому единственному экземпляру (в конце концов, Nvidia даже предоставляет только определенный для nvidia «TwinView» для нескольких экранов). Не говоря уже об использовании одного драйвера ядра для одной карты в виртуальной машине и другого драйвера ядра вне виртуальной машины.

И если вы не можете использовать драйверы nouveau , на самом деле этого не происходит.

Вы можете попробовать использовать определенные для Nvidia опции для 375.39 , например, установить ProbeAllGpus в FALSE для обоих серверов. Может быть, это помогает, может быть, и нет. Возможно, MultiGPU помогает, хотя я думаю, что это предназначено для другой ситуации.

Вы также можете попробовать ConnectedMonitor или UseDisplayDevice чтобы каким-то образом ограничить отображение.

Путем тестирования этой теории было бы использовать две карты Nvidia, которые также поддерживаются Nouveau, а затем посмотреть, можно ли заставить драйвер Nouveau работать таким образом. К сожалению, у меня нет оборудования для этого.

  • Не было обнаружено ошибок при запуске новой установки chroot debian wheezy с xfce gui
  • Как я могу получить свою карту памяти NVIDIA, оптимизированную для Optimus, для предоставления вывода через xrandr?
  • xorg: потерянное разрешение экрана после обновления Debian / Jessie
  • Уведомление об изменениях заголовка окна
  • Неожиданное завершение работы Arch Linux
  • UTF8 математические символы и раскладка клавиатуры / ввод
  • Является ли (wayland's) libinput чем-то новым, то есть не связанным с сервером X.Org?
  • Клавиша Numlock Num Lock для функции Caps Lock
  • Дистанционно отключить вывод дисплея?
  • ошибки с двумя мониторами при настройке разрешения
  • Как настроить параметры разрешения X
  • Linux и Unix - лучшая ОС в мире.