Porting the DisplayLink Ubuntu driver to other Linux distributions

This guide is designed to be a starting point to describe how the DisplayLink Ubuntu driver is packaged and how it can be modified or repackaged for other Linux distros.

Release components


The Ubuntu driver consists of an open-source kernel mode driver (EVDI) with an accompanying library (libevdi), and a supporting binary application compatible with Intel x86 or x64 platforms. Source code for the open-source components can be found at DisplayLink's GitHub.

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.

Modifying the driver


The installation shell script can be used to see the steps required to adapt for another distribution. The script shows where files should be placed after extracting, and it creates appropriate configuration files for the supporting DisplayLink Manager application to be started automatically when graphics environment is started. The supporting application for driving DisplayLink devices should be used unmodified on any Intel x86/x64 platform.

Supporting other distros will involve making sure the 
open source evdi driver works with the kernel version included by the distribution and the graphics environment it uses. The EVDI driver can be tested with the evdipp open source project to create an extended screen as a window.

Feedback and Knowledge Base