DisplayLink - Monitor

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche


Hier wird beschrieben, wie man für einen USB-Adapter mit DisplayLink-Chipsatz den Treiber einrichtet und einen dort angeschlossenen Monitor aktiviert.

Hardware

System:    Host: Tuxedo Kernel: 5.10.3-towo.3-siduction-amd64 x86_64 bits: 64 Desktop: KDE Plasma 5.20.4 
           Distro: siduction 13.1.0 Firestarter - kde - (201305211844) 
Machine:   Type: Laptop System: Notebook product: W230ST v: N/A serial: <superuser required> 
           Mobo: Notebook model: W230ST serial: <superuser required> BIOS: American Megatrends v: 4.6.5 date: 10/03/2013 
CPU:       Info: Quad Core model: Intel Core i7-4702MQ bits: 64 type: MT MCP L2 cache: 6 MiB 
           Speed: 1036 MHz min/max: 800/3200 MHz Core speeds (MHz): 1: 1036 2: 1022 3: 1011 4: 1003 5: 1023 6: 1000 7: 1009 
           8: 1005 
Graphics:  Device-1: Intel 4th Gen Core Processor Integrated Graphics driver: i915 v: kernel 
           Device-2: NVIDIA GK106M [GeForce GTX 765M] driver: N/A 
           Display: x11 server: X.Org 1.20.10 driver: modesetting unloaded: intel resolution: 1: 1920x1080~60Hz 
           2: 3840x1600~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics 4600 (HSW GT2) v: 4.5 Mesa 20.2.6 


Vorbereitung

Als erstes muss man sich den Treiber bei DisplayLink herunterladen. ( Release: 5.3.1 05 May 2020 )

https://www.displaylink.com/downloads/ubuntu


Damit der Treiber mit Kernel 5.9 und 5.10 funktioniert muss eine neue Version von edvi verwendet werden.

Dazu bei GitHub aus dem Branch 1.7.x den Code als zip-Datei herunterladen. ( Version 1.7.2 )

https://github.com/DisplayLink/evdi/tree/v1.7.x

Treiber patchen

Zuerst muss der Treiber entpackt und die Dateien aus der run-Datei extrahiert werden.

unzip 'DisplayLink USB Graphics Software for Ubuntu 5.3.1.zip'
chmod +x displaylink-driver-5.3.1.34.run
./displaylink-driver-5.3.1.34.run --noexec --keep

Danach entpackt man die evdvi-zip und komprimiert den Inhalt (ohne git-Dateien) des entstandenen Ordners als tar.gz

unzip evdi-1.7.x.zip  
tar --exclude ".travis.yml" --exclude ".git*" -zcvf evdi.tar.gz -C evdi-1.7.x/ .

Dann verschiebt man die Datei in den Ordner vom Treiber.

mv evdi.tar.gz displaylink-driver-5.3.1.34/

Treiber installieren

Falls noch nicht vorhanden, müssen zwei Pakete installiert werden.

apt install dkms libdrm-dev

Jetzt kann der Treiber installiert werden.

cd displaylink-driver-5.3.1.34
sudo ./displaylink-installer.sh install

X-Server einrichten

Da der Modesetting-Treiber verwendet wird, muss PageFlip deaktiviert werden. Dazu legt man eine Config-Datei mit diesem Inhalt an.

Section "Device"
  Identifier "DisplayLink"
  Driver "modesetting"
  Option "PageFlip" "false"
EndSection 

Die kommt entweder in den Ordner

/usr/share/X11/xorg.conf.d/20-evdidevice.conf

oder

/etc/X11/xorg.conf.d/20-evdidevice.conf

Eventuell muss noch nouveau geblacklistet werden. Siehe Dazu Arch-Wiki in den Quellenangaben.

Anschliessend am einfachsten einen Neustart durchführen.

Monitor einrichten

Jetzt kann getestet werden, ob die Anschlüsse am Adapter richtig erkannt werden.

$ xrandr --listproviders

Providers: number : 5
Provider 0: id: 0x45 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 3 associated providers: 1 name:modesetting
Provider 1: id: 0x146 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 2: id: 0x124 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 3: id: 0x102 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
Provider 4: id: 0xd3 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting

Der erste Eintrag ist mein Laptop-Bildschirm. Die anderen vier gehören zum Adapter (er hat aber nur zwei Anschlüsse).

Bei meiner Konfiguration ist der vierte Anschluss der richtige. Dieser wird hiermit aktiviert:

xrandr --setprovideroutputsource 4 0

Die 4 vor der 0 bedeutet, dass der externe Monitor der primäre Monitor sein soll. Jetzt kann geprüft werden, ob der Monitor erkannt wird.

$ xrandr 
Screen 0: minimum 320 x 200, current 3840 x 1600, maximum 16384 x 16384
eDP-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 282mm x 165mm
   1920x1080     60.00*+  59.97    59.96    59.93    40.00  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   ... snip ...
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
 VGA-1 disconnected (normal left inverted right x axis y axis)
 HDMI-1 disconnected (normal left inverted right x axis y axis)
 DVI-I-1-1 connected primary 3840x1600+0+0 (normal left inverted right x axis y axis) 880mm x 367mm
   3840x1600     59.99*+  30.00  
   2560x1600     59.97  
   1920x1080     60.00    59.94  
   1600x1200     60.00  
   1680x1050     59.95  
   ... snip ...
  800x600 (0x77) 40.000MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
        v: height  600 start  601 end  605 total  628           clock  60.32Hz
  640x480 (0x86) 25.175MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
        v: height  480 start  490 end  492 total  525           clock  59.94Hz

Jetzt den Monitor aktivieren:

xrandr --auto

Da das bei nach jedem Start gemacht werden muss, habe ich mir dafür ein Batch-Datei angelegt.

#!/bin/sh 
xrandr
xrandr --auto
exit

Die Einstellungen zum Monitor können jetzt über den Normalen Einstellungen-Dialog angepasst werden.

Probleme

Beim meinem Laptop darf ich den Bildschirm nicht zuklappen. Dann reagiert der Rechner nur noch extrem verzögert. Sobald ich den Bildschirm wieder aufklappe, geht wieder alles normal.

Hilfestellungen gibt es im Arch-Wiki

Bei mir funktioniert der Monitor auch nach einem Standby.

Quellen

DisplayLink-Forum: Patchen und Installation des Treibers

Arch-Wiki: Einrichtung X-Server