DisplayLink

From Ever changing code
Jump to navigation Jump to search

Install - Ubuntu 16.04

Download binaries from official website.

#Verify device is recognised
sudo lsusb -d 17e9:
Bus 002 Device 002: ID 17e9:4301 DisplayLink
# install required packages
sudo apt-get install linux-generic-lts-xenial xserver-xorg-lts-xenial xserver-xorg-video-all-lts-xenial xserver-xorg-input-all-lts-xenial linux-signed-generic-lts-xenial dkms

wget ... && unzip ...
~/Downloads/DisplyLink$ sudo ./displaylink-driver-4.2.29.run 
Verifying archive integrity...  100%   All good.
Uncompressing DisplayLink Linux Driver 4.2.29  100%  
DisplayLink Linux Software 4.2.29 install script called: install
Distribution discovered: Ubuntu 16.04.4 LTS
WARNING: Version 1.5.0 of EVDI kernel module is already running.
Please uninstall all other versions of DisplayLink Linux Software before attempting to install.
Installation terminated.

Install - Ubuntu 16.04 (old)

sudo apt-get install linux-generic-lts-xenial xserver-xorg-lts-xenial xserver-xorg-video-all-lts-xenial xserver-xorg-input-all-lts-xenial
sudo apt-get install dkms
# define the version to get as the latest available version
version=`wget -q -O - http://www.displaylink.com/downloads/ubuntu | grep "download-version" | head -n 1 | perl -pe '($_)=/([0-9]+([.][0-9]+)+)/'`
# define download url to be the correct version
dlurl="http://www.displaylink.com/"`wget -q -O - http://www.displaylink.com/downloads/ubuntu | grep "download-link" | head -n 1 | perl -pe '($_)=/<a href="\/([^"]+)"[^>]+class="download-link"/'`
driver_dir=$version

Verify installed driver version

sudo displaylink-installer

Extracting the driver components

The Ubuntu driver components can be extracted for repackaging using the command:

./displaylink-driver-0.9.68.run --noexec --keep

The following files will be extracted:

  • ./
  • displaylink-installer.sh - The installation shell script.
  • evdi-1.0.68-src.tar.gz - The open source code, from GitHub
  • LICENSE
  • ella-dock-release.spkg - The firmware image for DL-3xxx and DL-5xxx devices. This will be programmed into the DisplayLink IC, if the current firmware version in the device does not match this version.
  • firefly-monitor-release.spkg - The firmeware image for DL-4xxx devices. This will be programmed into the DisplayLink IC, if the current firmware version in the device does not match this version.
  • ./x86 and ./x64
  • DisplayLinkManager - The user mode binary driver for DisplayLink devices
  • libevdi.so - The pre-built library taken from the open source evdi project code
  • libusb-1.0.so.0.1.0 - The standard, unmodified library to access our DisplayLink USB devices. The source code for this is also available.

Install - 18.04/20.04

New installer has been released. This requires to:

  • disconnect docking station
  • uninstall previous version of DisplayLink driver, then run the installer script
$ sudo ./displaylink-driver-5.3.0.28.run 
[sudo] password for pipaw: 
Verifying archive integrity...  100%   All good.
Uncompressing DisplayLink Linux Driver 5.3.0.28  100%  
DisplayLink Linux Software 5.3.0.28 install script called: 
Distribution discovered: Ubuntu 18.04.4 LTS

Installing

[ Installing EVDI ]
[[ Installing EVDI DKMS module ]]

Creating symlink /var/lib/dkms/evdi/1.7.0/source ->
                 /usr/src/evdi-1.7.0

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j8 KERNELRELEASE=5.3.0-51-generic all INCLUDEDIR=/lib/modules/5.3.0-51-generic/build/include KVERSION=5.3.0-51-generic DKMS_BUILD=1...
Signing module:
 - /var/lib/dkms/evdi/1.7.0/5.3.0-51-generic/x86_64/module/evdi.ko
Secure Boot not enabled on this system.
cleaning build area...

DKMS: build completed.

evdi.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.3.0-51-generic/updates/dkms/

depmod...

