Page 1 of 1

displaylink partial success

Posted: 2019/11/17 11:04:51
by maweos

i want to share a partial success for using displaylink graphics dongles on Centos8.

I have a notebook with Nvidia Optimus, showing the following graphics cards:

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile)
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)

Whatever i did, i never managed to get anything out of the notebooks HDMI port.
I do not need the 3D graphics performance of the Nvidia part, but i need to connect an external monitor.
So i got an USB external graphics card. Mine says Startech USB32DP4K, but there are probably many others.

Bus 002 Device 002: ID 17e9:4301 DisplayLink

So i need the displaylink driver.

Currently, there is no Centos8 version and no Centos8 support. But it somewhat works anyway.

I got the source RPM from ... m/releases for Centos7.
For me, this was file centos-7-displaylink-1.6.2-2.src.rpm

In the .spec file i replaced some symbols with the actual version numbers, and replaced "kernel-ml" to "kernel".
Version: 1.6.2
Release: 2
%global _daemon_version 5.2.14

"rpmbuild -ba displaylink.spec" successfully built the .rpm file.
I installed it with rpm-i displaylink-1.6.2-2.x86_64.rpm
Then i rebooted.

After that, the displaylink USB card was able to get the monitor out of sleep mode, but everything was black.

I changed the file /etc/X11/xorg.conf.d/20-displaylink.conf to the following (remove everything else):
Section "Device"
Identifier "DisplayLink"
Driver "modesetting"
Option "PageFlip" "off"

Reboot again.

Then xrandr can start the display:
Login as normal user:
Find out the names with "xrandr --query | grep conn" (names are at start of lines, your names are probably different):
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
HDMI-1 disconnected (normal left inverted right x axis y axis)
DVI-I-1-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 941mm x 529mm

(for mine, eDP-1 is the builtin screen, HDMI-1 is the nonfunctional port, DVI-I-1-1 is the USB displaylink card)

Configure the display:
xrandr --output eDP-1 --auto --output DVI-I-1-1 --auto --right-of eDP-1

After a few seconds the external monitor comes up with the desktop.

xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x8a cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 2 associated providers: 1 name:modesetting
Provider 1: id: 0x41 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting

Now the problem:
Each time i boot my notebook, the external display is gone again. The following command brings it back:

xrandr --output DVI-I-1-1 --auto --right-of eDP-1

Ps. i use the following additional kernel parameters:
rd.driver.blacklist=nouveau nouveau.modeset=0