Verwenden eines Displaylink-Adapters mit dem Xorg-Modustreiber

1

Ich habe einen USB2-Displaylink-Adapter an meine Maschine angeschlossen, um den schönen zweiten Monitor zu nutzen, den ich hier habe. Die primäre Grafikkarte ist der gefürchtete Poulsbo, sodass Sie sich keine Sorgen um die Hardwarebeschleunigung machen müssen (Emacs macht sowieso keinen Unterschied ;-).

Also benutze ich eine triviale xorg.conf mit nur:

Section "Device"
    Identifier      "Video Device"
    driver          "modesetting"
EndSection

Der X-Server startet in Ordnung, aber nur die Hauptanzeige (d. H. Mit Poulsbo verbunden) wird verwendet. Die andere Karte wird erkannt (wie aus der Ausgabe von "xrandr --list-providers" hervorgeht), aber "nicht genug" (wie aus der Tatsache hervorgeht, dass in "xrandr" nur eine Ausgabe angezeigt wird):

% xrandr
Screen 0: minimum 320 x 200, current 1200 x 1600, maximum 4096 x 4096
DVI-0 connected 1200x1600+0+0 left (normal left inverted right x axis y axis) 432mm x 324mm
   1600x1200     60.00*+  54.88  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1152x864      75.00  
   1024x768      75.08    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       75.00    72.81    66.67    60.00  
   720x400       70.08  
% xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x77 cap: 0x0 crtcs: 2 outputs: 1 associated providers: 0 name:modesetting
Provider 1: id: 0x41 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
%

Die Xorg.0.log-Datei hat keine speziellen (WW) oder (EE), mit Ausnahme der erwarteten Glamour / Aiglx-Fehler. Der einzige andere Hinweis auf ein mögliches Problem ist, wenn ich "xinit" starte:

pci id for fd 10: 8086:8108, driver (null)
EGL_MESA_drm_image required.
MESA-LOADER: malformed or no PCI ID
gbm: failed to open any driver (search paths /usr/lib/i386-linux-gnu/dri:${ORIGIN}/dri:/usr/lib/dri)
gbm: Last dlopen error: /usr/lib/dri/udl_dri.so: cannot open shared object file: No such file or directory
failed to load driver: udl
EGL_MESA_drm_image required.
xf86: found device 1

Meine Frage lautet also: Wie kann ich die Ausgabe auf meiner zweiten (Displaylink) Karte aktivieren? Oder wo finde ich alternativ weitere Informationen (da mich die Websuche nirgendwo hinführt, weil das Schlüsselwort "modesetting" viele irrelevante Threads zu anderen Treibern enthält)?

Stefan
quelle

Antworten:

0

Der neue DisplayLink-Treiber (udldrmfb) sichert Ihre Grafikkarte. In meinem Fall möchte ich Intel DRI / OpenGL verwenden, aber USB für die Anzeige verwenden. udlfb ist alt und sollte auf die schwarze Liste gesetzt werden. Mit fbdev erhalten Sie keine Hardwarebeschleunigung.

Wenn der Computer vor dem Booten eingesteckt wird, funktioniert mein Bildschirm ohne xorg.conf

xrandr --listproviders
Provider 0: id: 0x48 cap: 0x9, Source Output, Sink Offload crtcs: 4 outputs: 5 associated providers: 1 name:Intel
Provider 1: id: 0xe8 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting

Ich wollte jedoch eine funktionierende Xorg.conf, damit ich sie mit Mali (ARM) auf einem Odroid, für das eine Xorg.conf erforderlich ist, optimieren / verwenden kann

BusID und kmsdev muss für Ihr spezielles Setup angepasst werden, siehe lspci und /sys/class/drm/. Der Abschnitt Monitor kann weggelassen werden, wenn Ihr Monitor eine ordnungsgemäße EDID hat.

Section "Device"
    Identifier  "inteldev"
    Driver      "intel"
    BusID       "PCI:0:2:0"
EndSection

Section "Device"
    Identifier  "usbdev"
    Driver      "modesetting"
    Option      "kmsdev" "/dev/dri/card0"
EndSection

Section "Monitor"
    Identifier "DVI-1-0"
    Option "PreferredMode" "1280x800"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "inteldev"
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "usbdev"
EndSection

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1"
    Option         "Xinerama" "0"
EndSection

Umgebung: Ubuntu 14.04.1, 3.19.0-9-generischer Kernel, Intel i7-4770R, Iris Pro 5200, Mimo USB-Bildschirm.

kevinf
quelle
Wir benötigen zwei Geräteteile, damit jeder Treiber weiß, welche Hardware zu steuern ist. Um einen Treiber zu laden, benötigen Sie einen Bildschirm. Bildschirme sind nur aktiv, wenn sie in einem Server-Layout konfiguriert wurden.
kevinf
Könnten Sie erklären, wie relevant das für meine Frage ist (wo beide Grafikkarten vom Modesetting-Treiber verwaltet werden sollen)?
Stefan
In meinen Tests würde das DisplayLink-Display NICHT mit beiden Anbietern funktionieren, die Modesetting betreiben (z. B .: Modesetting wird für Intel verwendet). Intel musste einen echten Treiber verwenden. Daraus schließe ich, dass Ihr Versuch unmöglich ist.
kevinf
Versuche meine Xorg.conf zu benutzen und setze das "inteldev" -Gerät ebenfalls auf Modesetting. Vielleicht klappt es mit deinem Setup. "Trivial Xorg.conf" von OP ist zu minimal, um Treiber für die richtige Hardware korrekt zu laden.
kevinf