xorg multi-GPU - brak wprowadzania danych z klawiatury na drugim ekranie

0

Używam Ubuntu 19.04 (Disco) na maszynie z dwiema kartami graficznymi i trzema monitorami, NVidia 1080ti w górnym gnieździe i Vega 64 w dolnym gnieździe. Dwa monitory są podłączone do portów wyświetlania Vega 64, jeden HDMI w NVidia 1080ti.

Kiedy pozwolę Ubuntu na automatyczne wykrycie konfiguracji grafiki (bez pliku xorg.conf), wtedy Gnome rozciąga się na wszystkie trzy monitory i obie karty wideo w porządku, ale renderuje tylko na jednym z nich (innymi słowy, wszystko działa na portach wyświetlacza używa sterownika nvidia lub nouveau - tak jak renderowanie jest przekazywane).

Więc wymyśliłem plik xorg.conf (poniżej), który jest bliski temu, czego potrzebuję, ale ma kilka problemów. Największym z nich jest to, że kiedy uruchamiam Xterm na jednym z innych ekranów DISPLAY=:0.1 xterm, mysz działa dobrze, ale klawiatura nie działa. Ten plik jest bardzo podobny do tego, co Xorg -configuregeneruje. Co ja robię źle? Jak sprawić, by klawiatura działała w systemie Windows na Screen1lub Screen2?

Section "InputDevice"
    Identifier "keyboard0"
    Option "Device" "/dev/input/event10"
    Option "Xinerama" "On"
    Driver "evdev"
EndSection

Section "InputDevice"
    Identifier "mouse0"  
    Option "Device" "/dev/input/event4"
    Driver "evdev"
EndSection

Section "Monitor"
    Identifier "HDMI-1"
EndSection

Section "Monitor"
    Identifier "DisplayPort-3"
EndSection

Section "Monitor"
    Identifier "DisplayPort-4"
EndSection

Section "Device"
    Identifier "Device1"
    Driver "amdgpu"
    BusID "PCI:41:00"
EndSection

Section "Device"
    Identifier "Device0"
    Driver "nouveau"
    BusID "PCI:38:00"
EndSection

Section "Screen"
  Identifier "Screen0"
  Device "Device0"
  Monitor "HDMI-1"
EndSection

Section "Screen"
  Identifier "Screen1"
  Device "Device1"
  Monitor "DisplayPort-3"
EndSection

Section "Screen"
  Identifier "Screen2"
  Device "Device1"
  Monitor "DisplayPort-4"
EndSection

Section "ServerLayout"
  Identifier "seatx"
  Screen 0 "Screen0" 
  Screen 1 "Screen1" LeftOf "Screen0"
  Screen 2 "Screen2" RightOf "Screen0"
  InputDevice "Mouse0" "CorePointer"
  InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerFlags"
  Option "AutoAddGPU" "off"
  Option "AutoAddDevices" "false"
