Difference between revisions of "DisplayLink"

From Ever changing code
Jump to navigation Jump to search
Line 119: Line 119:
</source>
</source>


= Issues - Ubuntu 20.04 =
= Issues =
== Ubuntu 20.04 ==
=== Kernel 5.11.x (fixed) ===
{{Note|The issue has been verified as fixed, tested with kernel <code>5.11.0-38-generic #42~20.04.1-Ubuntu SMP</code>, evid driver <code>/var/lib/dkms/evdi/1.9.1/</code> and the installer <code>displaylink-driver-5.4.1-55.174.run</code>}}
 
 
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.
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.
<source lang=log>
<source lang=log>
Line 139: Line 144:
Aug 19 08:01:34 laptop-1 systemd[1]: Stopped DisplayLink Driver Service.
Aug 19 08:01:34 laptop-1 systemd[1]: Stopped DisplayLink Driver Service.
</source>
</source>





Revision as of 14:41, 1 November 2021

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

Kernel 5.11.x (fixed)

Note: The issue has been verified as fixed, tested with kernel 5.11.0-38-generic #42~20.04.1-Ubuntu SMP, evid driver /var/lib/dkms/evdi/1.9.1/ and the installer displaylink-driver-5.4.1-55.174.run


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