DKMS: install completed.
[[ Installing module configuration files ]]
[[ Installing EVDI library ]]
cc -I../module -std=gnu99 -fPIC    -c -o evdi_lib.o evdi_lib.c
cc evdi_lib.o -shared -Wl,-soname,libevdi.so.0 -o libevdi.so.1.7.0 -lc -lgcc 
cp libevdi.so.1.7.0 libevdi.so
[ Installing x64-ubuntu-1604/DisplayLinkManager ]
[ Installing libraries ]
[ Installing firmware packages ]
[ Installing licence file ]
[ Adding udev rule for DisplayLink DL-3xxx/4xxx/5xxx/6xxx devices ]
[ Adding upstart and powermanager sctripts ]

Please read the FAQ
http://support.displaylink.com/knowledgebase/topics/103927-troubleshooting-ubuntu

Installation complete!

Please reboot your computer if intending to use Xorg.
Xorg is running. Do you want to reboot now? (Y/n)

Issues - Ubuntu 20.04

With upgrade of Ubuntu Kernel 5.11.x EVDI module is not compiled or not included even if the drivers were (and are) working with Kernel 5.8.x.

sudo journalctl -u displaylink-driver.service
Aug 19 08:01:30 laptop-1 systemd[1]: Starting DisplayLink Driver Service...
Aug 19 08:01:30 laptop-1 sh[36568]: modprobe: FATAL: Module evdi not found in directory /lib/modules/5.11.0-27-generic
Aug 19 08:01:30 laptop-1 sh[36593]: Kernel preparation unnecessary for this kernel.  Skipping...
Aug 19 08:01:30 laptop-1 sh[36593]: Building module:
Aug 19 08:01:30 laptop-1 sh[36593]: cleaning build area...
Aug 19 08:01:33 laptop-1 sh[36593]: make -j8 KERNELRELEASE=5.11.0-27-generic all INCLUDEDIR=/lib/modules/5.11.0-27-generic/build/include KVERSION=5.11.0-2>
Aug 19 08:01:33 laptop-1 sh[36908]: .
Aug 19 08:01:33 laptop-1 sh[36593]: (bad exit status: 2)
Aug 19 08:01:34 laptop-1 sh[37340]: ERROR (dkms apport): binary package for evdi: 1.7.0 not found
Aug 19 08:01:34 laptop-1 sh[37392]: Error! Bad return status for module build on kernel: 5.11.0-27-generic (x86_64)
Aug 19 08:01:34 laptop-1 sh[37392]: Consult /var/lib/dkms/evdi/1.7.0/build/make.log for more information.
Aug 19 08:01:34 laptop-1 systemd[1]: displaylink-driver.service: Control process exited, code=exited, status=10/n/a
Aug 19 08:01:34 laptop-1 systemd[1]: displaylink-driver.service: Failed with result 'exit-code'.
Aug 19 08:01:34 laptop-1 systemd[1]: Failed to start DisplayLink Driver Service.
Aug 19 08:01:34 laptop-1 systemd[1]: Stopped DisplayLink Driver Service.


Workaround

Reboot > Esc to access GRUB Advanced Options > Select Kernel 5.8.x eg 5.8.0-63-generic #71~20.04.1-Ubuntu

Getting graphics card info

$ ~/Downloads $ inxi -G
Graphics:  Card-1: Intel UHD Graphics 620
           Card-2: NVIDIA GP108GLM [Quadro P500 Mobile]
           Display Server: x11 (X.Org 1.20.4 ) drivers: modesetting,nvidia (unloaded: fbdev,vesa,nouveau)
           Resolution: 1920x1080@59.98hz, 2560x1440@59.95hz, 2560x1440@59.95hz
           OpenGL: renderer: Quadro P500/PCIe/SSE2 version: 4.6.0 NVIDIA 430.40

$ ~/Downloads $ ubuntu-drivers list
nvidia-driver-430
nvidia-driver-390
...
nvidia-driver-396

Unistall

$ sudo displaylink-installer uninstall
DisplayLink Linux Software 5.1.26 install script called: uninstall
Distribution discovered: Ubuntu 18.04.2 LTS
Uninstalling
Removing EVDI from kernel tree, DKMS, and removing sources.
Stopping displaylink-driver systemd service
Removing suspend-resume hooks
Removing udev rule
Removing Core folder

Uninstallation steps complete.
Please note that the evdi kernel module is still in the memory.
A reboot is required to fully complete the uninstallation process.

Hardware

StarTech.com USB 3.0 to DisplayPort External Video Card Multi Monitor Adapter - USB to DP Adapter 2560x1600

Product code: USB32DPPRO

Issues

References