EndSection
Ćwiek
źródło
Pierwszym krokiem jest /var/log/Xorg.*.logsprawdzenie, co faktycznie robi serwer X.
bezpośrednio
Jaki jest powód posiadania dwóch fizycznych kart wideo? Czy faktycznie próbujesz uzyskać konfigurację wielostanowiskową? Kiedy mówiłeś „brak wprowadzania danych z klawiatury na drugim ekranie”, miałeś na myśli „brak wprowadzania danych z klawiatury na drugim siedzeniu ”? Dlaczego warto korzystać z Nouveau zamiast sterownika Nvidia? Powiedziałeś, że dwa monitory są podłączone do Vega. Ale czy dwa monitory nie mają żadnego renderowania? Wygląda na to, że w przypadku Nouveau problem dotyczy tylko jednego monitora HDMI.
ezst036
(komentarz ezst036, ciąg dalszy): Kiedy powiedziałeś „ale renderuje tylko na jednym z nich”, jeśli próbujesz stworzyć system wielostanowiskowy, czy miałeś na myśli, że ekran logowania (W tym przypadku GDM) wyświetla się tylko na jednym ekranie ? Oczekujesz wielu loginów? Jestem ciekawy, czy poszczególne karty działają same. Innymi słowy, jeśli podłączysz wszystkie trzy monitory do jednej karty wideo i wyjmiesz drugą kartę. Czy wszystko działa (renderowanie itp.) Samo w sobie zgodnie z oczekiwaniami na AMD? Czy wszystko działa zgodnie z oczekiwaniami, tylko na Nvidii?
Jeff Schaller
Wybacz mi, że zbyt długo odpowiadam. Ostatecznym celem jest konfiguracja wielostanowiskowa, ale na razie robię tylko jedno miejsce z dwiema kartami. Z tylko kartą AMD i niczym więcej, wszystkie trzy monitory działają automatycznie, więc nigdy nie próbowałem zbudować do tego ręcznej konfiguracji xorg. Przy obu kartach, po majstrowaniu przy niektórych ustawieniach (ale nie wiem, która), udało mi się uruchomić automatyczną konfigurację.
Brad
A przez „pracę” rozumiem środkowe wyjście HDMI podłączone do karty NVidia renderuje na karcie NVidia, a boczne wyjścia DisplayPort podłączone do karty AMD renderują na karcie AMD. Przed tym, co otrzymałem, była jakaś konfiguracja „pass-through”, w której wyświetlało się wyjście wideo, ale każde renderowanie 3D było tylko na karcie NVidia, bez względu na to, które wyjście.
Brad

Odpowiedzi:

0

Dziękujemy za dodatkowe informacje. Wygląda na to, że problem z renderowaniem został rozwiązany po dodatkowych próbach, a klawiatura (która jest głównym problemem nagłówka) nie została wymieniona, więc czy rozwiązano to również w przypadku nowych zmian? Multiseat to głównie to, z czym mam do czynienia i wydaje się, że jest to jedyny nierozwiązany problem, więc oto moja odpowiedź:

Ponieważ multiseat jest twoim ostatecznym celem, sugerowałbym pominięcie pliku xorg.conf w tym czasie. xorg.conf to najtrudniejszy sposób na uruchomienie wielu stron. Powiedziałeś, że zainstalowałeś Ubuntu, który jest fabrycznie wyposażony w systemd, który ma narzędzia loginctl. Możesz skonfigurować stanowiska za pomocą loginctl za pomocą kilku poleceń.

Aby utrzymać tę odpowiedź w czystości, odłożę się na wiki Debiana „Multi_Seat_Debian_HOWTO” (której jestem redaktorem) w celu uzyskania bardziej szczegółowych instrukcji. Ubuntu jest oparte na Debianie, więc jest takie samo.

Lub możesz po prostu użyć mojego programu EasySeats do stworzenia miejsc.

Mam nadzieję, że można to teraz oznaczyć jako odpowiedź / rozwiązanie. Niestety nie mam wystarczającej reputacji, aby najpierw zadać kolejne pytanie jako komentarz. Sprawdzę później, aby upewnić się, że wszystko jest w porządku.

ezst036
źródło
Witamy w Stack Exchange. Proszę nie „odraczać” odpowiedzi na zasoby zewnętrzne. Opublikuj odpowiedź tutaj (wyobraź sobie, że dokument „HOWTO” może kiedyś zniknąć). Jeśli kopiujesz informacje z zewnętrznego zasobu, opublikuj link do niego. Jeśli jesteś oryginalnym autorem informacji, nie musisz zamieszczać linku, ale warto to zrobić. (Jeśli nie zidentyfikujesz się jako osoba powiązana z HOWTO, ludzie mogą podejrzewać, że ją plagiatowałeś.)… (Ciąg dalszy)
Scott
(Ciąg dalszy)… Ponadto, jeśli zamierzasz wspomnieć o swoim programie (i jesteś pewien, że jest on odpowiedni, a nie promujesz się), podaj krótkie wyjaśnienie, w jaki sposób Brad może go użyć do rozwiązania swojego problem.
Scott
loginctl rozwiązuje problem. Wydaje się, że Ubuntu ma obsługę automatycznych wielostanowisk ... Chciałbym wiedzieć, jak to zrobić ręcznie, jak lubię majsterkować, ale jeśli to działa, to działa.
Brad